pg-dump-parser 1.5.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,11 +4,35 @@ Parses PostgreSQL dump files into an array of schema objects.
4
4
 
5
5
  ## Motivation
6
6
 
7
- This allows to submit a PostgreSQL schema dump to version control in a way that enables easy diffing.
7
+ The idea behind `pg-dump-parser` is to split the dump file into a series of files. Each file is a top-level schema object (e.g. a table, view, etc.). The same file will contain all the schema objects associated with the top-level object (e.g. comments, indexes, etc.). This makes having the database schema as a reference easier and allows for better checking into version control.
8
+
9
+ The desired end result is something like this (see [recipes](#recipes) for a script that does this):
10
+
11
+ ```
12
+ generated-schema
13
+ ├── extensions
14
+ │ ├── citext.sql
15
+ │ └── vector.sql
16
+ ├── functions
17
+ │ ├── public.add_two_numbers.sql
18
+ │ └── public.notify_foo_insert.sql
19
+ ├── materialized-views
20
+ │ ├── public.project_total_earnings.sql
21
+ │ └── public.user_account_total_earnings.sql
22
+ ├── tables
23
+ │ ├── public.accounting_platform_account.sql
24
+ │ └── public.workspace_workspace_group_history.sql
25
+ └── types
26
+ ├── public.accounting_platform.sql
27
+ └── public.workspace_type.sql
28
+ ```
29
+
30
+ where each file contains the SQL for the schema object.
8
31
 
9
32
  ## Usage
10
33
 
11
34
  ```ts
35
+ import { readFile } from 'node:fs/promises';
12
36
  import { parsePgDump } from 'pg-dump-parser';
13
37
 
14
38
  const dump = await readFile('dump.sql', 'utf8');
@@ -62,8 +86,11 @@ The output is an array of objects, each representing a schema object in the dump
62
86
  `groupSchemaObjects` is an opinionated utility that assigns object to a scope.
63
87
 
64
88
  ```ts
89
+ import { readFile } from 'node:fs/promises';
65
90
  import { groupSchemaObjects } from 'pg-dump-parser';
66
91
 
92
+ const dump = await readFile('dump.sql', 'utf8');
93
+
67
94
  const schemaObjects = parsePgDump(dump);
68
95
 
69
96
  const schemaObjectScope = groupSchemaObjects(schemaObjects);
@@ -95,6 +122,90 @@ const schemaObjectScope = groupSchemaObjects(schemaObjects);
95
122
  > [!WARNING]
96
123
  > The implementation behind `groupSchemaObjects` is _super_ scrappy. It relies on a lot of pattern matching. Use at your own risk.
97
124
 
125
+ ## Recipes
126
+
127
+ I intentionally did not include a script for producing a diff, because a lot of it (how you dump the schema, how you group the schema objects, etc.) is subjective. However, this is a version that we are using in production.
128
+
129
+ ```ts
130
+ import fs from 'node:fs/promises';
131
+ import path from 'node:path';
132
+ import {
133
+ parsePgDump,
134
+ SchemaObjectScope,
135
+ scopeSchemaObject,
136
+ } from 'pg-dump-parser';
137
+ import { default as yargs } from 'yargs';
138
+ import { $ } from 'zx';
139
+
140
+ const formatFileName = (schemaObjectScope: SchemaObjectScope) => {
141
+ const name = schemaObjectScope.name.startsWith('"')
142
+ ? schemaObjectScope.name.slice(1, -1)
143
+ : schemaObjectScope.name;
144
+
145
+ if (schemaObjectScope.schema) {
146
+ return `${schemaObjectScope.schema}.${name}.sql`;
147
+ }
148
+
149
+ return `${name}.sql`;
150
+ };
151
+
152
+ const argv = await yargs(process.argv.slice(2))
153
+ .options({
154
+ 'output-path': {
155
+ demand: true,
156
+ type: 'string',
157
+ },
158
+ 'postgres-dsn': {
159
+ demand: true,
160
+ type: 'string',
161
+ },
162
+ })
163
+ .strict()
164
+ .parse();
165
+
166
+ const dump = await $`pg_dump --schema-only ${argv['postgres-dsn']}`;
167
+
168
+ const schemaObjects = parsePgDump(dump.stdout);
169
+
170
+ try {
171
+ await fs.rmdir(argv['output-path'], {
172
+ recursive: true,
173
+ });
174
+ } catch {
175
+ // ignore
176
+ }
177
+
178
+ await fs.mkdir(argv['output-path']);
179
+
180
+ const files: Record<string, string[]> = {};
181
+
182
+ for (const schemaObject of schemaObjects) {
183
+ const schemaObjectScope = scopeSchemaObject(schemaObjects, schemaObject);
184
+
185
+ if (!schemaObjectScope) {
186
+ continue;
187
+ }
188
+
189
+ const file = path.join(
190
+ argv['output-path'],
191
+ // MATERIALIZED VIEW => materialized-views
192
+ schemaObjectScope.type.toLowerCase().replace(' ', '-') + 's',
193
+ formatFileName(schemaObjectScope),
194
+ );
195
+
196
+ files[file] ??= [];
197
+ files[file].push(schemaObject.sql);
198
+ }
199
+
200
+ for (const [filePath, content] of Object.entries(files)) {
201
+ const directory = path.dirname(filePath);
202
+
203
+ await fs.mkdir(directory, { recursive: true });
204
+
205
+ await fs.appendFile(filePath, content.join('\n\n') + '\n');
206
+ }
207
+ ```
208
+
98
209
  ## Alternatives
99
210
 
100
211
  * https://github.com/omniti-labs/pg_extractor
@@ -10,17 +10,17 @@ declare const AttributedHeaderZodSchema: z.ZodObject<{
10
10
  Name: z.ZodString;
11
11
  Owner: z.ZodNullable<z.ZodString>;
12
12
  Schema: z.ZodNullable<z.ZodString>;
13
- Type: z.ZodEnum<["ACL", "AGGREGATE", "CAST", "COMMENT", "CONSTRAINT", "DEFAULT ACL", "DEFAULT", "EXTENSION", "FK CONSTRAINT", "FUNCTION", "INDEX", "MATERIALIZED VIEW", "PROCEDURE", "PUBLICATION", "SCHEMA", "SEQUENCE OWNED BY", "SEQUENCE", "TABLE", "TEXT SEARCH CONFIGURATION", "TEXT SEARCH DICTIONARY", "TRIGGER", "TYPE", "VIEW"]>;
13
+ Type: z.ZodEnum<["ACL", "AGGREGATE", "CAST", "COMMENT", "CONSTRAINT", "DEFAULT ACL", "DEFAULT", "EXTENSION", "FK CONSTRAINT", "FUNCTION", "INDEX", "MATERIALIZED VIEW", "PROCEDURE", "PUBLICATION", "SCHEMA", "SEQUENCE OWNED BY", "SEQUENCE", "TABLE ATTACH", "TABLE", "TEXT SEARCH CONFIGURATION", "TEXT SEARCH DICTIONARY", "TRIGGER", "TYPE", "VIEW"]>;
14
14
  }, "strip", z.ZodTypeAny, {
15
15
  Name: string;
16
16
  Owner: string | null;
17
17
  Schema: string | null;
18
- Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
18
+ Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE ATTACH" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
19
19
  }, {
20
20
  Name: string;
21
21
  Owner: string | null;
22
22
  Schema: string | null;
23
- Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
23
+ Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE ATTACH" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
24
24
  }>;
25
25
  declare const HeaderZodSchema: z.ZodUnion<[z.ZodObject<{
26
26
  Title: z.ZodString;
@@ -32,17 +32,17 @@ declare const HeaderZodSchema: z.ZodUnion<[z.ZodObject<{
32
32
  Name: z.ZodString;
33
33
  Owner: z.ZodNullable<z.ZodString>;
34
34
  Schema: z.ZodNullable<z.ZodString>;
35
- Type: z.ZodEnum<["ACL", "AGGREGATE", "CAST", "COMMENT", "CONSTRAINT", "DEFAULT ACL", "DEFAULT", "EXTENSION", "FK CONSTRAINT", "FUNCTION", "INDEX", "MATERIALIZED VIEW", "PROCEDURE", "PUBLICATION", "SCHEMA", "SEQUENCE OWNED BY", "SEQUENCE", "TABLE", "TEXT SEARCH CONFIGURATION", "TEXT SEARCH DICTIONARY", "TRIGGER", "TYPE", "VIEW"]>;
35
+ Type: z.ZodEnum<["ACL", "AGGREGATE", "CAST", "COMMENT", "CONSTRAINT", "DEFAULT ACL", "DEFAULT", "EXTENSION", "FK CONSTRAINT", "FUNCTION", "INDEX", "MATERIALIZED VIEW", "PROCEDURE", "PUBLICATION", "SCHEMA", "SEQUENCE OWNED BY", "SEQUENCE", "TABLE ATTACH", "TABLE", "TEXT SEARCH CONFIGURATION", "TEXT SEARCH DICTIONARY", "TRIGGER", "TYPE", "VIEW"]>;
36
36
  }, "strip", z.ZodTypeAny, {
37
37
  Name: string;
38
38
  Owner: string | null;
39
39
  Schema: string | null;
40
- Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
40
+ Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE ATTACH" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
41
41
  }, {
42
42
  Name: string;
43
43
  Owner: string | null;
44
44
  Schema: string | null;
45
- Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
45
+ Type: "ACL" | "AGGREGATE" | "CAST" | "COMMENT" | "CONSTRAINT" | "DEFAULT ACL" | "DEFAULT" | "EXTENSION" | "FK CONSTRAINT" | "FUNCTION" | "INDEX" | "MATERIALIZED VIEW" | "PROCEDURE" | "PUBLICATION" | "SCHEMA" | "SEQUENCE OWNED BY" | "SEQUENCE" | "TABLE ATTACH" | "TABLE" | "TEXT SEARCH CONFIGURATION" | "TEXT SEARCH DICTIONARY" | "TRIGGER" | "TYPE" | "VIEW";
46
46
  }>]>;
47
47
  export type Header = z.infer<typeof HeaderZodSchema>;
48
48
  export type TitleHeader = z.infer<typeof TitleHeaderZodSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"parsePgDump.d.ts","sourceRoot":"","sources":["../src/parsePgDump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,oBAAoB;;;;;;EAExB,CAAC;AAMH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;EA6B7B,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;IAGnB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAyDzE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,MAAM,mBA6BvC,CAAC"}
1
+ {"version":3,"file":"parsePgDump.d.ts","sourceRoot":"","sources":["../src/parsePgDump.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,oBAAoB;;;;;;EAExB,CAAC;AAMH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;EA8B7B,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;IAGnB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAgEzE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,MAAM,mBA6BvC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parsePgDump = void 0;
4
+ /* eslint-disable no-console */
4
5
  const zod_1 = require("zod");
5
6
  // These are the attribute less headers, e.g.
6
7
  // --
@@ -35,6 +36,7 @@ const AttributedHeaderZodSchema = zod_1.z.object({
35
36
  'SCHEMA',
36
37
  'SEQUENCE OWNED BY',
37
38
  'SEQUENCE',
39
+ 'TABLE ATTACH',
38
40
  'TABLE',
39
41
  'TEXT SEARCH CONFIGURATION',
40
42
  'TEXT SEARCH DICTIONARY',
@@ -64,25 +66,32 @@ const parseAttribute = (attribute) => {
64
66
  // -- Name: TABLE user_survey; Type: ACL; Schema: public; Owner: postgres
65
67
  // --
66
68
  const parseHeader = (fragment) => {
67
- const lines = fragment.split('\n');
68
- if (lines.length !== 3) {
69
- throw new Error('Invalid header');
70
- }
71
- const contentLine = lines[1].slice(3);
72
- if (contentLine === 'PostgreSQL database dump' ||
73
- contentLine === 'PostgreSQL database dump complete') {
74
- return HeaderZodSchema.parse({
75
- Title: contentLine,
76
- });
69
+ try {
70
+ const lines = fragment.split('\n');
71
+ if (lines.length !== 3) {
72
+ throw new Error('Invalid header');
73
+ }
74
+ const contentLine = lines[1].slice(3);
75
+ if (contentLine === 'PostgreSQL database dump' ||
76
+ contentLine === 'PostgreSQL database dump complete') {
77
+ return HeaderZodSchema.parse({
78
+ Title: contentLine,
79
+ });
80
+ }
81
+ const content = Object.fromEntries(contentLine.split('; ').map((attribute) => {
82
+ return parseAttribute(attribute);
83
+ }));
84
+ const result = HeaderZodSchema.safeParse(content);
85
+ if (!result.success) {
86
+ throw new Error('Invalid header');
87
+ }
88
+ return result.data;
77
89
  }
78
- const content = Object.fromEntries(contentLine.split('; ').map((attribute) => {
79
- return parseAttribute(attribute);
80
- }));
81
- const result = HeaderZodSchema.safeParse(content);
82
- if (!result.success) {
83
- throw new Error('Invalid header');
90
+ catch (error) {
91
+ console.warn('[pg-dump-parser] failing fragment');
92
+ console.warn(fragment);
93
+ throw error;
84
94
  }
85
- return result.data;
86
95
  };
87
96
  const parsePgDump = (dump) => {
88
97
  const schemaObjects = [];
@@ -1 +1 @@
1
- {"version":3,"file":"parsePgDump.js","sourceRoot":"","sources":["../src/parsePgDump.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsePgDump.js","sourceRoot":"","sources":["../src/parsePgDump.ts"],"names":[],"mappings":"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"}
@@ -318,6 +318,12 @@ COMMENT ON MATERIALIZED VIEW public.qux IS 'Materialized view comment x';
318
318
  COMMENT ON COLUMN public.qux.id IS 'Column comment x';
319
319
 
320
320
 
321
+ --
322
+ -- Name: portfolio_project_search_hit_default; Type: TABLE ATTACH; Schema: public; Owner: flyway
323
+ --
324
+
325
+ ALTER TABLE ONLY public.portfolio_project_search_hit ATTACH PARTITION public.portfolio_project_search_hit_default DEFAULT;
326
+
321
327
  --
322
328
  -- Name: corge id; Type: DEFAULT; Schema: public; Owner: postgres
323
329
  --
@@ -872,6 +878,31 @@ const expectSchemeObject = (expectedSchemaObject) => {
872
878
  `,
873
879
  });
874
880
  });
881
+ (0, vitest_1.test)('extracts SEQUENCE', async () => {
882
+ expectSchemeObject({
883
+ header: {
884
+ Name: 'bar_id_seq',
885
+ Owner: 'postgres',
886
+ Schema: 'public',
887
+ Type: 'SEQUENCE',
888
+ },
889
+ scope: {
890
+ name: 'bar',
891
+ schema: 'public',
892
+ type: 'TABLE',
893
+ },
894
+ sql: (0, multiline_ts_1.default) `
895
+ ALTER TABLE public.bar ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
896
+ SEQUENCE NAME public.bar_id_seq
897
+ START WITH 1
898
+ INCREMENT BY 1
899
+ NO MINVALUE
900
+ NO MAXVALUE
901
+ CACHE 1
902
+ );
903
+ `,
904
+ });
905
+ });
875
906
  (0, vitest_1.test)('extracts AGGREGATE', async () => {
876
907
  expectSchemeObject({
877
908
  header: {
@@ -980,6 +1011,78 @@ const expectSchemeObject = (expectedSchemaObject) => {
980
1011
  `,
981
1012
  });
982
1013
  });
1014
+ (0, vitest_1.test)('extracts OWNER TO (FUNCTION)', async () => {
1015
+ expectSchemeObject({
1016
+ header: {
1017
+ Name: 'notify_foo_insert()',
1018
+ Owner: 'postgres',
1019
+ Schema: 'public',
1020
+ Type: 'FUNCTION',
1021
+ },
1022
+ scope: {
1023
+ name: 'notify_foo_insert',
1024
+ schema: 'public',
1025
+ type: 'FUNCTION',
1026
+ },
1027
+ sql: (0, multiline_ts_1.default) `
1028
+ ALTER FUNCTION public.notify_foo_insert() OWNER TO postgres;
1029
+ `,
1030
+ });
1031
+ });
1032
+ (0, vitest_1.test)('extracts OWNER TO (TABLE)', async () => {
1033
+ expectSchemeObject({
1034
+ header: {
1035
+ Name: 'foo',
1036
+ Owner: 'postgres',
1037
+ Schema: 'public',
1038
+ Type: 'TABLE',
1039
+ },
1040
+ scope: {
1041
+ name: 'foo',
1042
+ schema: 'public',
1043
+ type: 'TABLE',
1044
+ },
1045
+ sql: (0, multiline_ts_1.default) `
1046
+ ALTER TABLE public.foo OWNER TO postgres;
1047
+ `,
1048
+ });
1049
+ });
1050
+ (0, vitest_1.test)('extracts OWNER TO (TYPE)', async () => {
1051
+ expectSchemeObject({
1052
+ header: {
1053
+ Name: 'status',
1054
+ Owner: 'postgres',
1055
+ Schema: 'public',
1056
+ Type: 'TYPE',
1057
+ },
1058
+ scope: {
1059
+ name: 'status',
1060
+ schema: 'public',
1061
+ type: 'TYPE',
1062
+ },
1063
+ sql: (0, multiline_ts_1.default) `
1064
+ ALTER TYPE public.status OWNER TO postgres;
1065
+ `,
1066
+ });
1067
+ });
1068
+ (0, vitest_1.test)('extracts OWNER TO (VIEW)', async () => {
1069
+ expectSchemeObject({
1070
+ header: {
1071
+ Name: 'baz',
1072
+ Owner: 'postgres',
1073
+ Schema: 'public',
1074
+ Type: 'VIEW',
1075
+ },
1076
+ scope: {
1077
+ name: 'baz',
1078
+ schema: 'public',
1079
+ type: 'VIEW',
1080
+ },
1081
+ sql: (0, multiline_ts_1.default) `
1082
+ ALTER VIEW public.baz OWNER TO postgres;
1083
+ `,
1084
+ });
1085
+ });
983
1086
  (0, vitest_1.test)('extracts DEFAULT', async () => {
984
1087
  expectSchemeObject({
985
1088
  header: {
@@ -1 +1 @@
1
- {"version":3,"file":"parsePgDump.test.js","sourceRoot":"","sources":["../src/parsePgDump.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsePgDump.test.js","sourceRoot":"","sources":["../src/parsePgDump.test.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export type SchemaObjectScope = {
8
8
  schema: string;
9
9
  type: 'AGGREGATE' | 'FUNCTION' | 'MATERIALIZED VIEW' | 'PROCEDURE' | 'TABLE' | 'TYPE' | 'VIEW';
10
10
  };
11
- export declare const scopeSchemaObject: (schemaObjects: SchemaObject[], subject: SchemaObject) => SchemaObjectScope | null;
11
+ export declare const scopeSchemaObject: (schemaObjects: SchemaObject[], subject: SchemaObject) => null | SchemaObjectScope;
12
12
  //# sourceMappingURL=scopeSchemaObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopeSchemaObject.d.ts","sourceRoot":"","sources":["../src/scopeSchemaObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AA2KzE,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EACA,WAAW,GACX,UAAU,GACV,mBAAmB,GACnB,WAAW,GACX,OAAO,GACP,MAAM,GACN,MAAM,CAAC;CACZ,CAAC;AAyUN,eAAO,MAAM,iBAAiB,kBACb,YAAY,EAAE,WACpB,YAAY,KACpB,iBAAiB,GAAG,IAatB,CAAC"}
1
+ {"version":3,"file":"scopeSchemaObject.d.ts","sourceRoot":"","sources":["../src/scopeSchemaObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAmIzE,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EACA,WAAW,GACX,UAAU,GACV,mBAAmB,GACnB,WAAW,GACX,OAAO,GACP,MAAM,GACN,MAAM,CAAC;CACZ,CAAC;AAmUN,eAAO,MAAM,iBAAiB,kBACb,YAAY,EAAE,WACpB,YAAY,KACpB,IAAI,GAAG,iBAaT,CAAC"}
@@ -4,7 +4,7 @@ exports.scopeSchemaObject = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const extractOwnedByTarget = (fragment) => {
6
6
  var _a, _b;
7
- const { schema, name } = (_b = (_a = fragment.match(/OWNED BY\s(?<schema>[^.]+)\.(?<name>[^.]+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
7
+ const { name, schema } = (_b = (_a = fragment.match(/OWNED BY\s(?<schema>[^.]+)\.(?<name>[^.]+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
8
8
  if (!schema) {
9
9
  throw new Error('Invalid OWNED BY target (missing schema)');
10
10
  }
@@ -18,7 +18,7 @@ const extractOwnedByTarget = (fragment) => {
18
18
  };
19
19
  const extractOnTableTarget = (fragment) => {
20
20
  var _a, _b;
21
- const { schema, name } = (_b = (_a = fragment.match(/ON TABLE\s(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
21
+ const { name, schema } = (_b = (_a = fragment.match(/ON TABLE\s(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
22
22
  if (!schema) {
23
23
  throw new Error('Invalid ON TABLE target');
24
24
  }
@@ -32,7 +32,7 @@ const extractOnTableTarget = (fragment) => {
32
32
  };
33
33
  const extractCreateIndexTarget = (fragment) => {
34
34
  var _a, _b;
35
- const { schema, name } = (_b = (_a = fragment.match(/ON\s(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
35
+ const { name, schema } = (_b = (_a = fragment.match(/ON\s(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
36
36
  if (!schema) {
37
37
  throw new Error('Invalid CREATE INDEX target');
38
38
  }
@@ -44,37 +44,9 @@ const extractCreateIndexTarget = (fragment) => {
44
44
  schema,
45
45
  };
46
46
  };
47
- const extractCreateViewTarget = (fragment) => {
48
- var _a, _b;
49
- const { schema, name } = (_b = (_a = fragment.match(/CREATE VIEW (?:IF NOT EXISTS\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
50
- if (!schema) {
51
- throw new Error('Invalid CREATE VIEW target');
52
- }
53
- if (!name) {
54
- throw new Error('Invalid CREATE VIEW target');
55
- }
56
- return {
57
- name,
58
- schema,
59
- };
60
- };
61
- const extractCreateTableTarget = (fragment) => {
62
- var _a, _b;
63
- const { schema, name } = (_b = (_a = fragment.match(/CREATE TABLE (?:IF NOT EXISTS\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
64
- if (!schema) {
65
- throw new Error('Invalid CREATE TABLE target');
66
- }
67
- if (!name) {
68
- throw new Error('Invalid CREATE TABLE target');
69
- }
70
- return {
71
- name,
72
- schema,
73
- };
74
- };
75
47
  const extractAlterTableTarget = (fragment) => {
76
48
  var _a, _b;
77
- const { schema, name } = (_b = (_a = fragment.match(/ALTER TABLE (?:ONLY\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
49
+ const { name, schema } = (_b = (_a = fragment.match(/ALTER TABLE (?:ONLY\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
78
50
  if (!schema) {
79
51
  throw new Error('Invalid ALTER TABLE target');
80
52
  }
@@ -88,9 +60,7 @@ const extractAlterTableTarget = (fragment) => {
88
60
  };
89
61
  const extractFunctionLikeName = (fragment) => {
90
62
  var _a, _b;
91
- const { name } = (_b = (_a = fragment.match(
92
- // eslint-disable-next-line unicorn/no-unsafe-regex
93
- /(?:AGGREGATE|FUNCTION|PROCEDURE)\s+(?:(?<schema>\S+)\.)?(?<name>\w+)\s*\(/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
63
+ const { name } = (_b = (_a = fragment.match(/(?:AGGREGATE|FUNCTION|PROCEDURE)\s+(?:(?<schema>\S+)\.)?(?<name>\w+)\s*\(/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
94
64
  if (!name) {
95
65
  throw new Error('Invalid FUNCTION name');
96
66
  }
@@ -112,7 +82,7 @@ const extractCommentOnTarget = (fragment) => {
112
82
  };
113
83
  const findTableLikeOwner = (schemaObjects, name, schema) => {
114
84
  const targetSchemaObject = schemaObjects.find((schemaObject) => {
115
- return (['TABLE', 'VIEW', 'MATERIALIZED VIEW'].includes(schemaObject.header.Type) &&
85
+ return (['MATERIALIZED VIEW', 'TABLE', 'VIEW'].includes(schemaObject.header.Type) &&
116
86
  schemaObject.header.Name === name &&
117
87
  schemaObject.header.Schema === schema);
118
88
  });
@@ -125,7 +95,6 @@ const findTableLikeOwner = (schemaObjects, name, schema) => {
125
95
  type: targetSchemaObject.header.Type,
126
96
  };
127
97
  };
128
- // eslint-disable-next-line complexity
129
98
  const scopeComment = (schemaObjects, subject) => {
130
99
  var _a, _b, _c, _d, _e;
131
100
  const target = extractCommentOnTarget(subject.sql);
@@ -136,12 +105,6 @@ const scopeComment = (schemaObjects, subject) => {
136
105
  type: 'AGGREGATE',
137
106
  };
138
107
  }
139
- if (target.type === 'COLUMN') {
140
- const [schema, name] = zod_1.z
141
- .tuple([zod_1.z.string(), zod_1.z.string(), zod_1.z.string()])
142
- .parse(target.target.split('.'));
143
- return findTableLikeOwner(schemaObjects, name, schema);
144
- }
145
108
  if (target.type === 'EXTENSION') {
146
109
  return {
147
110
  name: target.target,
@@ -149,6 +112,12 @@ const scopeComment = (schemaObjects, subject) => {
149
112
  type: 'EXTENSION',
150
113
  };
151
114
  }
115
+ if (target.type === 'COLUMN') {
116
+ const [schema, name] = zod_1.z
117
+ .tuple([zod_1.z.string(), zod_1.z.string(), zod_1.z.string()])
118
+ .parse(target.target.split('.'));
119
+ return findTableLikeOwner(schemaObjects, name, schema);
120
+ }
152
121
  if (target.type === 'FUNCTION') {
153
122
  return {
154
123
  name: extractFunctionLikeName(subject.header.Name),
@@ -244,81 +213,81 @@ const scopeComment = (schemaObjects, subject) => {
244
213
  }
245
214
  return null;
246
215
  };
247
- // eslint-disable-next-line complexity
248
216
  const scopeAttributedSchemaObject = (schemaObjects, subject) => {
249
- var _a, _b, _c, _d, _e, _f;
250
- if (subject.header.Type === 'FUNCTION') {
217
+ var _a, _b, _c, _d, _e, _f, _g, _h;
218
+ if (subject.header.Type === 'AGGREGATE') {
251
219
  return {
252
220
  name: subject.header.Name.split('(')[0],
253
221
  schema: (_a = subject.header.Schema) !== null && _a !== void 0 ? _a : 'public',
254
- type: 'FUNCTION',
255
- };
256
- }
257
- if (subject.header.Type === 'PROCEDURE') {
258
- return {
259
- name: subject.header.Name.split('(')[0],
260
- schema: (_b = subject.header.Schema) !== null && _b !== void 0 ? _b : 'public',
261
- type: 'PROCEDURE',
222
+ type: 'AGGREGATE',
262
223
  };
263
224
  }
264
225
  if (subject.header.Type === 'TRIGGER') {
265
226
  return {
266
227
  name: subject.header.Name.split(' ')[0],
267
- schema: (_c = subject.header.Schema) !== null && _c !== void 0 ? _c : 'public',
228
+ schema: (_b = subject.header.Schema) !== null && _b !== void 0 ? _b : 'public',
268
229
  type: 'TABLE',
269
230
  };
270
231
  }
271
- if (subject.header.Type === 'TYPE') {
232
+ if (subject.header.Type === 'FUNCTION') {
272
233
  return {
273
- name: subject.header.Name,
274
- schema: (_d = subject.header.Schema) !== null && _d !== void 0 ? _d : 'public',
275
- type: 'TYPE',
234
+ name: subject.header.Name.split('(')[0],
235
+ schema: (_c = subject.header.Schema) !== null && _c !== void 0 ? _c : 'public',
236
+ type: 'FUNCTION',
276
237
  };
277
238
  }
278
- if (subject.header.Type === 'AGGREGATE') {
239
+ if (subject.header.Type === 'EXTENSION') {
279
240
  return {
280
- name: subject.header.Name.split('(')[0],
281
- schema: (_e = subject.header.Schema) !== null && _e !== void 0 ? _e : 'public',
282
- type: 'AGGREGATE',
241
+ name: subject.header.Name,
242
+ schema: null,
243
+ type: 'EXTENSION',
283
244
  };
284
245
  }
285
246
  if (subject.header.Type === 'INDEX') {
286
247
  const createIndexTarget = extractCreateIndexTarget(subject.sql);
287
248
  return findTableLikeOwner(schemaObjects, createIndexTarget.name, createIndexTarget.schema);
288
249
  }
289
- if (subject.header.Type === 'EXTENSION') {
250
+ if (subject.header.Type === 'MATERIALIZED VIEW') {
290
251
  return {
291
252
  name: subject.header.Name,
292
- schema: null,
293
- type: 'EXTENSION',
253
+ schema: (_d = subject.header.Schema) !== null && _d !== void 0 ? _d : 'public',
254
+ type: 'MATERIALIZED VIEW',
294
255
  };
295
256
  }
296
- if (subject.header.Type === 'MATERIALIZED VIEW') {
257
+ if (subject.header.Type === 'PROCEDURE') {
258
+ return {
259
+ name: subject.header.Name.split('(')[0],
260
+ schema: (_e = subject.header.Schema) !== null && _e !== void 0 ? _e : 'public',
261
+ type: 'PROCEDURE',
262
+ };
263
+ }
264
+ if (subject.header.Type === 'SEQUENCE') {
265
+ // Handled by ALTER TABLE
266
+ }
267
+ if (subject.header.Type === 'TABLE') {
297
268
  return {
298
269
  name: subject.header.Name,
299
270
  schema: (_f = subject.header.Schema) !== null && _f !== void 0 ? _f : 'public',
300
- type: 'MATERIALIZED VIEW',
271
+ type: 'TABLE',
301
272
  };
302
273
  }
303
- if (subject.sql.startsWith('CREATE VIEW ')) {
304
- const target = extractCreateViewTarget(subject.sql);
274
+ if (subject.header.Type === 'TYPE') {
305
275
  return {
306
- name: target.name,
307
- schema: target.schema,
308
- type: 'VIEW',
276
+ name: subject.header.Name,
277
+ schema: (_g = subject.header.Schema) !== null && _g !== void 0 ? _g : 'public',
278
+ type: 'TYPE',
309
279
  };
310
280
  }
311
- if (subject.sql.startsWith('CREATE TABLE ')) {
312
- const target = extractCreateTableTarget(subject.sql);
281
+ if (subject.header.Type === 'VIEW') {
313
282
  return {
314
- name: target.name,
315
- schema: target.schema,
316
- type: 'TABLE',
283
+ name: subject.header.Name,
284
+ schema: (_h = subject.header.Schema) !== null && _h !== void 0 ? _h : 'public',
285
+ type: 'VIEW',
317
286
  };
318
287
  }
319
288
  if (subject.sql.startsWith('ALTER TABLE ')) {
320
- const alterTableTarget = extractAlterTableTarget(subject.sql);
321
- return findTableLikeOwner(schemaObjects, alterTableTarget.name, alterTableTarget.schema);
289
+ const target = extractAlterTableTarget(subject.sql);
290
+ return findTableLikeOwner(schemaObjects, target.name, target.schema);
322
291
  }
323
292
  if (subject.sql.startsWith('COMMENT ON ')) {
324
293
  return scopeComment(schemaObjects, subject);
@@ -327,14 +296,14 @@ const scopeAttributedSchemaObject = (schemaObjects, subject) => {
327
296
  const ownedByTarget = extractOwnedByTarget(subject.sql);
328
297
  return findTableLikeOwner(schemaObjects, ownedByTarget.name, ownedByTarget.schema);
329
298
  }
330
- catch (_g) {
299
+ catch (_j) {
331
300
  // ignore
332
301
  }
333
302
  try {
334
303
  const onTableTarget = extractOnTableTarget(subject.sql);
335
304
  return findTableLikeOwner(schemaObjects, onTableTarget.name, onTableTarget.schema);
336
305
  }
337
- catch (_h) {
306
+ catch (_k) {
338
307
  // ignore
339
308
  }
340
309
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"scopeSchemaObject.js","sourceRoot":"","sources":["../src/scopeSchemaObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopeSchemaObject.js","sourceRoot":"","sources":["../src/scopeSchemaObject.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAOxB,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAe,EAAE;;IAC7D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GACpB,MAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,6CAA6C,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC;IAE9E,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAED,OAAO;QACL,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAe,EAAE;;IAC7D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GACpB,MAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,2CAA2C,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC;IAE5E,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,OAAO;QACL,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,QAAgB,EAAe,EAAE;;IACjE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GACpB,MAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,qCAAqC,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC;IAEtE,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IAED,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IAED,OAAO;QACL,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAe,EAAE;;IAChE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GACpB,MAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,wDAAwD,CAAC,0CACpE,MAAM,mCAAI,EAAE,CAAC;IAEnB,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IAED,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IAED,OAAO;QACL,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAU,EAAE;;IAC3D,MAAM,EAAE,IAAI,EAAE,GACZ,MAAA,MAAA,QAAQ,CAAC,KAAK,CACZ,4EAA4E,CAC7E,0CAAE,MAAM,mCAAI,EAAE,CAAC;IAElB,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC1C;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAmBF,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAmB,EAAE;;IACnE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GACpB,MAAA,MAAA,QAAQ,CAAC,KAAK,CACZ,wIAAwI,CACzI,0CAAE,MAAM,mCAAI,EAAE,CAAC;IAElB,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,OAAO;QACL,MAAM;QACN,IAAI,EAAE,IAA+B;KACtC,CAAC;AACJ,CAAC,CAAC;AA0BF,MAAM,kBAAkB,GAAG,CACzB,aAAuC,EACvC,IAAY,EACZ,MAAc,EACY,EAAE;IAC5B,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;QAC7D,OAAO,CACL,CAAC,mBAAmB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAC7C,YAAY,CAAC,MAAM,CAAC,IAAI,CACzB;YACD,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI;YACjC,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,OAAO;QACL,IAAI;QACJ,MAAM;QACN,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAGtB;KACX,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,aAAuC,EACvC,OAA+B,EACL,EAAE;;IAC5B,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEnD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QAC/B,OAAO;YACL,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAClD,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,WAAW;SAClB,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QAC/B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,WAAW;SAClB,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAC;aACrB,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC3C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnC,OAAO,kBAAkB,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;KACxD;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9B,OAAO;YACL,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAClD,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,UAAU;SACjB,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QAC3B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAC;aAC1B,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnC,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YAC5D,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;gBACxC,OAAO,KAAK,CAAC;aACd;YAED,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,iBAAiB,EAAE;YACrB,MAAM,WAAW,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAEpE,OAAO,kBAAkB,CACvB,aAAa,EACb,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,MAAM,CACnB,CAAC;SACH;QAED,MAAM,sBAAsB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YACjE,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC7C,OAAO,KAAK,CAAC;aACd;YAED,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,IAAI,sBAAsB,EAAE;YAC1B,MAAM,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAElE,OAAO,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SAC7D;KACF;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE;QACvC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC3D,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,mBAAmB;SAC1B,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QAC/B,OAAO;YACL,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAClD,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,WAAW;SAClB,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9B,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,OAAC;aACjC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnC,MAAM,oBAAoB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YAC/D,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC3C,OAAO,KAAK,CAAC;aACd;YAED,OAAO,CACL,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;gBACzC,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAC1C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;QAED,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE3E,OAAO,kBAAkB,CACvB,aAAa,EACb,gBAAgB,CAAC,IAAI,EACrB,gBAAgB,CAAC,MAAM,CACxB,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QAC3B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAC;aACrB,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnC,OAAO;YACL,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,OAAO;SACd,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QAC1B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAC;aACrB,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnC,OAAO;YACL,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,MAAM;SACb,CAAC;KACH;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QAC1B,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAC;aACnB,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,MAAM;SACb,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,aAAuC,EACvC,OAA+B,EACL,EAAE;;IAC5B,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QACvC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,WAAW;SAClB,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;QACrC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,OAAO;SACd,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QACtC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,UAAU;SACjB,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QACvC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,WAAW;SAClB,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QACnC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEhE,OAAO,kBAAkB,CACvB,aAAa,EACb,iBAAiB,CAAC,IAAI,EACtB,iBAAiB,CAAC,MAAM,CACzB,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE;QAC/C,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,mBAAmB;SAC1B,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QACvC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,WAAW;SAClB,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QACtC,yBAAyB;KAC1B;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QACnC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,OAAO;SACd,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QAClC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,MAAM;SACb,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QAClC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,mCAAI,QAAQ;YACzC,IAAI,EAAE,MAAM;SACb,CAAC;KACH;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;QAC1C,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpD,OAAO,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;KACtE;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACzC,OAAO,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KAC7C;IAED,IAAI;QACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAExD,OAAO,kBAAkB,CACvB,aAAa,EACb,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,MAAM,CACrB,CAAC;KACH;IAAC,WAAM;QACN,SAAS;KACV;IAED,IAAI;QACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAExD,OAAO,kBAAkB,CACvB,aAAa,EACb,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,MAAM,CACrB,CAAC;KACH;IAAC,WAAM;QACN,SAAS;KACV;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,aAA6B,EAC7B,OAAqB,EACK,EAAE;IAC5B,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IAED,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAClD,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CACpB,CAAC;IAE9B,OAAO,2BAA2B,CAChC,uBAAuB,EACvB,OAAiC,CAClC,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B"}
package/package.json CHANGED
@@ -15,8 +15,8 @@
15
15
  "@semantic-release/npm": "^9.0.2",
16
16
  "@types/node": "^18.15.3",
17
17
  "cspell": "^6.30.2",
18
- "eslint": "^8.36.0",
19
- "eslint-config-canonical": "^41.0.1",
18
+ "eslint": "^9.14.0",
19
+ "eslint-config-canonical": "^44.3.28",
20
20
  "semantic-release": "^20.1.3",
21
21
  "typescript": "^5.0.2",
22
22
  "vitest": "^0.29.7"
@@ -56,5 +56,5 @@
56
56
  "test:vitest": "vitest --run --passWithNoTests"
57
57
  },
58
58
  "types": "./dist/index.d.ts",
59
- "version": "1.5.1"
59
+ "version": "1.7.0"
60
60
  }
@@ -1,5 +1,4 @@
1
- import { type SchemaObject } from './parsePgDump';
2
- import { parsePgDump } from './parsePgDump';
1
+ import { parsePgDump, type SchemaObject } from './parsePgDump';
3
2
  import { type SchemaObjectScope, scopeSchemaObject } from './scopeSchemaObject';
4
3
  import multiline from 'multiline-ts';
5
4
  import { expect, test } from 'vitest';
@@ -315,6 +314,12 @@ COMMENT ON MATERIALIZED VIEW public.qux IS 'Materialized view comment x';
315
314
  COMMENT ON COLUMN public.qux.id IS 'Column comment x';
316
315
 
317
316
 
317
+ --
318
+ -- Name: portfolio_project_search_hit_default; Type: TABLE ATTACH; Schema: public; Owner: flyway
319
+ --
320
+
321
+ ALTER TABLE ONLY public.portfolio_project_search_hit ATTACH PARTITION public.portfolio_project_search_hit_default DEFAULT;
322
+
318
323
  --
319
324
  -- Name: corge id; Type: DEFAULT; Schema: public; Owner: postgres
320
325
  --
@@ -412,7 +417,7 @@ const omit = <T extends Record<string, unknown>>(
412
417
  );
413
418
 
414
419
  const expectSchemeObject = (
415
- expectedSchemaObject: SchemaObject & { scope: SchemaObjectScope | null },
420
+ expectedSchemaObject: { scope: null | SchemaObjectScope } & SchemaObject,
416
421
  ) => {
417
422
  const schemaObjects = parsePgDump(dump);
418
423
 
@@ -908,6 +913,32 @@ test('extracts TYPE', async () => {
908
913
  });
909
914
  });
910
915
 
916
+ test('extracts SEQUENCE', async () => {
917
+ expectSchemeObject({
918
+ header: {
919
+ Name: 'bar_id_seq',
920
+ Owner: 'postgres',
921
+ Schema: 'public',
922
+ Type: 'SEQUENCE',
923
+ },
924
+ scope: {
925
+ name: 'bar',
926
+ schema: 'public',
927
+ type: 'TABLE',
928
+ },
929
+ sql: multiline`
930
+ ALTER TABLE public.bar ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
931
+ SEQUENCE NAME public.bar_id_seq
932
+ START WITH 1
933
+ INCREMENT BY 1
934
+ NO MINVALUE
935
+ NO MAXVALUE
936
+ CACHE 1
937
+ );
938
+ `,
939
+ });
940
+ });
941
+
911
942
  test('extracts AGGREGATE', async () => {
912
943
  expectSchemeObject({
913
944
  header: {
@@ -1022,6 +1053,82 @@ test('extracts ACL (ON TABLE)', async () => {
1022
1053
  });
1023
1054
  });
1024
1055
 
1056
+ test('extracts OWNER TO (FUNCTION)', async () => {
1057
+ expectSchemeObject({
1058
+ header: {
1059
+ Name: 'notify_foo_insert()',
1060
+ Owner: 'postgres',
1061
+ Schema: 'public',
1062
+ Type: 'FUNCTION',
1063
+ },
1064
+ scope: {
1065
+ name: 'notify_foo_insert',
1066
+ schema: 'public',
1067
+ type: 'FUNCTION',
1068
+ },
1069
+ sql: multiline`
1070
+ ALTER FUNCTION public.notify_foo_insert() OWNER TO postgres;
1071
+ `,
1072
+ });
1073
+ });
1074
+
1075
+ test('extracts OWNER TO (TABLE)', async () => {
1076
+ expectSchemeObject({
1077
+ header: {
1078
+ Name: 'foo',
1079
+ Owner: 'postgres',
1080
+ Schema: 'public',
1081
+ Type: 'TABLE',
1082
+ },
1083
+ scope: {
1084
+ name: 'foo',
1085
+ schema: 'public',
1086
+ type: 'TABLE',
1087
+ },
1088
+ sql: multiline`
1089
+ ALTER TABLE public.foo OWNER TO postgres;
1090
+ `,
1091
+ });
1092
+ });
1093
+
1094
+ test('extracts OWNER TO (TYPE)', async () => {
1095
+ expectSchemeObject({
1096
+ header: {
1097
+ Name: 'status',
1098
+ Owner: 'postgres',
1099
+ Schema: 'public',
1100
+ Type: 'TYPE',
1101
+ },
1102
+ scope: {
1103
+ name: 'status',
1104
+ schema: 'public',
1105
+ type: 'TYPE',
1106
+ },
1107
+ sql: multiline`
1108
+ ALTER TYPE public.status OWNER TO postgres;
1109
+ `,
1110
+ });
1111
+ });
1112
+
1113
+ test('extracts OWNER TO (VIEW)', async () => {
1114
+ expectSchemeObject({
1115
+ header: {
1116
+ Name: 'baz',
1117
+ Owner: 'postgres',
1118
+ Schema: 'public',
1119
+ Type: 'VIEW',
1120
+ },
1121
+ scope: {
1122
+ name: 'baz',
1123
+ schema: 'public',
1124
+ type: 'VIEW',
1125
+ },
1126
+ sql: multiline`
1127
+ ALTER VIEW public.baz OWNER TO postgres;
1128
+ `,
1129
+ });
1130
+ });
1131
+
1025
1132
  test('extracts DEFAULT', async () => {
1026
1133
  expectSchemeObject({
1027
1134
  header: {
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-console */
1
2
  import { z } from 'zod';
2
3
 
3
4
  // These are the attribute less headers, e.g.
@@ -34,6 +35,7 @@ const AttributedHeaderZodSchema = z.object({
34
35
  'SCHEMA',
35
36
  'SEQUENCE OWNED BY',
36
37
  'SEQUENCE',
38
+ 'TABLE ATTACH',
37
39
  'TABLE',
38
40
  'TEXT SEARCH CONFIGURATION',
39
41
  'TEXT SEARCH DICTIONARY',
@@ -64,7 +66,7 @@ const parseValue = (value: string) => {
64
66
  return value;
65
67
  };
66
68
 
67
- const parseAttribute = (attribute: string): [string, string | null] => {
69
+ const parseAttribute = (attribute: string): [string, null | string] => {
68
70
  const [name, value] = attribute.split(':');
69
71
 
70
72
  return [name, parseValue(value.trim())];
@@ -75,36 +77,43 @@ const parseAttribute = (attribute: string): [string, string | null] => {
75
77
  // --
76
78
 
77
79
  const parseHeader = (fragment: string) => {
78
- const lines = fragment.split('\n');
80
+ try {
81
+ const lines = fragment.split('\n');
79
82
 
80
- if (lines.length !== 3) {
81
- throw new Error('Invalid header');
82
- }
83
+ if (lines.length !== 3) {
84
+ throw new Error('Invalid header');
85
+ }
83
86
 
84
- const contentLine = lines[1].slice(3);
87
+ const contentLine = lines[1].slice(3);
85
88
 
86
- if (
87
- contentLine === 'PostgreSQL database dump' ||
88
- contentLine === 'PostgreSQL database dump complete'
89
- ) {
90
- return HeaderZodSchema.parse({
91
- Title: contentLine,
92
- });
93
- }
89
+ if (
90
+ contentLine === 'PostgreSQL database dump' ||
91
+ contentLine === 'PostgreSQL database dump complete'
92
+ ) {
93
+ return HeaderZodSchema.parse({
94
+ Title: contentLine,
95
+ });
96
+ }
94
97
 
95
- const content = Object.fromEntries(
96
- contentLine.split('; ').map((attribute) => {
97
- return parseAttribute(attribute);
98
- }),
99
- );
98
+ const content = Object.fromEntries(
99
+ contentLine.split('; ').map((attribute) => {
100
+ return parseAttribute(attribute);
101
+ }),
102
+ );
100
103
 
101
- const result = HeaderZodSchema.safeParse(content);
104
+ const result = HeaderZodSchema.safeParse(content);
102
105
 
103
- if (!result.success) {
104
- throw new Error('Invalid header');
105
- }
106
+ if (!result.success) {
107
+ throw new Error('Invalid header');
108
+ }
106
109
 
107
- return result.data;
110
+ return result.data;
111
+ } catch (error) {
112
+ console.warn('[pg-dump-parser] failing fragment');
113
+ console.warn(fragment);
114
+
115
+ throw error;
116
+ }
108
117
  };
109
118
 
110
119
  export type SchemaObject = {
@@ -7,7 +7,7 @@ type TableTarget = {
7
7
  };
8
8
 
9
9
  const extractOwnedByTarget = (fragment: string): TableTarget => {
10
- const { schema, name } =
10
+ const { name, schema } =
11
11
  fragment.match(/OWNED BY\s(?<schema>[^.]+)\.(?<name>[^.]+)/u)?.groups ?? {};
12
12
 
13
13
  if (!schema) {
@@ -25,7 +25,7 @@ const extractOwnedByTarget = (fragment: string): TableTarget => {
25
25
  };
26
26
 
27
27
  const extractOnTableTarget = (fragment: string): TableTarget => {
28
- const { schema, name } =
28
+ const { name, schema } =
29
29
  fragment.match(/ON TABLE\s(?<schema>[^.]+)\.(?<name>\S+)/u)?.groups ?? {};
30
30
 
31
31
  if (!schema) {
@@ -43,7 +43,7 @@ const extractOnTableTarget = (fragment: string): TableTarget => {
43
43
  };
44
44
 
45
45
  const extractCreateIndexTarget = (fragment: string): TableTarget => {
46
- const { schema, name } =
46
+ const { name, schema } =
47
47
  fragment.match(/ON\s(?<schema>[^.]+)\.(?<name>\S+)/u)?.groups ?? {};
48
48
 
49
49
  if (!schema) {
@@ -60,48 +60,8 @@ const extractCreateIndexTarget = (fragment: string): TableTarget => {
60
60
  };
61
61
  };
62
62
 
63
- const extractCreateViewTarget = (fragment: string): TableTarget => {
64
- const { schema, name } =
65
- fragment.match(
66
- /CREATE VIEW (?:IF NOT EXISTS\s)?(?<schema>[^.]+)\.(?<name>\S+)/u,
67
- )?.groups ?? {};
68
-
69
- if (!schema) {
70
- throw new Error('Invalid CREATE VIEW target');
71
- }
72
-
73
- if (!name) {
74
- throw new Error('Invalid CREATE VIEW target');
75
- }
76
-
77
- return {
78
- name,
79
- schema,
80
- };
81
- };
82
-
83
- const extractCreateTableTarget = (fragment: string): TableTarget => {
84
- const { schema, name } =
85
- fragment.match(
86
- /CREATE TABLE (?:IF NOT EXISTS\s)?(?<schema>[^.]+)\.(?<name>\S+)/u,
87
- )?.groups ?? {};
88
-
89
- if (!schema) {
90
- throw new Error('Invalid CREATE TABLE target');
91
- }
92
-
93
- if (!name) {
94
- throw new Error('Invalid CREATE TABLE target');
95
- }
96
-
97
- return {
98
- name,
99
- schema,
100
- };
101
- };
102
-
103
63
  const extractAlterTableTarget = (fragment: string): TableTarget => {
104
- const { schema, name } =
64
+ const { name, schema } =
105
65
  fragment.match(/ALTER TABLE (?:ONLY\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)
106
66
  ?.groups ?? {};
107
67
 
@@ -122,7 +82,6 @@ const extractAlterTableTarget = (fragment: string): TableTarget => {
122
82
  const extractFunctionLikeName = (fragment: string): string => {
123
83
  const { name } =
124
84
  fragment.match(
125
- // eslint-disable-next-line unicorn/no-unsafe-regex
126
85
  /(?:AGGREGATE|FUNCTION|PROCEDURE)\s+(?:(?<schema>\S+)\.)?(?<name>\w+)\s*\(/u,
127
86
  )?.groups ?? {};
128
87
 
@@ -145,6 +104,7 @@ type CommentOnTarget = {
145
104
  | 'PROCEDURE'
146
105
  | 'SEQUENCE'
147
106
  | 'TABLE'
107
+ | 'TRIGGER'
148
108
  | 'TYPE'
149
109
  | 'VIEW';
150
110
  };
@@ -197,10 +157,10 @@ const findTableLikeOwner = (
197
157
  schemaObjects: AttributedSchemaObject[],
198
158
  name: string,
199
159
  schema: string,
200
- ): SchemaObjectScope | null => {
160
+ ): null | SchemaObjectScope => {
201
161
  const targetSchemaObject = schemaObjects.find((schemaObject) => {
202
162
  return (
203
- ['TABLE', 'VIEW', 'MATERIALIZED VIEW'].includes(
163
+ ['MATERIALIZED VIEW', 'TABLE', 'VIEW'].includes(
204
164
  schemaObject.header.Type,
205
165
  ) &&
206
166
  schemaObject.header.Name === name &&
@@ -222,11 +182,10 @@ const findTableLikeOwner = (
222
182
  };
223
183
  };
224
184
 
225
- // eslint-disable-next-line complexity
226
185
  const scopeComment = (
227
186
  schemaObjects: AttributedSchemaObject[],
228
187
  subject: AttributedSchemaObject,
229
- ): SchemaObjectScope | null => {
188
+ ): null | SchemaObjectScope => {
230
189
  const target = extractCommentOnTarget(subject.sql);
231
190
 
232
191
  if (target.type === 'AGGREGATE') {
@@ -237,14 +196,6 @@ const scopeComment = (
237
196
  };
238
197
  }
239
198
 
240
- if (target.type === 'COLUMN') {
241
- const [schema, name] = z
242
- .tuple([z.string(), z.string(), z.string()])
243
- .parse(target.target.split('.'));
244
-
245
- return findTableLikeOwner(schemaObjects, name, schema);
246
- }
247
-
248
199
  if (target.type === 'EXTENSION') {
249
200
  return {
250
201
  name: target.target,
@@ -253,6 +204,14 @@ const scopeComment = (
253
204
  };
254
205
  }
255
206
 
207
+ if (target.type === 'COLUMN') {
208
+ const [schema, name] = z
209
+ .tuple([z.string(), z.string(), z.string()])
210
+ .parse(target.target.split('.'));
211
+
212
+ return findTableLikeOwner(schemaObjects, name, schema);
213
+ }
214
+
256
215
  if (target.type === 'FUNCTION') {
257
216
  return {
258
217
  name: extractFunctionLikeName(subject.header.Name),
@@ -383,24 +342,15 @@ const scopeComment = (
383
342
  return null;
384
343
  };
385
344
 
386
- // eslint-disable-next-line complexity
387
345
  const scopeAttributedSchemaObject = (
388
346
  schemaObjects: AttributedSchemaObject[],
389
347
  subject: AttributedSchemaObject,
390
- ): SchemaObjectScope | null => {
391
- if (subject.header.Type === 'FUNCTION') {
392
- return {
393
- name: subject.header.Name.split('(')[0],
394
- schema: subject.header.Schema ?? 'public',
395
- type: 'FUNCTION',
396
- };
397
- }
398
-
399
- if (subject.header.Type === 'PROCEDURE') {
348
+ ): null | SchemaObjectScope => {
349
+ if (subject.header.Type === 'AGGREGATE') {
400
350
  return {
401
351
  name: subject.header.Name.split('(')[0],
402
352
  schema: subject.header.Schema ?? 'public',
403
- type: 'PROCEDURE',
353
+ type: 'AGGREGATE',
404
354
  };
405
355
  }
406
356
 
@@ -412,19 +362,19 @@ const scopeAttributedSchemaObject = (
412
362
  };
413
363
  }
414
364
 
415
- if (subject.header.Type === 'TYPE') {
365
+ if (subject.header.Type === 'FUNCTION') {
416
366
  return {
417
- name: subject.header.Name,
367
+ name: subject.header.Name.split('(')[0],
418
368
  schema: subject.header.Schema ?? 'public',
419
- type: 'TYPE',
369
+ type: 'FUNCTION',
420
370
  };
421
371
  }
422
372
 
423
- if (subject.header.Type === 'AGGREGATE') {
373
+ if (subject.header.Type === 'EXTENSION') {
424
374
  return {
425
- name: subject.header.Name.split('(')[0],
426
- schema: subject.header.Schema ?? 'public',
427
- type: 'AGGREGATE',
375
+ name: subject.header.Name,
376
+ schema: null,
377
+ type: 'EXTENSION',
428
378
  };
429
379
  }
430
380
 
@@ -438,50 +388,54 @@ const scopeAttributedSchemaObject = (
438
388
  );
439
389
  }
440
390
 
441
- if (subject.header.Type === 'EXTENSION') {
391
+ if (subject.header.Type === 'MATERIALIZED VIEW') {
442
392
  return {
443
393
  name: subject.header.Name,
444
- schema: null,
445
- type: 'EXTENSION',
394
+ schema: subject.header.Schema ?? 'public',
395
+ type: 'MATERIALIZED VIEW',
446
396
  };
447
397
  }
448
398
 
449
- if (subject.header.Type === 'MATERIALIZED VIEW') {
399
+ if (subject.header.Type === 'PROCEDURE') {
450
400
  return {
451
- name: subject.header.Name,
401
+ name: subject.header.Name.split('(')[0],
452
402
  schema: subject.header.Schema ?? 'public',
453
- type: 'MATERIALIZED VIEW',
403
+ type: 'PROCEDURE',
454
404
  };
455
405
  }
456
406
 
457
- if (subject.sql.startsWith('CREATE VIEW ')) {
458
- const target = extractCreateViewTarget(subject.sql);
407
+ if (subject.header.Type === 'SEQUENCE') {
408
+ // Handled by ALTER TABLE
409
+ }
459
410
 
411
+ if (subject.header.Type === 'TABLE') {
460
412
  return {
461
- name: target.name,
462
- schema: target.schema,
463
- type: 'VIEW',
413
+ name: subject.header.Name,
414
+ schema: subject.header.Schema ?? 'public',
415
+ type: 'TABLE',
464
416
  };
465
417
  }
466
418
 
467
- if (subject.sql.startsWith('CREATE TABLE ')) {
468
- const target = extractCreateTableTarget(subject.sql);
419
+ if (subject.header.Type === 'TYPE') {
420
+ return {
421
+ name: subject.header.Name,
422
+ schema: subject.header.Schema ?? 'public',
423
+ type: 'TYPE',
424
+ };
425
+ }
469
426
 
427
+ if (subject.header.Type === 'VIEW') {
470
428
  return {
471
- name: target.name,
472
- schema: target.schema,
473
- type: 'TABLE',
429
+ name: subject.header.Name,
430
+ schema: subject.header.Schema ?? 'public',
431
+ type: 'VIEW',
474
432
  };
475
433
  }
476
434
 
477
435
  if (subject.sql.startsWith('ALTER TABLE ')) {
478
- const alterTableTarget = extractAlterTableTarget(subject.sql);
436
+ const target = extractAlterTableTarget(subject.sql);
479
437
 
480
- return findTableLikeOwner(
481
- schemaObjects,
482
- alterTableTarget.name,
483
- alterTableTarget.schema,
484
- );
438
+ return findTableLikeOwner(schemaObjects, target.name, target.schema);
485
439
  }
486
440
 
487
441
  if (subject.sql.startsWith('COMMENT ON ')) {
@@ -518,7 +472,7 @@ const scopeAttributedSchemaObject = (
518
472
  export const scopeSchemaObject = (
519
473
  schemaObjects: SchemaObject[],
520
474
  subject: SchemaObject,
521
- ): SchemaObjectScope | null => {
475
+ ): null | SchemaObjectScope => {
522
476
  if (!('Type' in subject.header)) {
523
477
  return null;
524
478
  }