Skip to content

Latest commit

 

History

History
556 lines (383 loc) · 58.3 KB

CHANGELOG.md

File metadata and controls

556 lines (383 loc) · 58.3 KB

Change Log

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

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)