Skip to content

Latest commit

Β 

History

History
559 lines (436 loc) Β· 67 KB

File metadata and controls

559 lines (436 loc) Β· 67 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

17.18.3 (2026-04-07)

Bug Fixes

17.18.2 (2026-03-15)

Bug Fixes

  • deparser: preserve parentheses around binary expressions in unary operators (f1c577a), closes #285

17.18.1 (2026-03-15)

Bug Fixes

  • ci: add back pg-proto-parser to test matrix, include merge artifacts from main (7ddf9d9)
  • deparser: emit EXCLUDE clause in window frame specifications (fc7911a)
  • deparser: fix 5 bugs causing 30 test failures (9136a4a)

17.18.0 (2026-03-04)

Bug Fixes

  • revert deparser keywords.ts to original default path (d9804c7)

Features

  • create @pgsql/quotes package for PostgreSQL identifier quoting and keyword classification (3c263dd)

17.17.2 (2026-01-07)

Note: Version bump only for package pgsql-deparser

17.17.1 (2026-01-05)

Bug Fixes

  • deparser: quote schema name in CreateSchemaStmt (c427d0f)

17.17.0 (2026-01-01)

Bug Fixes

Features

  • pgsql-deparser: add pretty-printing for INSERT VALUES and ON CONFLICT SET (6428b87)

17.16.0 (2025-12-31)

Features

  • deparser: add pretty printing for CREATE FUNCTION params and RETURNS TABLE (9dda8d1)

17.15.2 (2025-12-27)

Note: Version bump only for package pgsql-deparser

17.15.1 (2025-12-27)

Note: Version bump only for package pgsql-deparser

17.15.0 (2025-12-25)

Features

  • deparser: add type-name quoting policy for minimal quoting in type positions (9104bf3)

17.14.0 (2025-12-25)

Features

  • add pretty fixtures for quoting and formatting behaviors (aba85ef)
  • add relaxed quoting for qualified name tails (ef51c09)
  • implement quoteDottedName for relaxed quoting after dots (4c81523)

17.13.0 (2025-12-24)

Bug Fixes

  • don't quote type names - they are not identifiers (b85dacf)
  • update keywords.ts generator to include Set type annotations (fb6d159)

Features

17.12.2 (2025-12-11)

Note: Version bump only for package pgsql-deparser

17.12.1 (2025-11-23)

Note: Version bump only for package pgsql-deparser

17.12.0 (2025-11-23)

Note: Version bump only for package pgsql-deparser

17.11.1 (2025-08-08)

Note: Version bump only for package pgsql-deparser

17.10.0 (2025-07-23)

Features

  • make pretty print the default option (71eba83)

17.9.1 (2025-07-17)

Note: Version bump only for package pgsql-deparser

17.9.0 (2025-07-01)

Bug Fixes

  • add COLLATE clause support to ALTER TABLE ADD COLUMN (b778ed0)
  • correct ALTER TABLE ADD IDENTITY column generation (590e82f)

Features

  • add multi-line pretty formatting for ALTER TABLE statements (cb2ba9f)
  • implement pretty printing for ALTER TABLE ADD COLUMN statements (65a0002)

17.8.5 (2025-07-01)

Note: Version bump only for package pgsql-deparser

17.8.4 (2025-07-01)

Note: Version bump only for package pgsql-deparser

17.8.3 (2025-06-27)

Bug Fixes

  • improve CREATE TABLE constraint indentation using proper context indentLevel (22d5915)
  • update formatWindowFrame and deparseOperatorName to accept context parameters (18236c0)
  • update RenameStmt to pass objtype when spawning AlterTypeStmt context (14326c3)

Features

  • improve indentation for boolean expressions and SELECT clauses (6cc2f4e)
  • make SqlFormatter private and add context-aware indentation (2a76b3d)

17.8.2 (2025-06-26)

Reverts

  • Revert "Fix CHECK constraint closing parenthesis alignment" (e247c55)

17.8.1 (2025-06-23)

Note: Version bump only for package pgsql-deparser

17.8.0 (2025-06-23)

Note: Version bump only for package pgsql-deparser

17.7.2 (2025-06-23)

Note: Version bump only for package pgsql-deparser

17.7.1 (2025-06-23)

Note: Version bump only for package pgsql-deparser

17.7.0 (2025-06-23)

Note: Version bump only for package pgsql-deparser

17.6.2 (2025-06-22)

Note: Version bump only for package pgsql-deparser

17.6.1 (2025-06-22)

Note: Version bump only for package pgsql-deparser

17.6.0 (2025-06-22)

Note: Version bump only for package pgsql-deparser

17.5.0 (2025-06-22)

Note: Version bump only for package pgsql-deparser

17.4.2 (2025-06-22)

Bug Fixes

  • add test back (d44ab3f)
  • async forEach bug in test framework preventing error catching (01b01d8)
  • quotes (fac64e9)

Features

  • implement automatic E-prefix detection for escaped string literals (e029f29)

17.4.1 (2025-06-21)

Note: Version bump only for package pgsql-deparser

17.4.0 (2025-06-21)

Code Refactoring

  • deparser: improve entry point handling with proper type guards (a240d13)

Features

  • deparser: add ParseResult support, array handling, and configurable function delimiters (1815fff)

BREAKING CHANGES

  • deparser: Removed unused stmt() and version() methods. Use deparse() with appropriate node types instead.

The deparser now properly handles:

  1. ParseResult from libpg-query (bare or wrapped)
  2. Wrapped RawStmt nodes
  3. Arrays of Nodes
  4. Single Node statements

Note: ParseResult.stmts contains RawStmt objects directly (not wrapped as nodes)

17.2.0 (2025-06-21)

Code Refactoring

  • deparser: improve entry point handling with proper type guards (a240d13)

Features

  • deparser: add ParseResult support, array handling, and configurable function delimiters (1815fff)

BREAKING CHANGES

  • deparser: Removed unused stmt() and version() methods. Use deparse() with appropriate node types instead.

The deparser now properly handles:

  1. ParseResult from libpg-query (bare or wrapped)
  2. Wrapped RawStmt nodes
  3. Arrays of Nodes
  4. Single Node statements

Note: ParseResult.stmts contains RawStmt objects directly (not wrapped as nodes)

17.1.0 (2025-06-21)

Bug Fixes

  • achieve 97.4% pass rate by resolving CreateFunctionStmt DefElem List handling (23725bb)
  • add A_Expr_Kind and DropBehavior type annotations to resolve remaining TypeScript compilation errors (5a0e97e)
  • add accessMethod support to CreateStmt for USING clauses in CREATE TABLE statements (712069b)
  • add ALTER CONVERSION schema handling (378e8a7)
  • add ALTER OPERATOR FAMILY schema handling (80c118f)
  • add ALTER OPERATOR schema handling (7127f83)
  • add ALTER TEXT SEARCH CONFIGURATION schema handling (c9ce6f9)
  • add ALTER TEXT SEARCH DICTIONARY schema handling (62934bf)
  • add ALTER TEXT SEARCH PARSER schema handling (4638cbd)
  • add ALTER TEXT SEARCH TEMPLATE schema handling (838e145)
  • add ALTER TYPE schema handling (8b9322b)
  • add AlterDomainStmt subtypes O, N, T for SET/DROP NOT NULL and SET/DROP DEFAULT operations (c7b6a87)
  • add AlterFunctionStmt support to DefElem for proper function option handling (63fb427)
  • add AS keyword to Alias method for proper table alias formatting - resolves INSERT AS alias issues (c0e4463)
  • add AT TIME ZONE infix syntax preservation for pg_catalog.timezone function calls (ed94b0c)
  • add bpchar support to TypeCast :: syntax - improves char type handling (35e6882)
  • add CASCADE boolean flag handling and prevent alias double-quoting (9431f36)
  • add CASCADE/RESTRICT behavior handling to AT_AddColumn (8624053)
  • add CASCADE/RESTRICT behavior handling to AT_AlterColumnType (6aae957)
  • add CASCADE/RESTRICT behavior handling to RenameStmt (debca4c)
  • add COERCE_SQL_SYNTAX support for is_normalized, normalize, and system_user functions (55cab49)
  • add COLLATE clause support to ColumnDef and fix CollateClause quoting (d9351ff)
  • add CollateClause parentheses and DefineStmt OBJECT_COLLATION support - maintained 69 failed test suites with no regressions (601197b)
  • add column number support in AT_SetStatistics case (1401e66)
  • add COMMENT ON TRIGGER syntax support (8f6326e)
  • add comprehensive ALTER OWNER support for text search objects and operator family/class items (fa39543)
  • add comprehensive type alias mappings for PostgreSQL internal types (ce5df2f)
  • add CONSTR_EXCLUSION support for EXCLUDE USING constraints (3802040)
  • add CREATE AGGREGATE ORDER BY pattern handling (a9ddd22)
  • add CREATE OPERATOR parameter quoting and CREATE INDEX opclassopts support (11b5fdc)
  • add CTE materialization clause support in CommonTableExpr method (62993aa)
  • add DATABASE object type support to GrantStmt method - resolves missing DATABASE keyword in grant statements (c778b99)
  • add DefElem connectionlimit support for CREATE ROLE statements (af6259f)
  • add direct ObjectWithArgs handling for COMMENT ON OPERATOR statements (42102ca)
  • add empty parentheses support for CompositeTypeStmt (697b27c)
  • add IF EXISTS clause support to AlterObjectSchemaStmt (f6cd8fb)
  • add IF EXISTS support to ALTER TABLE DROP operations (6da4895)
  • add INCLUDING ALL special case handling for TableLikeClause (0961f10)
  • add Integer node handling for SET TRANSACTION boolean options (bd4ae81)
  • add JOIN alias support with parentheses wrapping (79cd1ca)
  • add join_using_alias support in JoinExpr method (819a5ce)
  • add LANGUAGE and FUNCTION object type support to GrantStmt (2b79fc3)
  • add List handling for ALTER OPERATOR DefElem arguments - resolves commutator operator name parsing to achieve 96.9% pass rate (639a043)
  • add minus operator to pure operator regex for ALTER OPERATOR statements (e93e5d5)
  • add missing AlterTypeStmt method to deparser (7178604)
  • add missing CONSTR_IDENTITY and partbound handling in deparser (6151157)
  • add missing CONSTR_IDENTITY constraint type support for GENERATED ALWAYS AS IDENTITY columns (f4a9ba3)
  • add missing ON COMMIT clause handling to CreateTableAsStmt - resolves temp test failure (c2ad00b)
  • add missing PartitionCmd node type handler for ALTER TABLE partition operations (c045307)
  • add missing SET option support to GrantRoleStmt method (81d928d)
  • add missing StatsElem method for CREATE STATISTICS statements (1945eab)
  • add NATURAL JOIN support to JoinExpr method (c3b3bf2)
  • add necessary enum type annotations to resolve TypeScript compilation errors (4461136)
  • add NO INHERIT support to CHECK constraints in Constraint method (eec4c0e)
  • add null safety checks to DeleteStmt for WITH RECURSIVE handling (d83e6f9)
  • add NULLS NOT DISTINCT clause support to IndexStmt method (9e7f1c7)
  • add OBJECT_ATTRIBUTE support to RenameStmt (6f7ef9d)
  • add OBJECT_DOMAIN support to AlterOwnerStmt for ALTER DOMAIN OWNER TO statements (e1a1acd)
  • add OBJECT_FDW support to CommentStmt for FOREIGN DATA WRAPPER syntax (d16f187)
  • add OBJECT_PROCEDURE support in AlterFunctionStmt (455bbb0)
  • add OBJECT_PROCEDURE support in GrantStmt (f63ae55)
  • add OBJECT_STATISTIC_EXT case to CommentStmt for COMMENT ON STATISTICS (77a6478)
  • add OBJECT_TABCONSTRAINT support to RenameStmt method (fe5a34a)
  • add OBJECT_TYPE support to AlterOwnerStmt for ALTER TYPE ... OWNER TO statements (5342396)
  • add OBJECT_TYPE support to AlterTableStmt (3b63d98)
  • add OBJECT_VIEW support in RenameStmt OBJECT_COLUMN case (a4bf45d)
  • add ON CONFLICT WHERE clause and MultiAssignRef support (886b560)
  • add optional trim character support to TRIM function SQL syntax (e45214e)
  • add OR REPLACE support for CREATE AGGREGATE statements in DefineStmt (2858fbf)
  • add ORDER BY syntax support for ordered-set aggregates in CREATE AGGREGATE (ea3f4cd)
  • add OVERLAPS operator infix syntax support in FuncCall method (031c1f7)
  • add partition specification support to CREATE TABLE statements (bd8e83b)
  • add proper identity column options formatting in CONSTR_IDENTITY case (d24d0be)
  • add proper quoting for column names in IndexElem method (d861ec0)
  • add proper quoting for FDW option names containing spaces or special characters in DefElem method (03610fd)
  • add proper single quote handling for enum values in CreateEnumStmt (d9115ba)
  • add REFERENCING clause support to CreateTrigStmt deparser (d1bed92)
  • add RENAME ATTRIBUTE clause for OBJECT_ATTRIBUTE (f37925f)
  • add reserved word 'all' to SET statement value quoting (51a2644)
  • add SET TRANSACTION ISOLATION LEVEL support (d6dba1e)
  • add SUBSTRING, POSITION, and OVERLAY special SQL syntax handling in FuncCall method (1d0b11d)
  • add TEMPORARY keyword support in CreateTableAsStmt method (8c28a9e)
  • add TEMPORARY keyword support to CreateSeqStmt method (a5e2a55)
  • add timestamp type aliases and CREATE TABLE WITH options support (1ee5d40)
  • add timestamptz precision modifier placement - precision goes before 'with time zone' (23572d3)
  • add TYPE and DOMAIN object type support to GrantStmt (8dc8f1e)
  • add undefined node filtering to CreateSeqStmt options processing (7efaa81)
  • add USING clause support to ALTER COLUMN TYPE statements (cdeb99a)
  • add USING clause support to CreateTableAsStmt for materialized views (9efc683)
  • add USING clause support to JoinExpr method (c1085b2)
  • add USING INDEX clause support for UNIQUE constraints (21cdc6d)
  • add VARIADIC parameter duplication for ordered-set aggregates (0588fe0)
  • add WHERE clause support to ON CONFLICT statements (a424e69)
  • add wildcard (*) support for COMMENT ON AGGREGATE statements (e43181d)
  • add wildcard (*) support for CREATE AGGREGATE statements (ae80299)
  • add WITH ADMIN FALSE support to GrantRoleStmt (d39b4c5)
  • add WITHIN GROUP clause support for aggregate functions (41cd750)
  • AlterTSConfigurationStmt dictionary mapping syntax - improve pass rate to 93.3% (11 failed, 152 passed) (ddeb4d6)
  • attempt to preserve char syntax in TypeCast context (a3104d4)
  • call WithClause method directly in SelectStmt to resolve missing WITH keyword issue (aff80b9)
  • change SET statement syntax from = to TO and improve quote handling (0bab0e3)
  • consolidate duplicate CONSTR_IDENTITY cases in Constraint method (291e563)
  • continue CREATE OPERATOR DefElem improvements - work in progress (c03e3c8)
  • correct canlogin role option to use LOGIN instead of CANLOGIN (a77a4c1)
  • correct CommentStmt object name handling to use dot-separated identifiers (53cf219)
  • correct DeclareCursorStmt cursor options bitmask decoding (45c8a13)
  • correct DeclareCursorStmt SCROLL option bit flag mapping (0e95175)
  • correct DeclareCursorStmt WITH HOLD bitmask from 16 to 32 - improves pass rate to 94.5% (9 failed, 154 passed) (1cd3230)
  • correct DROP POLICY syntax handling and improve WindowDef parentheses logic (e74ad29)
  • correct FetchStmt direction and ALL handling logic (1198c3b)
  • correct GrantStmt objtype handling for regular GRANT/REVOKE statements (b3809dc)
  • correct interval type field specification formatting (675745b)
  • correct interval type modifier mapping - resolve 2048 -> minute instead of hour to second (0dc8629)
  • correct LockStmt lock mode array indexing - PostgreSQL uses 1-based mode values (1-8) not 0-based (0-7) (621a681)
  • correct LockStmt lock mode mapping - revert to original PostgreSQL order (58d6009)
  • correct LockStmt lock mode mapping - swap SHARE and SHARE UPDATE EXCLUSIVE positions (05322c1)
  • correct REPLICATION role option handling in DefElem method (1c72d8b)
  • correct TableLikeClause bitfield mapping for INCLUDING options (6621876)
  • correct timetz type modifier placement - precision goes before 'with time zone' (9f6ec6d)
  • CREATE OPERATOR DefElem case preservation and update TESTS.md with accurate full test suite status (29 failed, 323 passed, 91.8% pass rate) (fa60814)
  • CREATE TABLE WITH options DefElem context handling (064eb06)
  • CreateForeignTableStmt context - pass proper parentNodeTypes when visiting relation (dc75030)
  • enhance Constraint method with domain context handling and CONSTR_GENERATED support (634fb4b)
  • enhance DeleteStmt and deparseReturningList with comprehensive error handling (d6eadbf)
  • enhance JOIN alias handling for nested cases (5aa8768)
  • enhance RangeFunction with comprehensive null safety and nested List handling (d270416)
  • enhance RangeFunction with undefined node filtering and error handling (21c79e7)
  • expand needsQuotes logic to handle all-uppercase identifiers (df6c0f1)
  • extend DEFERRABLE constraint support to PRIMARY KEY and UNIQUE constraints (b24a7eb)
  • handle ALTER TYPE syntax correctly (4b5aacd)
  • handle empty object structures in A_Const to resolve INSERT statement [object Object] issues (6dd0b38)
  • handle FETCH RELATIVE with undefined howMany - defaults to 0 for proper syntax preservation (051bc90)
  • handle List nodes properly in AT_SetOptions and AT_ResetOptions (fe919e3)
  • handle nested ival structure in SET TRANSACTION boolean options (8707e0b)
  • implement case sensitivity preservation in String method and QuoteUtils (e786823)
  • implement context-aware string handling for GrantStmt and DefElem (db5ed0b)
  • implement direct OVER clause formatting in FuncCall method to resolve window function parentheses issue (14f3cbf)
  • implement GrantStmt object type handling and remove inappropriate behavior clauses (16fccf9)
  • implement proper context passing for ALTER TYPE operations (a1ce6e0)
  • implement proper DROP POLICY syntax and add parentheses to WindowDef OVER clauses (43e4d53)
  • implement proper MultiAssignRef detection for multi-column assignments (818ef09)
  • implement proper object type handling in GrantStmt for ACL_TARGET_ALL_IN_SCHEMA (a94da24)
  • implement REVOKE INHERIT OPTION FOR syntax in GrantRoleStmt and update TESTS.md with verified full test suite status (30 failed, 322 passed, 91.5% pass rate) (56ec13f)
  • implement standard SQL CAST() syntax in TypeCast method - major improvement from 84β†’70 failed test suites (9162d29)
  • improve A_Const method with better null handling and object structure edge cases (52e0a93)
  • improve alias column name quoting to prevent double-quote issues (6795135)
  • improve AST mismatch handling in deparser (6fdda56)
  • improve COMMENT ON CONSTRAINT handling for table constraints (0ef047b)
  • improve CommentStmt object type mapping and AlterEnumStmt string escaping (16dbfc3)
  • improve CommentStmt string escaping for single quotes in multi-line comments (f2ff00e)
  • improve CREATE TYPE DefElem context handling for Integer and TypeName nodes (e671e8d)
  • improve GrantRoleStmt admin option handling (277fd25)
  • improve GrantRoleStmt admin option handling and AlterRoleStmt GROUP/ROLE detection (b9543c9)
  • improve interval field mapping with single modifier handling - address SELECT '999'::interval second parsing (2e65aee)
  • improve interval type modifier mapping and precision handling (033e2b9)
  • improve plpgsql compatibility with orderedarray type casting and quoted parameter names (dbac0c5)
  • improve SET TRANSACTION statement formatting (cc52244)
  • improve type modifier filtering in formatTypeMods method (faaf617)
  • improve TypeCast and TypeName for built-in types (66068e2)
  • improve undefined node filtering in AlterSeqStmt method (8311757)
  • improve varchar and interval type handling in TypeName method (6770195)
  • include OBJECT_MATVIEW in AlterObjectSchemaStmt relation handling - resolves missing table name in ALTER MATERIALIZED VIEW SET SCHEMA statements (c3e66de)
  • include USING clause for all access methods in IndexStmt (12f7e30)
  • inline RangeVar and RoleSpec wrapped nodes to resolve TypeScript compilation errors (78a8600)
  • make file operations Windows-compatible (6edf87f)
  • only output CASCADE for ADD operations, not RESTRICT (6c785a6)
  • only output CASCADE for ALTER COLUMN TYPE, not RESTRICT (5b49db4)
  • only output CASCADE for RENAME operations, not RESTRICT (94e1521)
  • preserve :: syntax for char types in TypeCast method (00b3151)
  • preserve identifier quoting for PostgreSQL keywords in TypeName method (03ab203)
  • preserve namespace prefixes in DefElem for ALTER TABLE SET options (19f0c48)
  • preserve parentheses around SELECT statements in UNION ALL operations (5396b08)
  • preserve quoted case for CREATE OPERATOR boolean flags (Hashes, Merges) (7d1df28)
  • preserve quoted CREATE TYPE attribute names like "Passedbyvalue" (6ad41c0)
  • preserve quoted identifiers in ALTER SEQUENCE OWNED BY clause (e05874a)
  • preserve quoted identifiers in CREATE AGGREGATE DefineStmt (dc907bc)
  • preserve single quotes for String literals in CREATE AGGREGATE DefineStmt (6e26233)
  • preserve traditional char 'value' syntax for pg_catalog.bpchar typecasts - resolves char test suite (78d6ca9)
  • prevent ONLY keyword for ALTER TYPE operations in RenameStmt (84d55a2)
  • prevent quoting of operator symbols in CREATE OPERATOR statements (09fd5aa)
  • prevent quoting of operator symbols in ObjectWithArgs (4a2185e)
  • remove extra spaces around parentheses in CREATE TYPE DefineStmt (a6e61c0)
  • remove extra spaces in ObjectWithArgs parentheses formatting (2a23998)
  • remove ObjectWithArgs exception from String method and RESTRICT keyword from DropStmt to resolve schema name quoting and DROP FUNCTION test failures (9485ee1)
  • remove RangeVar wrappers and inline node properties across all test files (41a98bf)
  • remove RoleSpec wrappers and inline node properties across test files (b9f7151)
  • remove unnecessary enum type casting from test files (bcb4fc0)
  • remove unnecessary quotes from pg_catalog.char type name (51320c7)
  • resolve A_Indirection and ResTarget field access handling - improved from 70β†’69 failed test suites (70cad69)
  • resolve AccessPriv column name quoting in GRANT statements - improved from 62β†’61 failed test suites (1a9a785)
  • resolve ALTER DOMAIN schema.domain name formatting (dd335e7)
  • resolve ALTER FOREIGN DATA WRAPPER OPTIONS clause formatting with proper string quoting and spacing (19b93e6)
  • resolve ALTER OPERATOR CLASS schema handling (49453a5)
  • resolve ALTER OPERATOR SET clause function name quoting (5a42a93)
  • resolve ALTER TABLE SET SCHEMA relation handling (108539b)
  • resolve ALTER VIEW RENAME COLUMN issue - add relationType check for OBJECT_VIEW in RenameStmt OBJECT_COLUMN case (f90a66c)
  • resolve AlterRoleSetStmt kind node type error by calling VariableSetStmt directly (d88d070)
  • resolve AlterRoleSetStmt role name handling and TO syntax for ALTER ROLE SET statements (8ded126)
  • resolve AlterTableCmd ADD COLUMN generated column issue (767bfbf)
  • resolve AlterTableStmt visitor pattern issue by calling methods directly (68d811e)
  • resolve bit test AST mismatches by preserving pg_catalog prefixes and removing unnecessary TypeCast parentheses (9923498)
  • resolve BitString hex formatting, RenameStmt role handling, and LockStmt mode mapping (04ba6fc)
  • resolve BitString literal formatting in A_Const method (ad23037)
  • resolve COLLATION FOR function SQL syntax preservation (0550375)
  • resolve column name quoting in GrantStmt and update TESTS.md with accurate full test suite status (29 failed, 323 passed, 91.8% pass rate) (543141b)
  • resolve CompositeTypeStmt generated column issue (3129c1d)
  • resolve CREATE AGGREGATE DefineStmt case sensitivity and quoting issues (3155196)
  • resolve CREATE FUNCTION parameter formatting and DefElem SET clause duplication (00b0e9e)
  • resolve CREATE OPERATOR COMMUTATOR/NEGATOR quoting - operators now unquoted correctly (6476d44)
  • resolve CREATE PROCEDURE parsing issues (4044199)
  • resolve CREATE ROLE DefElem options - add password, validUntil, and adminmembers keyword format support (00bf9a6)
  • resolve CREATE ROLE isreplication DefElem handling - improved from 63β†’62 failed test suites (32c74db)
  • resolve CREATE USER MAPPING server name quoting (397e078)
  • resolve create_index test suite failures (423c4fe)
  • resolve CreateAmStmt amtype mapping from single characters to full words (i->INDEX, t->TABLE) (5dfe617)
  • resolve CreateCastStmt function parameter handling (f315b0e)
  • resolve CreateEventTrigStmt PROCEDURE keyword and RenameStmt quoting issues (be857c4)
  • resolve CreateFunctionStmt multiple body string handling for latest-postgres-create_function_sql test (45668b8)
  • resolve CreateUserMappingStmt DefElem OPTIONS equals format - removed from space format conditional to allow proper key=value formatting (2f28fb1)
  • resolve CreateUserMappingStmt DefElem OPTIONS format - use space separator instead of equals for PostgreSQL compliance (8150bf9)
  • resolve DeclareCursorStmt SCROLL option regression - restore 92% pass rate (1cb9314)
  • resolve DISTINCT clause handling in FuncCall and Aggref methods (01687ee)
  • resolve domain constraint handling for ADD/DROP CONSTRAINT operations (cb1cf1d)
  • resolve DoStmt argument ordering issue (ed93955)
  • resolve DoStmt LANGUAGE clause ordering for arrays test (b77bf04)
  • resolve DoStmt nested dollar quoting conflicts with unique tag generation (637eb1b)
  • resolve DROP AGGREGATE wildcard handling and remove automatic RESTRICT behavior (b0d612a)
  • resolve DROP OPERATOR CLASS USING clause ordering for 3-item AST structure (abcfd0b)
  • resolve DROP TABLE schema-qualified name AST structure issue (c75130a)
  • resolve EXCLUDE constraint operator quoting issue - operators like = and && no longer incorrectly quoted (5282d2e)
  • resolve FetchStmt ALL sentinel value handling for FETCH ALL statements (7970aac)
  • resolve foreign key constraint handling with DEFERRABLE attributes, SET CONSTRAINTS statements, and ALTER CONSTRAINT operations (fc24dc9)
  • resolve foreign table partition syntax by removing empty parentheses for partitioned foreign tables (e14dd84)
  • resolve function spacing, GRANT privileges, and pg_catalog type AST mismatches (84ac16f)
  • resolve GrantRoleStmt admin option regression - improved from 74β†’72 failed tests (484a593)
  • resolve GrantStmt schema handling and RoleSpec roletype support (67df951)
  • resolve ImportForeignSchemaStmt OPTIONS formatting and CreateForeignTableStmt INHERITS clause handling (73d2617)
  • resolve JOIN expression parentheses handling - avoid double parentheses when nested JOINs have aliases (860a0a5)
  • resolve JOIN vs INNER JOIN formatting issue in create_view test (2fb257b)
  • resolve JoinExpr NATURAL/CROSS JOIN handling and ViewStmt numeric options (cc6bbf2)
  • resolve LockStmt lock mode mapping and add missing TABLE keyword - correct mode 3 to ROW EXCLUSIVE instead of SHARE UPDATE EXCLUSIVE (32692ed)
  • resolve LockStmt lock mode mapping and CreateUserMappingStmt server name quoting (7d563b2)
  • resolve LockStmt PostgreSQL compatibility - add TABLE keyword and correct 1-based lock mode mapping (db94ee5)
  • resolve missing table name in RuleStmt deparser (52bf7ec)
  • resolve multi-dimensional array handling and char type conversion (1d8f921)
  • resolve multiple deparser issues (bb22845)
  • resolve NamedArgExpr and DropStmt issues (95ca63c)
  • resolve NO MINVALUE/NO MAXVALUE sequence option handling in DefElem method (605ead5)
  • resolve numeric value quoting in CREATE TABLE WITH options (0726ceb)
  • resolve OBJECT_RULE quoting in RenameStmt - use QuoteUtils.quote() to preserve case-sensitive identifiers like "_RETURN" (591f7a1)
  • resolve PASSWORD NULL DefElem control flow issue and update TESTS.md with accurate full test suite status (30 failed, 322 passed, 91.5% pass rate) (2deb462)
  • resolve RangeFunction double AS issue for function calls with column definitions (9e2e36c)
  • resolve RenameStmt OBJECT_POLICY handling to include policy name and ON keyword (29d01de)
  • resolve RenameStmt OBJECT_SCHEMA handling - include schema name from subname field (546e6b2)
  • resolve RenameStmt regression - improved from 81β†’66 failed test suites (96ad6c8)
  • resolve ReplicaIdentityStmt duplicate REPLICA IDENTITY output (8dd723b)
  • resolve stack overflow in CreateForeignTableStmt and CreateTransformStmt deparser methods (3b3b09b)
  • resolve TransactionStmt boolean value parsing for READ WRITE/DEFERRABLE (424d361)
  • resolve TransactionStmt isolation level property access issue (0593689)
  • resolve union AST mismatch by adding parentheses around set operation operands with ORDER BY/LIMIT clauses (72f4d1f)
  • resolve VariableSetStmt empty string handling for SET statements (935c36d)
  • resolve VARIADIC function call placement - apply VARIADIC to last argument instead of first (05e27b6)
  • resolve window frame specification issue in FuncCall method (1f79854)
  • resolve WITH clause handling in UpdateStmt (878cb30)
  • resolve WITH clause nested parentheses and TypeCast CAST syntax preservation (7230717)
  • restore context-aware interval TypeCast formatting - resolves SELECT '999'::interval second parsing to achieve 93.9% pass rate (67173c1)
  • restore ObjectWithArgs exception and update TESTS.md with accurate full test suite status (29 failed, 323 passed, 91.8% pass rate) (9314886)
  • restructure XmlExpr method with early XMLPI handling (a7d2e3a)
  • revert duck typing in getNodeType() and update TESTS.md with accurate status (5224b8e)
  • schema name quoting - use pure operator regex to prevent hyphen conflicts in identifiers (562d278)
  • simplify getNodeType() and getNodeData() to resolve stack overflow issues (ad2ab20)
  • standardize AST typing and remove unnecessary enum type casting in deparser tests (83e7b1e)
  • standardize String node format and add A_Expr_Kind import in deparser.test.ts (167c531)
  • update getNodeType() for wrapped/unwrapped nodes and update TESTS.md with accurate status (30 failed, 322 passed) (6c1c4dd)
  • use ALTER ATTRIBUTE for ALTER TYPE operations (c8833b3)
  • use direct ObjectWithArgs call in AlterFunctionStmt to preserve function arguments (741dd8c)
  • use DROP ATTRIBUTE for ALTER TYPE operations (d4ee379)
  • use DROP ATTRIBUTE IF EXISTS for ALTER TYPE operations (ef78bd1)

Features

  • achieve 100% test pass rate (352/352) - complete PostgreSQL 13-17 deparser compatibility (59e38ee)
  • add comprehensive progress documentation and improve A_Expr parentheses handling (bb2a5af)
  • add DefineStmt OBJECT_TSCONFIGURATION support and update progress (e713786)
  • add GENERATED column support to ColumnDef method (c48155f)
  • add missing_ok support to AlterTableCmd ADD COLUMN operation (60df636)
  • add piecewise deparser testing and improve RangeFunction error handling (d11122f)
  • add VAR_SET_MULTI support and TransactionStmt options handling (af47a34)
  • fix A_Indirection parentheses and update progress documentation (eb60481)
  • implement 23 additional AlterTableCmd subtypes for comprehensive PostgreSQL 17 support (af06bd6)
  • implement comprehensive AlterTableCmd subtypes - expand from 7 to 30+ supported ALTER TABLE operations (9f32dcf)
  • implement comprehensive deparser improvements (b268c41)
  • implement comprehensive object type support in DropStmt and RenameStmt (f1285c1)
  • implement context array propagation in visit method - enables proper parent node tracking for nested contexts (ab57d0a)
  • implement missing AlterDomainStmt subtypes and RenameStmt object types (75181ac)
  • migrate to required parentNodeTypes array context system (06fea43)
  • migrate to robust array-based context system (8407d85)
  • rebuild PostgreSQL deparser with visitor-based architecture (e6ecf04)