From 47162249425ebf29f3c4492019aaeb41fa468740 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Sat, 22 Nov 2025 16:11:21 -0800 Subject: [PATCH 1/3] add issue #219 fixture --- __fixtures__/kitchen-sink/misc/issues.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/__fixtures__/kitchen-sink/misc/issues.sql b/__fixtures__/kitchen-sink/misc/issues.sql index 02e39944..f1e5fce3 100644 --- a/__fixtures__/kitchen-sink/misc/issues.sql +++ b/__fixtures__/kitchen-sink/misc/issues.sql @@ -71,4 +71,7 @@ SELECT (1 IS NOT NULL) IS DISTINCT FROM (2 IS NOT NULL); -- https://github.com/launchql/pgsql-parser/issues/101 select "A" from "table_name"; -select "AA" from "table_name"; \ No newline at end of file +select "AA" from "table_name"; + +-- https://github.com/launchql/pgsql-parser/issues/219 +ALTER PUBLICATION "my_publication" OWNER TO "postgres"; \ No newline at end of file From c00ea9e82c42e0dc5fdce5caeddbc3bfd63fe2ec Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Sat, 22 Nov 2025 16:11:32 -0800 Subject: [PATCH 2/3] add issue #219 fixture --- __fixtures__/generated/generated.json | 1 + packages/deparser/__tests__/kitchen-sink/misc-issues.test.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/__fixtures__/generated/generated.json b/__fixtures__/generated/generated.json index 982b01a3..12426718 100644 --- a/__fixtures__/generated/generated.json +++ b/__fixtures__/generated/generated.json @@ -21285,6 +21285,7 @@ "misc/issues-14.sql": "SELECT (1 IS NOT NULL) IS DISTINCT FROM (2 IS NOT NULL)", "misc/issues-15.sql": "select \"A\" from \"table_name\"", "misc/issues-16.sql": "select \"AA\" from \"table_name\"", + "misc/issues-17.sql": "ALTER PUBLICATION \"my_publication\" OWNER TO \"postgres\"", "misc/inflection-1.sql": "CREATE SCHEMA inflection", "misc/inflection-2.sql": "GRANT USAGE ON SCHEMA inflection TO PUBLIC", "misc/inflection-3.sql": "ALTER DEFAULT PRIVILEGES IN SCHEMA inflection \n GRANT EXECUTE ON FUNCTIONS TO PUBLIC", diff --git a/packages/deparser/__tests__/kitchen-sink/misc-issues.test.ts b/packages/deparser/__tests__/kitchen-sink/misc-issues.test.ts index 76c7afd4..758a6d03 100644 --- a/packages/deparser/__tests__/kitchen-sink/misc-issues.test.ts +++ b/packages/deparser/__tests__/kitchen-sink/misc-issues.test.ts @@ -19,6 +19,7 @@ it('misc-issues', async () => { "misc/issues-13.sql", "misc/issues-14.sql", "misc/issues-15.sql", - "misc/issues-16.sql" + "misc/issues-16.sql", + "misc/issues-17.sql" ]); }); From 0d63d5855c9501d5b90ac985b2c2e71ec4fe6ae3 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 23 Nov 2025 01:47:28 +0000 Subject: [PATCH 3/3] Add support for OBJECT_PUBLICATION in AlterOwnerStmt Fixes issue #219 by adding OBJECT_PUBLICATION case to the AlterOwnerStmt switch statement in the deparser. This enables deparsing of ALTER PUBLICATION ... OWNER TO ... statements. Co-Authored-By: Dan Lynch --- packages/deparser/src/deparser.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/deparser/src/deparser.ts b/packages/deparser/src/deparser.ts index 16d3e884..9bb3a287 100644 --- a/packages/deparser/src/deparser.ts +++ b/packages/deparser/src/deparser.ts @@ -8286,6 +8286,9 @@ export class Deparser implements DeparserVisitor { case 'OBJECT_COLLATION': output.push('COLLATION'); break; + case 'OBJECT_PUBLICATION': + output.push('PUBLICATION'); + break; default: throw new Error(`Unsupported AlterOwnerStmt objectType: ${node.objectType}`); }