pg-dump-parser 1.3.0 → 1.5.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.
@@ -197,6 +197,20 @@ CREATE VIEW public.baz AS
197
197
 
198
198
  ALTER VIEW public.baz OWNER TO postgres;
199
199
 
200
+ --
201
+ -- Name: VIEW baz; Type: COMMENT; Schema: public; Owner: postgres
202
+ --
203
+
204
+ COMMENT ON VIEW public.baz IS 'View comment x';
205
+
206
+
207
+ --
208
+ -- Name: COLUMN baz.id; Type: COMMENT; Schema: public; Owner: postgres
209
+ --
210
+
211
+ COMMENT ON COLUMN public.baz.id IS 'Column comment x';
212
+
213
+
200
214
  --
201
215
  -- Name: corge; Type: TABLE; Schema: public; Owner: postgres
202
216
  --
@@ -290,6 +304,20 @@ CREATE MATERIALIZED VIEW public.qux AS
290
304
 
291
305
  ALTER MATERIALIZED VIEW public.qux OWNER TO postgres;
292
306
 
307
+ --
308
+ -- Name: MATERIALIZED VIEW qux; Type: COMMENT; Schema: public; Owner: postgres
309
+ --
310
+
311
+ COMMENT ON MATERIALIZED VIEW public.qux IS 'Materialized view comment x';
312
+
313
+
314
+ --
315
+ -- Name: COLUMN qux.id; Type: COMMENT; Schema: public; Owner: postgres
316
+ --
317
+
318
+ COMMENT ON COLUMN public.qux.id IS 'Column comment x';
319
+
320
+
293
321
  --
294
322
  -- Name: corge id; Type: DEFAULT; Schema: public; Owner: postgres
295
323
  --
@@ -334,6 +362,13 @@ COMMENT ON INDEX public.foo_pkey IS 'Index comment x';
334
362
  CREATE INDEX qux_name_idx ON public.qux USING btree (name);
335
363
 
336
364
 
365
+ --
366
+ -- Name: INDEX qux_name_idx; Type: COMMENT; Schema: public; Owner: postgres
367
+ --
368
+
369
+ COMMENT ON INDEX public.qux_name_idx IS 'Index comment x';
370
+
371
+
337
372
  --
338
373
  -- Name: foo foo_insert_trigger; Type: TRIGGER; Schema: public; Owner: postgres
339
374
  --
@@ -463,7 +498,43 @@ const expectSchemeObject = (expectedSchemaObject) => {
463
498
  `,
464
499
  });
465
500
  });
466
- (0, vitest_1.test)('extracts COMMENT on COLUMN', async () => {
501
+ (0, vitest_1.test)('extracts COMMENT on VIEW', async () => {
502
+ expectSchemeObject({
503
+ header: {
504
+ Name: 'VIEW baz',
505
+ Owner: 'postgres',
506
+ Schema: 'public',
507
+ Type: 'COMMENT',
508
+ },
509
+ scope: {
510
+ name: 'baz',
511
+ schema: 'public',
512
+ type: 'VIEW',
513
+ },
514
+ sql: (0, multiline_ts_1.default) `
515
+ COMMENT ON VIEW public.baz IS 'View comment x';
516
+ `,
517
+ });
518
+ });
519
+ (0, vitest_1.test)('extracts COMMENT on MATERIALIZED VIEW', async () => {
520
+ expectSchemeObject({
521
+ header: {
522
+ Name: 'MATERIALIZED VIEW qux',
523
+ Owner: 'postgres',
524
+ Schema: 'public',
525
+ Type: 'COMMENT',
526
+ },
527
+ scope: {
528
+ name: 'qux',
529
+ schema: 'public',
530
+ type: 'MATERIALIZED VIEW',
531
+ },
532
+ sql: (0, multiline_ts_1.default) `
533
+ COMMENT ON MATERIALIZED VIEW public.qux IS 'Materialized view comment x';
534
+ `,
535
+ });
536
+ });
537
+ (0, vitest_1.test)('extracts COMMENT on COLUMN (TABLE)', async () => {
467
538
  expectSchemeObject({
468
539
  header: {
469
540
  Name: 'COLUMN foo.id',
@@ -481,7 +552,43 @@ const expectSchemeObject = (expectedSchemaObject) => {
481
552
  `,
482
553
  });
483
554
  });
484
- (0, vitest_1.test)('extracts COMMENT on INDEX', async () => {
555
+ (0, vitest_1.test)('extracts COMMENT on COLUMN (VIEW)', async () => {
556
+ expectSchemeObject({
557
+ header: {
558
+ Name: 'COLUMN baz.id',
559
+ Owner: 'postgres',
560
+ Schema: 'public',
561
+ Type: 'COMMENT',
562
+ },
563
+ scope: {
564
+ name: 'baz',
565
+ schema: 'public',
566
+ type: 'VIEW',
567
+ },
568
+ sql: (0, multiline_ts_1.default) `
569
+ COMMENT ON COLUMN public.baz.id IS 'Column comment x';
570
+ `,
571
+ });
572
+ });
573
+ (0, vitest_1.test)('extracts COMMENT on COLUMN (MATERIALIZED VIEW)', async () => {
574
+ expectSchemeObject({
575
+ header: {
576
+ Name: 'COLUMN qux.id',
577
+ Owner: 'postgres',
578
+ Schema: 'public',
579
+ Type: 'COMMENT',
580
+ },
581
+ scope: {
582
+ name: 'qux',
583
+ schema: 'public',
584
+ type: 'MATERIALIZED VIEW',
585
+ },
586
+ sql: (0, multiline_ts_1.default) `
587
+ COMMENT ON COLUMN public.qux.id IS 'Column comment x';
588
+ `,
589
+ });
590
+ });
591
+ (0, vitest_1.test)('extracts COMMENT on INDEX (TABLE)', async () => {
485
592
  expectSchemeObject({
486
593
  header: {
487
594
  Name: 'INDEX foo_pkey',
@@ -499,6 +606,24 @@ const expectSchemeObject = (expectedSchemaObject) => {
499
606
  `,
500
607
  });
501
608
  });
609
+ (0, vitest_1.test)('extracts COMMENT on INDEX (MATERIALIZED VIEW)', async () => {
610
+ expectSchemeObject({
611
+ header: {
612
+ Name: 'INDEX qux_name_idx',
613
+ Owner: 'postgres',
614
+ Schema: 'public',
615
+ Type: 'COMMENT',
616
+ },
617
+ scope: {
618
+ name: 'qux',
619
+ schema: 'public',
620
+ type: 'MATERIALIZED VIEW',
621
+ },
622
+ sql: (0, multiline_ts_1.default) `
623
+ COMMENT ON INDEX public.qux_name_idx IS 'Index comment x';
624
+ `,
625
+ });
626
+ });
502
627
  (0, vitest_1.test)('extracts COMMENT on SEQUENCE', async () => {
503
628
  expectSchemeObject({
504
629
  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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"}
@@ -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;AAyKzE,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;AAkRN,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;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"}
@@ -98,7 +98,7 @@ const extractFunctionLikeName = (fragment) => {
98
98
  };
99
99
  const extractCommentOnTarget = (fragment) => {
100
100
  var _a, _b;
101
- const { target, type } = (_b = (_a = fragment.match(/COMMENT ON (?<type>AGGREGATE|COLUMN|EXTENSION|FUNCTION|INDEX|PROCEDURE|SEQUENCE|TABLE|TYPE)\s(?<target>.+?) IS/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
101
+ const { target, type } = (_b = (_a = fragment.match(/COMMENT ON (?<type>AGGREGATE|COLUMN|EXTENSION|FUNCTION|INDEX|MATERIALIZED VIEW|PROCEDURE|SEQUENCE|TABLE|TYPE|VIEW)\s(?<target>.+?) IS/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
102
102
  if (!target) {
103
103
  throw new Error('Invalid COMMENT ON target (missing target)');
104
104
  }
@@ -110,9 +110,147 @@ const extractCommentOnTarget = (fragment) => {
110
110
  type: type,
111
111
  };
112
112
  };
113
+ const findTableLikeOwner = (schemaObjects, name, schema) => {
114
+ const targetSchemaObject = schemaObjects.find((schemaObject) => {
115
+ return (['TABLE', 'VIEW', 'MATERIALIZED VIEW'].includes(schemaObject.header.Type) &&
116
+ schemaObject.header.Name === name &&
117
+ schemaObject.header.Schema === schema);
118
+ });
119
+ if (!targetSchemaObject) {
120
+ return null;
121
+ }
122
+ return {
123
+ name,
124
+ schema,
125
+ type: targetSchemaObject.header.Type,
126
+ };
127
+ };
128
+ // eslint-disable-next-line complexity
129
+ const scopeComment = (schemaObjects, subject) => {
130
+ var _a, _b, _c, _d, _e;
131
+ const target = extractCommentOnTarget(subject.sql);
132
+ if (target.type === 'AGGREGATE') {
133
+ return {
134
+ name: extractFunctionLikeName(subject.header.Name),
135
+ schema: (_a = subject.header.Schema) !== null && _a !== void 0 ? _a : 'public',
136
+ type: 'AGGREGATE',
137
+ };
138
+ }
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
+ if (target.type === 'EXTENSION') {
146
+ return {
147
+ name: target.target,
148
+ schema: null,
149
+ type: 'EXTENSION',
150
+ };
151
+ }
152
+ if (target.type === 'FUNCTION') {
153
+ return {
154
+ name: extractFunctionLikeName(subject.header.Name),
155
+ schema: (_b = subject.header.Schema) !== null && _b !== void 0 ? _b : 'public',
156
+ type: 'FUNCTION',
157
+ };
158
+ }
159
+ if (target.type === 'INDEX') {
160
+ const [schema, indexName] = zod_1.z
161
+ .tuple([zod_1.z.string(), zod_1.z.string()])
162
+ .parse(target.target.split('.'));
163
+ const indexSchemaObject = schemaObjects.find((schemaObject) => {
164
+ if (schemaObject.header.Type !== 'INDEX') {
165
+ return false;
166
+ }
167
+ return schemaObject.header.Name === indexName;
168
+ });
169
+ if (indexSchemaObject) {
170
+ const indexTarget = extractCreateIndexTarget(indexSchemaObject.sql);
171
+ return findTableLikeOwner(schemaObjects, indexTarget.name, indexTarget.schema);
172
+ }
173
+ const constraintSchemaObject = schemaObjects.find((schemaObject) => {
174
+ if (schemaObject.header.Type !== 'CONSTRAINT') {
175
+ return false;
176
+ }
177
+ return schemaObject.header.Name.split(' ')[1] === indexName;
178
+ });
179
+ if (constraintSchemaObject) {
180
+ const [tableName] = constraintSchemaObject.header.Name.split(' ');
181
+ return findTableLikeOwner(schemaObjects, tableName, schema);
182
+ }
183
+ }
184
+ if (target.type === 'MATERIALIZED VIEW') {
185
+ return {
186
+ name: subject.header.Name.replace('MATERIALIZED VIEW ', ''),
187
+ schema: (_c = subject.header.Schema) !== null && _c !== void 0 ? _c : 'public',
188
+ type: 'MATERIALIZED VIEW',
189
+ };
190
+ }
191
+ if (target.type === 'PROCEDURE') {
192
+ return {
193
+ name: extractFunctionLikeName(subject.header.Name),
194
+ schema: (_d = subject.header.Schema) !== null && _d !== void 0 ? _d : 'public',
195
+ type: 'PROCEDURE',
196
+ };
197
+ }
198
+ if (target.type === 'SEQUENCE') {
199
+ const [schemaName, sequenceName] = zod_1.z
200
+ .tuple([zod_1.z.string(), zod_1.z.string()])
201
+ .parse(target.target.split('.'));
202
+ const sequenceSchemaObject = schemaObjects.find((schemaObject) => {
203
+ if (schemaObject.header.Type !== 'SEQUENCE') {
204
+ return false;
205
+ }
206
+ return (schemaObject.header.Name === sequenceName &&
207
+ schemaObject.header.Schema === schemaName);
208
+ });
209
+ if (!sequenceSchemaObject) {
210
+ throw new Error('Sequence not found');
211
+ }
212
+ const alterTableTarget = extractAlterTableTarget(sequenceSchemaObject.sql);
213
+ return {
214
+ name: alterTableTarget.name,
215
+ schema: alterTableTarget.schema,
216
+ type: 'TABLE',
217
+ };
218
+ }
219
+ if (target.type === 'TABLE') {
220
+ const [schema, name] = zod_1.z
221
+ .tuple([zod_1.z.string(), zod_1.z.string()])
222
+ .parse(target.target.split('.'));
223
+ return {
224
+ name,
225
+ schema,
226
+ type: 'TABLE',
227
+ };
228
+ }
229
+ if (target.type === 'VIEW') {
230
+ const [schema, name] = zod_1.z
231
+ .tuple([zod_1.z.string(), zod_1.z.string()])
232
+ .parse(target.target.split('.'));
233
+ return {
234
+ name,
235
+ schema,
236
+ type: 'VIEW',
237
+ };
238
+ }
239
+ if (target.type === 'TYPE') {
240
+ const [, typeName] = zod_1.z
241
+ .tuple([zod_1.z.string(), zod_1.z.string()])
242
+ .parse(subject.header.Name.split(' '));
243
+ return {
244
+ name: typeName,
245
+ schema: (_e = subject.header.Schema) !== null && _e !== void 0 ? _e : 'public',
246
+ type: 'TYPE',
247
+ };
248
+ }
249
+ return null;
250
+ };
113
251
  // eslint-disable-next-line complexity
114
252
  const scopeAttributedSchemaObject = (schemaObjects, subject) => {
115
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
253
+ var _a, _b, _c, _d, _e, _f;
116
254
  if (subject.header.Type === 'FUNCTION') {
117
255
  return {
118
256
  name: subject.header.Name.split('(')[0],
@@ -195,114 +333,7 @@ const scopeAttributedSchemaObject = (schemaObjects, subject) => {
195
333
  };
196
334
  }
197
335
  if (subject.sql.startsWith('COMMENT ON ')) {
198
- const target = extractCommentOnTarget(subject.sql);
199
- if (target.type === 'EXTENSION') {
200
- return {
201
- name: target.target,
202
- schema: null,
203
- type: 'EXTENSION',
204
- };
205
- }
206
- if (target.type === 'TABLE') {
207
- const [schema, name] = zod_1.z
208
- .tuple([zod_1.z.string(), zod_1.z.string()])
209
- .parse(target.target.split('.'));
210
- return {
211
- name,
212
- schema,
213
- type: 'TABLE',
214
- };
215
- }
216
- if (target.type === 'COLUMN') {
217
- const [schema, name] = zod_1.z
218
- .tuple([zod_1.z.string(), zod_1.z.string(), zod_1.z.string()])
219
- .parse(target.target.split('.'));
220
- return {
221
- name,
222
- schema,
223
- type: 'TABLE',
224
- };
225
- }
226
- if (target.type === 'INDEX') {
227
- const [schema, indexName] = zod_1.z
228
- .tuple([zod_1.z.string(), zod_1.z.string()])
229
- .parse(target.target.split('.'));
230
- const indexSchemaObject = schemaObjects.find((schemaObject) => {
231
- if (schemaObject.header.Type !== 'INDEX') {
232
- return false;
233
- }
234
- return schemaObject.header.Name === indexName;
235
- });
236
- if (indexSchemaObject) {
237
- throw new Error('Not implemented');
238
- }
239
- const constraintSchemaObject = schemaObjects.find((schemaObject) => {
240
- if (schemaObject.header.Type !== 'CONSTRAINT') {
241
- return false;
242
- }
243
- return schemaObject.header.Name.split(' ')[1] === indexName;
244
- });
245
- if (constraintSchemaObject) {
246
- const [tableName] = constraintSchemaObject.header.Name.split(' ');
247
- return {
248
- name: tableName,
249
- schema,
250
- type: 'TABLE',
251
- };
252
- }
253
- }
254
- if (target.type === 'SEQUENCE') {
255
- const [schemaName, sequenceName] = zod_1.z
256
- .tuple([zod_1.z.string(), zod_1.z.string()])
257
- .parse(target.target.split('.'));
258
- const sequenceSchemaObject = schemaObjects.find((schemaObject) => {
259
- if (schemaObject.header.Type !== 'SEQUENCE') {
260
- return false;
261
- }
262
- return (schemaObject.header.Name === sequenceName &&
263
- schemaObject.header.Schema === schemaName);
264
- });
265
- if (!sequenceSchemaObject) {
266
- throw new Error('Sequence not found');
267
- }
268
- const alterTableTarget = extractAlterTableTarget(sequenceSchemaObject.sql);
269
- return {
270
- name: alterTableTarget.name,
271
- schema: alterTableTarget.schema,
272
- type: 'TABLE',
273
- };
274
- }
275
- if (target.type === 'TYPE') {
276
- const [, typeName] = zod_1.z
277
- .tuple([zod_1.z.string(), zod_1.z.string()])
278
- .parse(subject.header.Name.split(' '));
279
- return {
280
- name: typeName,
281
- schema: (_g = subject.header.Schema) !== null && _g !== void 0 ? _g : 'public',
282
- type: 'TYPE',
283
- };
284
- }
285
- if (target.type === 'FUNCTION') {
286
- return {
287
- name: extractFunctionLikeName(subject.header.Name),
288
- schema: (_h = subject.header.Schema) !== null && _h !== void 0 ? _h : 'public',
289
- type: 'FUNCTION',
290
- };
291
- }
292
- if (target.type === 'AGGREGATE') {
293
- return {
294
- name: extractFunctionLikeName(subject.header.Name),
295
- schema: (_j = subject.header.Schema) !== null && _j !== void 0 ? _j : 'public',
296
- type: 'AGGREGATE',
297
- };
298
- }
299
- if (target.type === 'PROCEDURE') {
300
- return {
301
- name: extractFunctionLikeName(subject.header.Name),
302
- schema: (_k = subject.header.Schema) !== null && _k !== void 0 ? _k : 'public',
303
- type: 'PROCEDURE',
304
- };
305
- }
336
+ return scopeComment(schemaObjects, subject);
306
337
  }
307
338
  try {
308
339
  const target = extractOwnedByTarget(subject.sql);
@@ -312,7 +343,7 @@ const scopeAttributedSchemaObject = (schemaObjects, subject) => {
312
343
  type: 'TABLE',
313
344
  };
314
345
  }
315
- catch (_l) {
346
+ catch (_g) {
316
347
  // ignore
317
348
  }
318
349
  try {
@@ -323,7 +354,7 @@ const scopeAttributedSchemaObject = (schemaObjects, subject) => {
323
354
  type: 'TABLE',
324
355
  };
325
356
  }
326
- catch (_m) {
357
+ catch (_h) {
327
358
  // ignore
328
359
  }
329
360
  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
@@ -56,5 +56,5 @@
56
56
  "test:vitest": "vitest --run --passWithNoTests"
57
57
  },
58
58
  "types": "./dist/index.d.ts",
59
- "version": "1.3.0"
59
+ "version": "1.5.0"
60
60
  }
@@ -194,6 +194,20 @@ CREATE VIEW public.baz AS
194
194
 
195
195
  ALTER VIEW public.baz OWNER TO postgres;
196
196
 
197
+ --
198
+ -- Name: VIEW baz; Type: COMMENT; Schema: public; Owner: postgres
199
+ --
200
+
201
+ COMMENT ON VIEW public.baz IS 'View comment x';
202
+
203
+
204
+ --
205
+ -- Name: COLUMN baz.id; Type: COMMENT; Schema: public; Owner: postgres
206
+ --
207
+
208
+ COMMENT ON COLUMN public.baz.id IS 'Column comment x';
209
+
210
+
197
211
  --
198
212
  -- Name: corge; Type: TABLE; Schema: public; Owner: postgres
199
213
  --
@@ -287,6 +301,20 @@ CREATE MATERIALIZED VIEW public.qux AS
287
301
 
288
302
  ALTER MATERIALIZED VIEW public.qux OWNER TO postgres;
289
303
 
304
+ --
305
+ -- Name: MATERIALIZED VIEW qux; Type: COMMENT; Schema: public; Owner: postgres
306
+ --
307
+
308
+ COMMENT ON MATERIALIZED VIEW public.qux IS 'Materialized view comment x';
309
+
310
+
311
+ --
312
+ -- Name: COLUMN qux.id; Type: COMMENT; Schema: public; Owner: postgres
313
+ --
314
+
315
+ COMMENT ON COLUMN public.qux.id IS 'Column comment x';
316
+
317
+
290
318
  --
291
319
  -- Name: corge id; Type: DEFAULT; Schema: public; Owner: postgres
292
320
  --
@@ -331,6 +359,13 @@ COMMENT ON INDEX public.foo_pkey IS 'Index comment x';
331
359
  CREATE INDEX qux_name_idx ON public.qux USING btree (name);
332
360
 
333
361
 
362
+ --
363
+ -- Name: INDEX qux_name_idx; Type: COMMENT; Schema: public; Owner: postgres
364
+ --
365
+
366
+ COMMENT ON INDEX public.qux_name_idx IS 'Index comment x';
367
+
368
+
334
369
  --
335
370
  -- Name: foo foo_insert_trigger; Type: TRIGGER; Schema: public; Owner: postgres
336
371
  --
@@ -479,7 +514,45 @@ test('extracts COMMENT on TABLE', async () => {
479
514
  });
480
515
  });
481
516
 
482
- test('extracts COMMENT on COLUMN', async () => {
517
+ test('extracts COMMENT on VIEW', async () => {
518
+ expectSchemeObject({
519
+ header: {
520
+ Name: 'VIEW baz',
521
+ Owner: 'postgres',
522
+ Schema: 'public',
523
+ Type: 'COMMENT',
524
+ },
525
+ scope: {
526
+ name: 'baz',
527
+ schema: 'public',
528
+ type: 'VIEW',
529
+ },
530
+ sql: multiline`
531
+ COMMENT ON VIEW public.baz IS 'View comment x';
532
+ `,
533
+ });
534
+ });
535
+
536
+ test('extracts COMMENT on MATERIALIZED VIEW', async () => {
537
+ expectSchemeObject({
538
+ header: {
539
+ Name: 'MATERIALIZED VIEW qux',
540
+ Owner: 'postgres',
541
+ Schema: 'public',
542
+ Type: 'COMMENT',
543
+ },
544
+ scope: {
545
+ name: 'qux',
546
+ schema: 'public',
547
+ type: 'MATERIALIZED VIEW',
548
+ },
549
+ sql: multiline`
550
+ COMMENT ON MATERIALIZED VIEW public.qux IS 'Materialized view comment x';
551
+ `,
552
+ });
553
+ });
554
+
555
+ test('extracts COMMENT on COLUMN (TABLE)', async () => {
483
556
  expectSchemeObject({
484
557
  header: {
485
558
  Name: 'COLUMN foo.id',
@@ -498,7 +571,45 @@ test('extracts COMMENT on COLUMN', async () => {
498
571
  });
499
572
  });
500
573
 
501
- test('extracts COMMENT on INDEX', async () => {
574
+ test('extracts COMMENT on COLUMN (VIEW)', async () => {
575
+ expectSchemeObject({
576
+ header: {
577
+ Name: 'COLUMN baz.id',
578
+ Owner: 'postgres',
579
+ Schema: 'public',
580
+ Type: 'COMMENT',
581
+ },
582
+ scope: {
583
+ name: 'baz',
584
+ schema: 'public',
585
+ type: 'VIEW',
586
+ },
587
+ sql: multiline`
588
+ COMMENT ON COLUMN public.baz.id IS 'Column comment x';
589
+ `,
590
+ });
591
+ });
592
+
593
+ test('extracts COMMENT on COLUMN (MATERIALIZED VIEW)', async () => {
594
+ expectSchemeObject({
595
+ header: {
596
+ Name: 'COLUMN qux.id',
597
+ Owner: 'postgres',
598
+ Schema: 'public',
599
+ Type: 'COMMENT',
600
+ },
601
+ scope: {
602
+ name: 'qux',
603
+ schema: 'public',
604
+ type: 'MATERIALIZED VIEW',
605
+ },
606
+ sql: multiline`
607
+ COMMENT ON COLUMN public.qux.id IS 'Column comment x';
608
+ `,
609
+ });
610
+ });
611
+
612
+ test('extracts COMMENT on INDEX (TABLE)', async () => {
502
613
  expectSchemeObject({
503
614
  header: {
504
615
  Name: 'INDEX foo_pkey',
@@ -517,6 +628,25 @@ test('extracts COMMENT on INDEX', async () => {
517
628
  });
518
629
  });
519
630
 
631
+ test('extracts COMMENT on INDEX (MATERIALIZED VIEW)', async () => {
632
+ expectSchemeObject({
633
+ header: {
634
+ Name: 'INDEX qux_name_idx',
635
+ Owner: 'postgres',
636
+ Schema: 'public',
637
+ Type: 'COMMENT',
638
+ },
639
+ scope: {
640
+ name: 'qux',
641
+ schema: 'public',
642
+ type: 'MATERIALIZED VIEW',
643
+ },
644
+ sql: multiline`
645
+ COMMENT ON INDEX public.qux_name_idx IS 'Index comment x';
646
+ `,
647
+ });
648
+ });
649
+
520
650
  test('extracts COMMENT on SEQUENCE', async () => {
521
651
  expectSchemeObject({
522
652
  header: {
@@ -141,16 +141,18 @@ type CommentOnTarget = {
141
141
  | 'EXTENSION'
142
142
  | 'FUNCTION'
143
143
  | 'INDEX'
144
+ | 'MATERIALIZED VIEW'
144
145
  | 'PROCEDURE'
145
146
  | 'SEQUENCE'
146
147
  | 'TABLE'
147
- | 'TYPE';
148
+ | 'TYPE'
149
+ | 'VIEW';
148
150
  };
149
151
 
150
152
  const extractCommentOnTarget = (fragment: string): CommentOnTarget => {
151
153
  const { target, type } =
152
154
  fragment.match(
153
- /COMMENT ON (?<type>AGGREGATE|COLUMN|EXTENSION|FUNCTION|INDEX|PROCEDURE|SEQUENCE|TABLE|TYPE)\s(?<target>.+?) IS/u,
155
+ /COMMENT ON (?<type>AGGREGATE|COLUMN|EXTENSION|FUNCTION|INDEX|MATERIALIZED VIEW|PROCEDURE|SEQUENCE|TABLE|TYPE|VIEW)\s(?<target>.+?) IS/u,
154
156
  )?.groups ?? {};
155
157
 
156
158
  if (!target) {
@@ -191,6 +193,196 @@ type AttributedSchemaObject = {
191
193
  sql: string;
192
194
  };
193
195
 
196
+ const findTableLikeOwner = (
197
+ schemaObjects: AttributedSchemaObject[],
198
+ name: string,
199
+ schema: string,
200
+ ): SchemaObjectScope | null => {
201
+ const targetSchemaObject = schemaObjects.find((schemaObject) => {
202
+ return (
203
+ ['TABLE', 'VIEW', 'MATERIALIZED VIEW'].includes(
204
+ schemaObject.header.Type,
205
+ ) &&
206
+ schemaObject.header.Name === name &&
207
+ schemaObject.header.Schema === schema
208
+ );
209
+ });
210
+
211
+ if (!targetSchemaObject) {
212
+ return null;
213
+ }
214
+
215
+ return {
216
+ name,
217
+ schema,
218
+ type: targetSchemaObject.header.Type as
219
+ | 'MATERIALIZED VIEW'
220
+ | 'TABLE'
221
+ | 'VIEW',
222
+ };
223
+ };
224
+
225
+ // eslint-disable-next-line complexity
226
+ const scopeComment = (
227
+ schemaObjects: AttributedSchemaObject[],
228
+ subject: AttributedSchemaObject,
229
+ ): SchemaObjectScope | null => {
230
+ const target = extractCommentOnTarget(subject.sql);
231
+
232
+ if (target.type === 'AGGREGATE') {
233
+ return {
234
+ name: extractFunctionLikeName(subject.header.Name),
235
+ schema: subject.header.Schema ?? 'public',
236
+ type: 'AGGREGATE',
237
+ };
238
+ }
239
+
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
+ if (target.type === 'EXTENSION') {
249
+ return {
250
+ name: target.target,
251
+ schema: null,
252
+ type: 'EXTENSION',
253
+ };
254
+ }
255
+
256
+ if (target.type === 'FUNCTION') {
257
+ return {
258
+ name: extractFunctionLikeName(subject.header.Name),
259
+ schema: subject.header.Schema ?? 'public',
260
+ type: 'FUNCTION',
261
+ };
262
+ }
263
+
264
+ if (target.type === 'INDEX') {
265
+ const [schema, indexName] = z
266
+ .tuple([z.string(), z.string()])
267
+ .parse(target.target.split('.'));
268
+
269
+ const indexSchemaObject = schemaObjects.find((schemaObject) => {
270
+ if (schemaObject.header.Type !== 'INDEX') {
271
+ return false;
272
+ }
273
+
274
+ return schemaObject.header.Name === indexName;
275
+ });
276
+
277
+ if (indexSchemaObject) {
278
+ const indexTarget = extractCreateIndexTarget(indexSchemaObject.sql);
279
+
280
+ return findTableLikeOwner(
281
+ schemaObjects,
282
+ indexTarget.name,
283
+ indexTarget.schema,
284
+ );
285
+ }
286
+
287
+ const constraintSchemaObject = schemaObjects.find((schemaObject) => {
288
+ if (schemaObject.header.Type !== 'CONSTRAINT') {
289
+ return false;
290
+ }
291
+
292
+ return schemaObject.header.Name.split(' ')[1] === indexName;
293
+ });
294
+
295
+ if (constraintSchemaObject) {
296
+ const [tableName] = constraintSchemaObject.header.Name.split(' ');
297
+
298
+ return findTableLikeOwner(schemaObjects, tableName, schema);
299
+ }
300
+ }
301
+
302
+ if (target.type === 'MATERIALIZED VIEW') {
303
+ return {
304
+ name: subject.header.Name.replace('MATERIALIZED VIEW ', ''),
305
+ schema: subject.header.Schema ?? 'public',
306
+ type: 'MATERIALIZED VIEW',
307
+ };
308
+ }
309
+
310
+ if (target.type === 'PROCEDURE') {
311
+ return {
312
+ name: extractFunctionLikeName(subject.header.Name),
313
+ schema: subject.header.Schema ?? 'public',
314
+ type: 'PROCEDURE',
315
+ };
316
+ }
317
+
318
+ if (target.type === 'SEQUENCE') {
319
+ const [schemaName, sequenceName] = z
320
+ .tuple([z.string(), z.string()])
321
+ .parse(target.target.split('.'));
322
+
323
+ const sequenceSchemaObject = schemaObjects.find((schemaObject) => {
324
+ if (schemaObject.header.Type !== 'SEQUENCE') {
325
+ return false;
326
+ }
327
+
328
+ return (
329
+ schemaObject.header.Name === sequenceName &&
330
+ schemaObject.header.Schema === schemaName
331
+ );
332
+ });
333
+
334
+ if (!sequenceSchemaObject) {
335
+ throw new Error('Sequence not found');
336
+ }
337
+
338
+ const alterTableTarget = extractAlterTableTarget(sequenceSchemaObject.sql);
339
+
340
+ return {
341
+ name: alterTableTarget.name,
342
+ schema: alterTableTarget.schema,
343
+ type: 'TABLE',
344
+ };
345
+ }
346
+
347
+ if (target.type === 'TABLE') {
348
+ const [schema, name] = z
349
+ .tuple([z.string(), z.string()])
350
+ .parse(target.target.split('.'));
351
+
352
+ return {
353
+ name,
354
+ schema,
355
+ type: 'TABLE',
356
+ };
357
+ }
358
+
359
+ if (target.type === 'VIEW') {
360
+ const [schema, name] = z
361
+ .tuple([z.string(), z.string()])
362
+ .parse(target.target.split('.'));
363
+
364
+ return {
365
+ name,
366
+ schema,
367
+ type: 'VIEW',
368
+ };
369
+ }
370
+
371
+ if (target.type === 'TYPE') {
372
+ const [, typeName] = z
373
+ .tuple([z.string(), z.string()])
374
+ .parse(subject.header.Name.split(' '));
375
+
376
+ return {
377
+ name: typeName,
378
+ schema: subject.header.Schema ?? 'public',
379
+ type: 'TYPE',
380
+ };
381
+ }
382
+
383
+ return null;
384
+ };
385
+
194
386
  // eslint-disable-next-line complexity
195
387
  const scopeAttributedSchemaObject = (
196
388
  schemaObjects: AttributedSchemaObject[],
@@ -293,142 +485,7 @@ const scopeAttributedSchemaObject = (
293
485
  }
294
486
 
295
487
  if (subject.sql.startsWith('COMMENT ON ')) {
296
- const target = extractCommentOnTarget(subject.sql);
297
-
298
- if (target.type === 'EXTENSION') {
299
- return {
300
- name: target.target,
301
- schema: null,
302
- type: 'EXTENSION',
303
- };
304
- }
305
-
306
- if (target.type === 'TABLE') {
307
- const [schema, name] = z
308
- .tuple([z.string(), z.string()])
309
- .parse(target.target.split('.'));
310
-
311
- return {
312
- name,
313
- schema,
314
- type: 'TABLE',
315
- };
316
- }
317
-
318
- if (target.type === 'COLUMN') {
319
- const [schema, name] = z
320
- .tuple([z.string(), z.string(), z.string()])
321
- .parse(target.target.split('.'));
322
-
323
- return {
324
- name,
325
- schema,
326
- type: 'TABLE',
327
- };
328
- }
329
-
330
- if (target.type === 'INDEX') {
331
- const [schema, indexName] = z
332
- .tuple([z.string(), z.string()])
333
- .parse(target.target.split('.'));
334
-
335
- const indexSchemaObject = schemaObjects.find((schemaObject) => {
336
- if (schemaObject.header.Type !== 'INDEX') {
337
- return false;
338
- }
339
-
340
- return schemaObject.header.Name === indexName;
341
- });
342
-
343
- if (indexSchemaObject) {
344
- throw new Error('Not implemented');
345
- }
346
-
347
- const constraintSchemaObject = schemaObjects.find((schemaObject) => {
348
- if (schemaObject.header.Type !== 'CONSTRAINT') {
349
- return false;
350
- }
351
-
352
- return schemaObject.header.Name.split(' ')[1] === indexName;
353
- });
354
-
355
- if (constraintSchemaObject) {
356
- const [tableName] = constraintSchemaObject.header.Name.split(' ');
357
-
358
- return {
359
- name: tableName,
360
- schema,
361
- type: 'TABLE',
362
- };
363
- }
364
- }
365
-
366
- if (target.type === 'SEQUENCE') {
367
- const [schemaName, sequenceName] = z
368
- .tuple([z.string(), z.string()])
369
- .parse(target.target.split('.'));
370
-
371
- const sequenceSchemaObject = schemaObjects.find((schemaObject) => {
372
- if (schemaObject.header.Type !== 'SEQUENCE') {
373
- return false;
374
- }
375
-
376
- return (
377
- schemaObject.header.Name === sequenceName &&
378
- schemaObject.header.Schema === schemaName
379
- );
380
- });
381
-
382
- if (!sequenceSchemaObject) {
383
- throw new Error('Sequence not found');
384
- }
385
-
386
- const alterTableTarget = extractAlterTableTarget(
387
- sequenceSchemaObject.sql,
388
- );
389
-
390
- return {
391
- name: alterTableTarget.name,
392
- schema: alterTableTarget.schema,
393
- type: 'TABLE',
394
- };
395
- }
396
-
397
- if (target.type === 'TYPE') {
398
- const [, typeName] = z
399
- .tuple([z.string(), z.string()])
400
- .parse(subject.header.Name.split(' '));
401
-
402
- return {
403
- name: typeName,
404
- schema: subject.header.Schema ?? 'public',
405
- type: 'TYPE',
406
- };
407
- }
408
-
409
- if (target.type === 'FUNCTION') {
410
- return {
411
- name: extractFunctionLikeName(subject.header.Name),
412
- schema: subject.header.Schema ?? 'public',
413
- type: 'FUNCTION',
414
- };
415
- }
416
-
417
- if (target.type === 'AGGREGATE') {
418
- return {
419
- name: extractFunctionLikeName(subject.header.Name),
420
- schema: subject.header.Schema ?? 'public',
421
- type: 'AGGREGATE',
422
- };
423
- }
424
-
425
- if (target.type === 'PROCEDURE') {
426
- return {
427
- name: extractFunctionLikeName(subject.header.Name),
428
- schema: subject.header.Schema ?? 'public',
429
- type: 'PROCEDURE',
430
- };
431
- }
488
+ return scopeComment(schemaObjects, subject);
432
489
  }
433
490
 
434
491
  try {