Skip to content

Add PostgreSQL Collation DDL Support#2249

Open
LucaCappelletti94 wants to merge 3 commits intoapache:mainfrom
LucaCappelletti94:postgres-regression-4
Open

Add PostgreSQL Collation DDL Support#2249
LucaCappelletti94 wants to merge 3 commits intoapache:mainfrom
LucaCappelletti94:postgres-regression-4

Conversation

@LucaCappelletti94
Copy link
Contributor

This PR adds parser and AST support for PostgreSQL collation DDL statements that were previously missing:

  • CREATE COLLATION
  • ALTER COLLATION
  • DROP COLLATION
  • COMMENT ON COLLATION

The implementation is aligned with PostgreSQL syntax from official docs, including ALTER COLLATION ... REFRESH VERSION.

References

Add AST support for PostgreSQL collation statements and related object kinds.\n\n- introduce CreateCollation and AlterCollation structures\n- add CreateCollationDefinition and AlterCollationOperation enums\n- extend Statement with CreateCollation/AlterCollation variants\n- add ObjectType::Collation and CommentObject::Collation\n- wire display/from conversions and span matching hooks
Extend parser dispatch and handlers for PostgreSQL collation syntax.\n\n- parse CREATE COLLATION with FROM and option-list forms\n- parse ALTER COLLATION operations: RENAME TO, OWNER TO, SET SCHEMA, REFRESH VERSION\n- accept DROP COLLATION via generic DROP statement path\n- support COMMENT ON COLLATION targets
Add parser tests for PostgreSQL collation statements and comment targets.\n\n- validate AST shape for CREATE/ALTER COLLATION variants\n- validate DROP COLLATION and COMMENT ON COLLATION AST mapping\n- round-trip the full statement set used for regression investigation\n- include COLLATION in shared COMMENT object-type coverage
@LucaCappelletti94 LucaCappelletti94 marked this pull request as ready for review February 27, 2026 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant