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 +112 -1
- package/dist/parsePgDump.d.ts +6 -6
- package/dist/parsePgDump.d.ts.map +1 -1
- package/dist/parsePgDump.js +26 -17
- package/dist/parsePgDump.js.map +1 -1
- package/dist/parsePgDump.test.js +103 -0
- package/dist/parsePgDump.test.js.map +1 -1
- package/dist/scopeSchemaObject.d.ts +1 -1
- package/dist/scopeSchemaObject.d.ts.map +1 -1
- package/dist/scopeSchemaObject.js +51 -82
- package/dist/scopeSchemaObject.js.map +1 -1
- package/package.json +3 -3
- package/src/parsePgDump.test.ts +110 -3
- package/src/parsePgDump.ts +33 -24
- package/src/scopeSchemaObject.ts +53 -99
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
|
-
|
|
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
|
package/dist/parsePgDump.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/parsePgDump.js
CHANGED
|
@@ -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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
contentLine === 'PostgreSQL database dump
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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 = [];
|
package/dist/parsePgDump.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsePgDump.js","sourceRoot":"","sources":["../src/parsePgDump.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,6CAA6C;AAC7C,KAAK;AACL,8BAA8B;AAC9B,KAAK;AACL,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,8CAA8C;AAC9C,KAAK;AACL,wDAAwD;AACxD,KAAK;AACL,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC;QACX,KAAK;QACL,WAAW;QACX,MAAM;QACN,SAAS;QACT,YAAY;QACZ,aAAa;QACb,SAAS;QACT,WAAW;QACX,eAAe;QACf,UAAU;QACV,OAAO;QACP,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,QAAQ;QACR,mBAAmB;QACnB,UAAU;QACV,OAAO;QACP,2BAA2B;QAC3B,wBAAwB;QACxB,SAAS;QACT,MAAM;QACN,MAAM;KACP,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,OAAC,CAAC,KAAK,CAAC;IAC9B,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC,CAAC;AAMH,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAW,EAAE;IAC7C,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;IACnC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;QACxD,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,SAAiB,EAA2B,EAAE;IACpE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3C,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,KAAK;AACL,yEAAyE;AACzE,KAAK;AAEL,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parsePgDump.js","sourceRoot":"","sources":["../src/parsePgDump.ts"],"names":[],"mappings":"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"}
|
package/dist/parsePgDump.test.js
CHANGED
|
@@ -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) =>
|
|
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;
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 (['
|
|
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 === '
|
|
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: '
|
|
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: (
|
|
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 === '
|
|
232
|
+
if (subject.header.Type === 'FUNCTION') {
|
|
272
233
|
return {
|
|
273
|
-
name: subject.header.Name,
|
|
274
|
-
schema: (
|
|
275
|
-
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 === '
|
|
239
|
+
if (subject.header.Type === 'EXTENSION') {
|
|
279
240
|
return {
|
|
280
|
-
name: subject.header.Name
|
|
281
|
-
schema:
|
|
282
|
-
type: '
|
|
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 === '
|
|
250
|
+
if (subject.header.Type === 'MATERIALIZED VIEW') {
|
|
290
251
|
return {
|
|
291
252
|
name: subject.header.Name,
|
|
292
|
-
schema: null,
|
|
293
|
-
type: '
|
|
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 === '
|
|
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: '
|
|
271
|
+
type: 'TABLE',
|
|
301
272
|
};
|
|
302
273
|
}
|
|
303
|
-
if (subject.
|
|
304
|
-
const target = extractCreateViewTarget(subject.sql);
|
|
274
|
+
if (subject.header.Type === 'TYPE') {
|
|
305
275
|
return {
|
|
306
|
-
name:
|
|
307
|
-
schema:
|
|
308
|
-
type: '
|
|
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.
|
|
312
|
-
const target = extractCreateTableTarget(subject.sql);
|
|
281
|
+
if (subject.header.Type === 'VIEW') {
|
|
313
282
|
return {
|
|
314
|
-
name:
|
|
315
|
-
schema:
|
|
316
|
-
type: '
|
|
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
|
|
321
|
-
return findTableLikeOwner(schemaObjects,
|
|
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 (
|
|
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 (
|
|
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":"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"}
|
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": "^
|
|
19
|
-
"eslint-config-canonical": "^
|
|
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.
|
|
59
|
+
"version": "1.7.0"
|
|
60
60
|
}
|
package/src/parsePgDump.test.ts
CHANGED
|
@@ -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:
|
|
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: {
|
package/src/parsePgDump.ts
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
80
|
+
try {
|
|
81
|
+
const lines = fragment.split('\n');
|
|
79
82
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
if (lines.length !== 3) {
|
|
84
|
+
throw new Error('Invalid header');
|
|
85
|
+
}
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
const contentLine = lines[1].slice(3);
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
const content = Object.fromEntries(
|
|
99
|
+
contentLine.split('; ').map((attribute) => {
|
|
100
|
+
return parseAttribute(attribute);
|
|
101
|
+
}),
|
|
102
|
+
);
|
|
100
103
|
|
|
101
|
-
|
|
104
|
+
const result = HeaderZodSchema.safeParse(content);
|
|
102
105
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
+
if (!result.success) {
|
|
107
|
+
throw new Error('Invalid header');
|
|
108
|
+
}
|
|
106
109
|
|
|
107
|
-
|
|
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 = {
|
package/src/scopeSchemaObject.ts
CHANGED
|
@@ -7,7 +7,7 @@ type TableTarget = {
|
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
const extractOwnedByTarget = (fragment: string): TableTarget => {
|
|
10
|
-
const {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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
|
-
):
|
|
160
|
+
): null | SchemaObjectScope => {
|
|
201
161
|
const targetSchemaObject = schemaObjects.find((schemaObject) => {
|
|
202
162
|
return (
|
|
203
|
-
['
|
|
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
|
-
):
|
|
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
|
-
):
|
|
391
|
-
if (subject.header.Type === '
|
|
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: '
|
|
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 === '
|
|
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: '
|
|
369
|
+
type: 'FUNCTION',
|
|
420
370
|
};
|
|
421
371
|
}
|
|
422
372
|
|
|
423
|
-
if (subject.header.Type === '
|
|
373
|
+
if (subject.header.Type === 'EXTENSION') {
|
|
424
374
|
return {
|
|
425
|
-
name: subject.header.Name
|
|
426
|
-
schema:
|
|
427
|
-
type: '
|
|
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 === '
|
|
391
|
+
if (subject.header.Type === 'MATERIALIZED VIEW') {
|
|
442
392
|
return {
|
|
443
393
|
name: subject.header.Name,
|
|
444
|
-
schema:
|
|
445
|
-
type: '
|
|
394
|
+
schema: subject.header.Schema ?? 'public',
|
|
395
|
+
type: 'MATERIALIZED VIEW',
|
|
446
396
|
};
|
|
447
397
|
}
|
|
448
398
|
|
|
449
|
-
if (subject.header.Type === '
|
|
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: '
|
|
403
|
+
type: 'PROCEDURE',
|
|
454
404
|
};
|
|
455
405
|
}
|
|
456
406
|
|
|
457
|
-
if (subject.
|
|
458
|
-
|
|
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:
|
|
462
|
-
schema:
|
|
463
|
-
type: '
|
|
413
|
+
name: subject.header.Name,
|
|
414
|
+
schema: subject.header.Schema ?? 'public',
|
|
415
|
+
type: 'TABLE',
|
|
464
416
|
};
|
|
465
417
|
}
|
|
466
418
|
|
|
467
|
-
if (subject.
|
|
468
|
-
|
|
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:
|
|
472
|
-
schema:
|
|
473
|
-
type: '
|
|
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
|
|
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
|
-
):
|
|
475
|
+
): null | SchemaObjectScope => {
|
|
522
476
|
if (!('Type' in subject.header)) {
|
|
523
477
|
return null;
|
|
524
478
|
}
|