Skip to content

Commit 262ed45

Browse files
committed
fixtures
1 parent c00ea9e commit 262ed45

File tree

6 files changed

+126
-7
lines changed

6 files changed

+126
-7
lines changed

__fixtures__/generated/generated.json

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21250,6 +21250,20 @@
2125021250
"misc/pg_catalog-timestamp-etc-11.sql": "CREATE TABLE public.\"EXAMPLE_INTERVAL_PRECISION\" (\n \"DURATION\" interval(2)\n)",
2125121251
"misc/pg_catalog-timestamp-etc-12.sql": "CREATE TABLE public.\"EXAMPLE_DATE\" (\n \"BIRTHDAY\" date\n)",
2125221252
"misc/pg_catalog-timestamp-etc-13.sql": "CREATE TABLE public.\"EXAMPLE_BOOL\" (\n \"IS_ACTIVE\" boolean\n)",
21253+
"misc/missing-types-1.sql": "ALTER PUBLICATION \"my_publication\" OWNER TO \"postgres\"",
21254+
"misc/missing-types-2.sql": "ALTER OPERATOR FAMILY my_opfamily USING btree OWNER TO new_owner",
21255+
"misc/missing-types-3.sql": "ALTER OPERATOR CLASS my_opclass USING btree OWNER TO new_owner",
21256+
"misc/missing-types-4.sql": "ALTER EXTENSION hstore UPDATE TO '2.0'",
21257+
"misc/missing-types-5.sql": "ALTER EXTENSION hstore SET SCHEMA utils",
21258+
"misc/missing-types-6.sql": "ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore)",
21259+
"misc/missing-types-7.sql": "ALTER FOREIGN TABLE my_foreign_table OWNER TO new_owner",
21260+
"misc/missing-types-8.sql": "ALTER LARGE OBJECT 12345 OWNER TO new_owner",
21261+
"misc/missing-types-9.sql": "ALTER MATERIALIZED VIEW my_matview OWNER TO new_owner",
21262+
"misc/missing-types-10.sql": "ALTER PUBLICATION my_publication OWNER TO new_owner",
21263+
"misc/missing-types-11.sql": "ALTER FUNCTION my_function(integer) OWNER TO new_owner",
21264+
"misc/missing-types-12.sql": "ALTER SUBSCRIPTION my_subscription OWNER TO new_owner",
21265+
"misc/missing-types-13.sql": "ALTER STATISTICS my_statistics OWNER TO new_owner",
21266+
"misc/missing-types-14.sql": "ALTER TABLESPACE my_tablespace OWNER TO new_owner",
2125321267
"misc/launchql-ext-types-1.sql": "CREATE DOMAIN attachment AS jsonb CHECK ( value ?& ARRAY['url', 'mime'] AND (value->>'url') ~ '^(https?)://[^\\s/$.?#].[^\\s]*$' )",
2125421268
"misc/launchql-ext-types-2.sql": "COMMENT ON DOMAIN attachment IS E'@name launchqlInternalTypeAttachment'",
2125521269
"misc/launchql-ext-types-3.sql": "CREATE DOMAIN email AS citext CHECK ( value ~ '^[a-zA-Z0-9.!#$%&''*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$' )",
@@ -21285,7 +21299,6 @@
2128521299
"misc/issues-14.sql": "SELECT (1 IS NOT NULL) IS DISTINCT FROM (2 IS NOT NULL)",
2128621300
"misc/issues-15.sql": "select \"A\" from \"table_name\"",
2128721301
"misc/issues-16.sql": "select \"AA\" from \"table_name\"",
21288-
"misc/issues-17.sql": "ALTER PUBLICATION \"my_publication\" OWNER TO \"postgres\"",
2128921302
"misc/inflection-1.sql": "CREATE SCHEMA inflection",
2129021303
"misc/inflection-2.sql": "GRANT USAGE ON SCHEMA inflection TO PUBLIC",
2129121304
"misc/inflection-3.sql": "ALTER DEFAULT PRIVILEGES IN SCHEMA inflection \n GRANT EXECUTE ON FUNCTIONS TO PUBLIC",

__fixtures__/kitchen-sink/misc/issues.sql

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,4 @@ SELECT (1 IS NOT NULL) IS DISTINCT FROM (2 IS NOT NULL);
7171

7272
-- https://github.com/launchql/pgsql-parser/issues/101
7373
select "A" from "table_name";
74-
select "AA" from "table_name";
75-
76-
-- https://github.com/launchql/pgsql-parser/issues/219
77-
ALTER PUBLICATION "my_publication" OWNER TO "postgres";
74+
select "AA" from "table_name";
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
-- https://github.com/launchql/pgsql-parser/issues/219
2+
ALTER PUBLICATION "my_publication" OWNER TO "postgres";
3+
4+
-- Missing ObjectType cases for AlterOwnerStmt testing
5+
-- OBJECT_ACCESS_METHOD
6+
-- ALTER ACCESS METHOD my_access_method OWNER TO new_owner;
7+
8+
-- OBJECT_AMOP (operator in operator family)
9+
ALTER OPERATOR FAMILY my_opfamily USING btree OWNER TO new_owner;
10+
11+
-- OBJECT_AMPROC (procedure in operator family)
12+
ALTER OPERATOR CLASS my_opclass USING btree OWNER TO new_owner;
13+
14+
-- OBJECT_ATTRIBUTE (attribute of composite type)
15+
-- ALTER TYPE my_composite_type ATTRIBUTE my_attribute OWNER TO new_owner;
16+
17+
-- OBJECT_CAST
18+
-- ALTER CAST (text AS integer) OWNER TO new_owner;
19+
20+
-- OBJECT_COLUMN (column of composite type)
21+
-- ALTER TYPE my_composite_type ATTRIBUTE my_column OWNER TO new_owner;
22+
23+
-- OBJECT_DEFAULT (default value - typically not alterable via OWNER TO, but included for completeness)
24+
-- Note: Defaults don't have owners, this may not be valid SQL
25+
26+
-- OBJECT_DEFACL (default ACL - typically not alterable via OWNER TO)
27+
-- Note: Default ACLs don't have owners, this may not be valid SQL
28+
29+
-- OBJECT_DOMCONSTRAINT
30+
-- ALTER DOMAIN my_domain CONSTRAINT my_constraint OWNER TO new_owner;
31+
32+
-- -- OBJECT_EXTENSION
33+
-- ALTER EXTENSION hstore OWNER TO new_owner;
34+
ALTER EXTENSION hstore UPDATE TO '2.0';
35+
ALTER EXTENSION hstore SET SCHEMA utils;
36+
ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);
37+
38+
-- -- OBJECT_FOREIGN_TABLE
39+
ALTER FOREIGN TABLE my_foreign_table OWNER TO new_owner;
40+
41+
-- -- OBJECT_LARGEOBJECT
42+
ALTER LARGE OBJECT 12345 OWNER TO new_owner;
43+
44+
-- -- OBJECT_MATVIEW
45+
ALTER MATERIALIZED VIEW my_matview OWNER TO new_owner;
46+
47+
-- -- OBJECT_POLICY
48+
-- ALTER POLICY my_policy ON my_table OWNER TO new_owner;
49+
-- ALTER POLICY policy_name ON table_name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER };
50+
51+
-- -- OBJECT_PUBLICATION_NAMESPACE (publication for schema)
52+
ALTER PUBLICATION my_publication OWNER TO new_owner;
53+
54+
-- -- OBJECT_ROUTINE (generic routine - function or procedure)
55+
ALTER FUNCTION my_function(integer) OWNER TO new_owner;
56+
57+
-- -- OBJECT_RULE
58+
-- ALTER RULE my_rule ON my_table OWNER TO new_owner;
59+
60+
-- -- OBJECT_SUBSCRIPTION
61+
ALTER SUBSCRIPTION my_subscription OWNER TO new_owner;
62+
63+
-- -- OBJECT_STATISTIC_EXT
64+
ALTER STATISTICS my_statistics OWNER TO new_owner;
65+
66+
-- -- OBJECT_TABCONSTRAINT
67+
-- ALTER TABLE my_table CONSTRAINT my_constraint OWNER TO new_owner;
68+
69+
-- -- OBJECT_TABLESPACE
70+
ALTER TABLESPACE my_tablespace OWNER TO new_owner;
71+
72+
-- -- OBJECT_TRANSFORM
73+
-- ALTER TRANSFORM FOR hstore LANGUAGE plpgsql OWNER TO new_owner;
74+
75+
-- -- OBJECT_TRIGGER
76+
-- ALTER TRIGGER my_trigger ON my_table OWNER TO new_owner;
77+
78+
-- -- OBJECT_TSPARSER
79+
-- ALTER TEXT SEARCH PARSER my_parser OWNER TO new_owner;
80+
81+
-- -- OBJECT_TSTEMPLATE
82+
-- ALTER TEXT SEARCH TEMPLATE my_template OWNER TO new_owner;
83+
84+
-- -- OBJECT_USER_MAPPING
85+
-- ALTER USER MAPPING FOR my_user SERVER my_server OWNER TO new_owner;

packages/deparser/__tests__/kitchen-sink/misc-issues.test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ it('misc-issues', async () => {
1919
"misc/issues-13.sql",
2020
"misc/issues-14.sql",
2121
"misc/issues-15.sql",
22-
"misc/issues-16.sql",
23-
"misc/issues-17.sql"
22+
"misc/issues-16.sql"
2423
]);
2524
});
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
import { FixtureTestUtils } from '../../test-utils';
3+
const fixtures = new FixtureTestUtils();
4+
5+
it('misc-missing-types', async () => {
6+
await fixtures.runFixtureTests([
7+
"misc/missing-types-1.sql",
8+
"misc/missing-types-2.sql",
9+
"misc/missing-types-3.sql",
10+
"misc/missing-types-4.sql",
11+
"misc/missing-types-5.sql",
12+
"misc/missing-types-6.sql",
13+
"misc/missing-types-7.sql",
14+
"misc/missing-types-8.sql",
15+
"misc/missing-types-9.sql",
16+
"misc/missing-types-10.sql",
17+
"misc/missing-types-11.sql",
18+
"misc/missing-types-12.sql",
19+
"misc/missing-types-13.sql",
20+
"misc/missing-types-14.sql"
21+
]);
22+
});

packages/deparser/src/deparser.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8286,6 +8286,9 @@ export class Deparser implements DeparserVisitor {
82868286
case 'OBJECT_COLLATION':
82878287
output.push('COLLATION');
82888288
break;
8289+
case 'OBJECT_PUBLICATION':
8290+
output.push('PUBLICATION');
8291+
break;
82898292
default:
82908293
throw new Error(`Unsupported AlterOwnerStmt objectType: ${node.objectType}`);
82918294
}

0 commit comments

Comments
 (0)