prostgles-server 4.2.335 → 4.2.336

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.
@@ -1 +1 @@
1
- {"version":3,"file":"getTablesForSchemaPostgresSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAInE,eAAO,MAAM,eAAe,YAAY,oBAAoB,CAAC,cAAc,CAAC;;;CAW3E,CAAC;AAIF,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjD,YAAY,EAAE,oBAAoB,CAAC,cAAc,CAAC,GACjD,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC,CA+UD"}
1
+ {"version":3,"file":"getTablesForSchemaPostgresSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAInE,eAAO,MAAM,eAAe,YAAY,oBAAoB,CAAC,cAAc,CAAC;;;CAW3E,CAAC;AAIF,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjD,YAAY,EAAE,oBAAoB,CAAC,cAAc,CAAC,GACjD,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC,CAqWD"}
@@ -217,8 +217,8 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schemaFilter) {
217
217
  if (getHyperTablesReq.error) {
218
218
  console.error(getHyperTablesReq.error);
219
219
  }
220
- let result = getTablesAndViews.data.tablesAndViews.concat(getMaterialViewsReq.data.materialViews);
221
- result = await Promise.all(result.map(async (table) => {
220
+ let tableSchemaList = getTablesAndViews.data.tablesAndViews.concat(getMaterialViewsReq.data.materialViews);
221
+ tableSchemaList = await Promise.all(tableSchemaList.map(async (table) => {
222
222
  table.name = table.escaped_identifier;
223
223
  /** This is used to prevent bug of table schema not sent */
224
224
  const allowAllIfNoColumns = !table.columns.length ? true : undefined;
@@ -240,35 +240,52 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schemaFilter) {
240
240
  return c;
241
241
  });
242
242
  /** Get view reference cols (based on parent table) */
243
- let viewFCols = [];
243
+ const viewReferenceColumns = [];
244
244
  if (table.is_view && table.view_definition) {
245
245
  try {
246
246
  const view_definition = table.view_definition.endsWith(";") ?
247
247
  table.view_definition.slice(0, -1)
248
248
  : table.view_definition;
249
- const { fields } = (await runSQL(`SELECT * FROM \n ( ${view_definition} \n) t LIMIT 0`, {}, {}, undefined));
250
- const ftables = result.filter((r) => fields.some((f) => f.tableID === r.oid));
251
- ftables.forEach((ft) => {
252
- const fFields = fields.filter((f) => f.tableID === ft.oid);
253
- const pkeys = ft.columns.filter((c) => c.is_pkey);
254
- const fFieldPK = fFields.filter((ff) => pkeys.some((p) => p.name === ff.columnName));
255
- const refCols = pkeys.length && fFieldPK.length === pkeys.length ?
256
- fFieldPK
257
- : fFields.filter((ff) => !["json", "jsonb", "xml"].includes(ff.udt_name));
258
- const _fcols = refCols.map((ff) => {
259
- const d = {
260
- name: ff.columnName,
261
- references: [
262
- {
263
- ftable: ft.name,
264
- fcols: [ff.columnName],
265
- cols: [ff.name],
266
- },
267
- ],
249
+ const { fields: viewFieldsWithInfo } = (await runSQL(`SELECT * FROM \n ( ${view_definition} \n) t LIMIT 0`, {}, {}, undefined));
250
+ const viewTables = tableSchemaList.filter((r) => viewFieldsWithInfo.some((f) => f.tableID === r.oid));
251
+ viewTables.forEach((viewTable) => {
252
+ const viewTableColumnsUsed = viewFieldsWithInfo
253
+ .map(({ columnName, ...col }) => {
254
+ if (!columnName || col.tableID !== viewTable.oid)
255
+ return;
256
+ return {
257
+ ...col,
258
+ columnName,
268
259
  };
269
- return d;
270
- });
271
- viewFCols = [...viewFCols, ..._fcols];
260
+ })
261
+ .filter(util_1.isDefined);
262
+ const viewTablePKeys = viewTable.columns.filter((c) => c.is_pkey);
263
+ const viewTableColumnsUsedPKeys = viewTableColumnsUsed.filter((ff) => viewTablePKeys.some((p) => p.name === ff.columnName));
264
+ const addReferences = (referenceCols) => {
265
+ const reference = {
266
+ ftable: viewTable.name,
267
+ cols: [],
268
+ fcols: [],
269
+ };
270
+ referenceCols.forEach(({ name: viewColumnName, columnName: tableColumnName }) => {
271
+ reference.cols.push(viewColumnName);
272
+ reference.fcols.push(tableColumnName);
273
+ });
274
+ reference.cols.forEach((colName) => {
275
+ viewReferenceColumns.push({
276
+ name: colName,
277
+ references: [reference],
278
+ });
279
+ });
280
+ };
281
+ const canTransferPKeys = viewTablePKeys.length && viewTableColumnsUsedPKeys.length === viewTablePKeys.length;
282
+ if (canTransferPKeys) {
283
+ addReferences(viewTableColumnsUsedPKeys);
284
+ }
285
+ else {
286
+ const comparableColumns = viewTableColumnsUsed.filter((ff) => !["json", "jsonb", "xml"].includes(ff.udt_name));
287
+ addReferences(comparableColumns);
288
+ }
272
289
  });
273
290
  }
274
291
  catch (err) {
@@ -286,7 +303,7 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schemaFilter) {
286
303
  col.column_default
287
304
  : null;
288
305
  }
289
- const viewFCol = viewFCols.find((fc) => fc.name === col.name);
306
+ const viewFCol = viewReferenceColumns.find((fc) => fc.name === col.name);
290
307
  if (viewFCol) {
291
308
  col.references = viewFCol.references;
292
309
  }
@@ -299,7 +316,7 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schemaFilter) {
299
316
  return table;
300
317
  }));
301
318
  const res = {
302
- result,
319
+ result: tableSchemaList,
303
320
  durations: {
304
321
  matv: getMaterialViewsReq.duration,
305
322
  columns: getTVColumns.duration,
@@ -1 +1 @@
1
- {"version":3,"file":"getTablesForSchemaPostgresSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTablesForSchemaPostgresSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { SQLResult, asName } from "prostgles-types";
2
- import { omitKeys, tryCatchV2 } from "prostgles-types/dist/util";
1
+ import { SQLResult, asName, type ValidatedColumnInfo } from "prostgles-types";
2
+ import { isDefined, omitKeys, tryCatchV2 } from "prostgles-types/dist/util";
3
3
  import { DboBuilder } from "../DboBuilder/DboBuilder";
4
4
  import { DBorTx } from "../Prostgles";
5
5
  import { ProstglesInitOptions } from "../ProstglesTypes";
@@ -250,11 +250,11 @@ export async function getTablesForSchemaPostgresSQL(
250
250
  console.error(getHyperTablesReq.error);
251
251
  }
252
252
 
253
- let result = getTablesAndViews.data!.tablesAndViews.concat(
253
+ let tableSchemaList = getTablesAndViews.data!.tablesAndViews.concat(
254
254
  getMaterialViewsReq.data!.materialViews
255
255
  );
256
- result = await Promise.all(
257
- result.map(async (table) => {
256
+ tableSchemaList = await Promise.all(
257
+ tableSchemaList.map(async (table) => {
258
258
  table.name = table.escaped_identifier;
259
259
  /** This is used to prevent bug of table schema not sent */
260
260
  const allowAllIfNoColumns = !table.columns.length ? true : undefined;
@@ -277,42 +277,64 @@ export async function getTablesForSchemaPostgresSQL(
277
277
  });
278
278
 
279
279
  /** Get view reference cols (based on parent table) */
280
- let viewFCols: Pick<TableSchemaColumn, "name" | "references">[] = [];
280
+ const viewReferenceColumns: Pick<TableSchemaColumn, "name" | "references">[] = [];
281
281
  if (table.is_view && table.view_definition) {
282
282
  try {
283
283
  const view_definition =
284
284
  table.view_definition.endsWith(";") ?
285
285
  table.view_definition.slice(0, -1)
286
286
  : table.view_definition;
287
- const { fields } = (await runSQL(
287
+ const { fields: viewFieldsWithInfo } = (await runSQL(
288
288
  `SELECT * FROM \n ( ${view_definition} \n) t LIMIT 0`,
289
289
  {},
290
290
  {},
291
291
  undefined
292
292
  )) as SQLResult<undefined>;
293
- const ftables = result.filter((r) => fields.some((f) => f.tableID === r.oid));
294
- ftables.forEach((ft) => {
295
- const fFields = fields.filter((f) => f.tableID === ft.oid);
296
- const pkeys = ft.columns.filter((c) => c.is_pkey);
297
- const fFieldPK = fFields.filter((ff) => pkeys.some((p) => p.name === ff.columnName));
298
- const refCols =
299
- pkeys.length && fFieldPK.length === pkeys.length ?
300
- fFieldPK
301
- : fFields.filter((ff) => !["json", "jsonb", "xml"].includes(ff.udt_name));
302
- const _fcols: typeof viewFCols = refCols.map((ff) => {
303
- const d: Pick<TableSchemaColumn, "name" | "references"> = {
304
- name: ff.columnName!,
305
- references: [
306
- {
307
- ftable: ft.name,
308
- fcols: [ff.columnName!],
309
- cols: [ff.name],
310
- },
311
- ],
293
+ const viewTables = tableSchemaList.filter((r) =>
294
+ viewFieldsWithInfo.some((f) => f.tableID === r.oid)
295
+ );
296
+ viewTables.forEach((viewTable) => {
297
+ const viewTableColumnsUsed = viewFieldsWithInfo
298
+ .map(({ columnName, ...col }) => {
299
+ if (!columnName || col.tableID !== viewTable.oid) return;
300
+ return {
301
+ ...col,
302
+ columnName,
303
+ };
304
+ })
305
+ .filter(isDefined);
306
+ const viewTablePKeys = viewTable.columns.filter((c) => c.is_pkey);
307
+ const viewTableColumnsUsedPKeys = viewTableColumnsUsed.filter((ff) =>
308
+ viewTablePKeys.some((p) => p.name === ff.columnName)
309
+ );
310
+
311
+ const addReferences = (referenceCols: typeof viewTableColumnsUsedPKeys) => {
312
+ const reference: { ftable: string; fcols: string[]; cols: string[] } = {
313
+ ftable: viewTable.name,
314
+ cols: [],
315
+ fcols: [],
312
316
  };
313
- return d;
314
- });
315
- viewFCols = [...viewFCols, ..._fcols];
317
+ referenceCols.forEach(({ name: viewColumnName, columnName: tableColumnName }) => {
318
+ reference.cols.push(viewColumnName);
319
+ reference.fcols.push(tableColumnName);
320
+ });
321
+ reference.cols.forEach((colName) => {
322
+ viewReferenceColumns.push({
323
+ name: colName,
324
+ references: [reference],
325
+ });
326
+ });
327
+ };
328
+ const canTransferPKeys =
329
+ viewTablePKeys.length && viewTableColumnsUsedPKeys.length === viewTablePKeys.length;
330
+ if (canTransferPKeys) {
331
+ addReferences(viewTableColumnsUsedPKeys);
332
+ } else {
333
+ const comparableColumns = viewTableColumnsUsed.filter(
334
+ (ff) => !["json", "jsonb", "xml"].includes(ff.udt_name)
335
+ );
336
+ addReferences(comparableColumns);
337
+ }
316
338
  });
317
339
  } catch (err) {
318
340
  console.error(err);
@@ -333,7 +355,7 @@ export async function getTablesForSchemaPostgresSQL(
333
355
  : null;
334
356
  }
335
357
 
336
- const viewFCol = viewFCols.find((fc) => fc.name === col.name);
358
+ const viewFCol = viewReferenceColumns.find((fc) => fc.name === col.name);
337
359
  if (viewFCol) {
338
360
  col.references = viewFCol.references;
339
361
  }
@@ -351,7 +373,7 @@ export async function getTablesForSchemaPostgresSQL(
351
373
  );
352
374
 
353
375
  const res = {
354
- result,
376
+ result: tableSchemaList,
355
377
  durations: {
356
378
  matv: getMaterialViewsReq.duration,
357
379
  columns: getTVColumns.duration,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.335",
3
+ "version": "4.2.336",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",