prostgles-server 4.2.242 → 4.2.244

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.
@@ -0,0 +1,16 @@
1
+ import type pgPromise from "pg-promise";
2
+ import type { getSchemaFilter } from "./getTablesForSchemaPostgresSQL";
3
+ export declare const getFkeys: (t: pgPromise.ITask<{}>, { schemaNames, sql }: ReturnType<typeof getSchemaFilter>) => Promise<{
4
+ data: {
5
+ fkeys: {
6
+ oid: number;
7
+ ftable: string;
8
+ cols: string[];
9
+ fcols: string[];
10
+ }[];
11
+ };
12
+ hasError?: false | undefined;
13
+ error?: undefined;
14
+ duration: number;
15
+ }>;
16
+ //# sourceMappingURL=getFkeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFkeys.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getFkeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,eAAO,MAAM,QAAQ,MAChB,UAAU,KAAK,CAAC,EAAE,CAAC,wBACA,WAAW,sBAAsB,CAAC;;;iBAI/C,MAAM;oBACH,MAAM;kBACR,MAAM,EAAE;mBACP,MAAM,EAAE;;;;;;EAyCpB,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFkeys = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const getFkeys = async (t, { schemaNames, sql }) => {
6
+ const getFkeys = await (0, prostgles_types_1.tryCatchV2)(async () => {
7
+ const fkeys = await t.any(`
8
+ WITH pg_class_schema AS (
9
+ SELECT c.oid, c.relname, nspname as schema
10
+ ,CASE WHEN current_schema() = nspname
11
+ THEN format('%I', c.relname)
12
+ ELSE format('%I.%I', nspname, c.relname)
13
+ END as escaped_identifier
14
+ FROM pg_catalog.pg_class AS c
15
+ LEFT JOIN pg_catalog.pg_namespace AS ns
16
+ ON c.relnamespace = ns.oid
17
+ WHERE nspname ${sql}
18
+ ), fk AS (
19
+ SELECT conrelid as oid
20
+ , escaped_identifier as ftable
21
+ , array_agg(c1.attname::text ORDER BY ordinality) as cols
22
+ , array_agg(c2.attname::text ORDER BY ordinality) as fcols
23
+ FROM pg_catalog.pg_constraint c
24
+ INNER JOIN pg_class_schema pc
25
+ ON confrelid = pc.oid
26
+ CROSS JOIN LATERAL unnest(c.conkey, c.confkey) WITH ORDINALITY as key_pairs(attnum, fkattnum, ordinality)
27
+ LEFT JOIN pg_attribute c1
28
+ ON c1.attrelid = c.conrelid and c1.attnum = key_pairs.attnum
29
+ LEFT JOIN pg_attribute c2
30
+ ON c2.attrelid = c.confrelid and c2.attnum = key_pairs.fkattnum
31
+ WHERE contype = 'f'
32
+ GROUP BY conrelid, conname, pc.escaped_identifier
33
+ )
34
+ SELECT * FROM fk
35
+ `, { schemaNames });
36
+ return { fkeys };
37
+ });
38
+ if (getFkeys.hasError) {
39
+ throw getFkeys.error;
40
+ }
41
+ return getFkeys;
42
+ };
43
+ exports.getFkeys = getFkeys;
44
+ //# sourceMappingURL=getFkeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFkeys.js","sourceRoot":"","sources":["../../lib/DboBuilder/getFkeys.ts"],"names":[],"mappings":";;;AACA,qDAA6C;AAGtC,MAAM,QAAQ,GAAG,KAAK,EAC3B,CAAsB,EACtB,EAAE,WAAW,EAAE,GAAG,EAAsC,EACxD,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,KAAK,GAKL,MAAM,CAAC,CAAC,GAAG,CACf;;;;;;;;;;wBAUkB,GAAG;;;;;;;;;;;;;;;;;;KAkBtB,EACC,EAAE,WAAW,EAAE,CAChB,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,QAAQ,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAlDW,QAAA,QAAQ,YAkDnB"}
@@ -0,0 +1,4 @@
1
+ import { DBorTx } from "../Prostgles";
2
+ import { ProstglesInitOptions } from "../ProstglesTypes";
3
+ export declare const getMaterialViews: (db: DBorTx, schema: ProstglesInitOptions["schemaFilter"]) => Promise<any[]>;
4
+ //# sourceMappingURL=getMaterialViews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMaterialViews.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getMaterialViews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,eAAO,MAAM,gBAAgB,OAAQ,MAAM,UAAU,oBAAoB,CAAC,cAAc,CAAC,mBAyFxF,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaterialViews = void 0;
4
+ const getTablesForSchemaPostgresSQL_1 = require("./getTablesForSchemaPostgresSQL");
5
+ const getMaterialViews = (db, schema) => {
6
+ const { sql, schemaNames } = (0, getTablesForSchemaPostgresSQL_1.getSchemaFilter)(schema);
7
+ const query = `
8
+ SELECT
9
+ c.oid,
10
+ schema,
11
+ escaped_identifier,
12
+ true as is_view,
13
+ true as is_mat_view,
14
+ obj_description(c.oid) as comment,
15
+ c.table_name as name,
16
+ definition as view_definition,
17
+ jsonb_build_object(
18
+ 'insert', FALSE,
19
+ 'select', TRUE,
20
+ 'update', FALSE,
21
+ 'delete', FALSE
22
+ ) as privileges,
23
+ json_agg(json_build_object(
24
+ 'name', column_name,
25
+ 'table_oid', c.oid,
26
+ 'is_pkey', false,
27
+ 'data_type', data_type,
28
+ 'udt_name', udt_name,
29
+ 'element_udt_name',
30
+ CASE WHEN LEFT(udt_name, 1) = '_'
31
+ THEN RIGHT(udt_name, -1) END,
32
+ 'element_type',
33
+ CASE WHEN RIGHT(data_type, 2) = '[]'
34
+ THEN LEFT(data_type, -2) END,
35
+ 'is_nullable', nullable,
36
+ 'is_generated', true,
37
+ 'references', null,
38
+ 'has_default', false,
39
+ 'column_default', null,
40
+ 'is_updatable', false,
41
+ 'privileges', $$ { "SELECT": true } $$::jsonb
42
+ )) as columns
43
+ FROM pg_catalog.pg_matviews m
44
+ INNER JOIN (
45
+ SELECT
46
+ t.oid,
47
+ CASE WHEN current_schema() = s.nspname
48
+ THEN format('%I', t.relname)
49
+ ELSE format('%I.%I', s.nspname, t.relname)
50
+ END as escaped_identifier,
51
+ t.relname as table_name,
52
+ s.nspname as schema,
53
+ a.attname as column_name,
54
+ pg_catalog.format_type(a.atttypid, a.atttypmod) as data_type,
55
+ typname as udt_name,
56
+ a.attnotnull as nullable,
57
+ a.attnum as ordinal_position,
58
+ col_description(t.oid, attnum) as comment
59
+ FROM pg_catalog.pg_attribute a
60
+ JOIN pg_catalog.pg_class t on a.attrelid = t.oid
61
+ JOIN pg_catalog.pg_namespace s on t.relnamespace = s.oid
62
+ JOIN pg_catalog.pg_type pt ON pt.oid = a.atttypid
63
+ WHERE a.attnum > 0
64
+ AND NOT a.attisdropped
65
+ AND relkind = 'm'
66
+ ORDER BY a.attnum
67
+ ) c
68
+ ON matviewname = table_name
69
+ AND schemaname = schema
70
+ WHERE schema ${sql}
71
+ GROUP BY c.oid, escaped_identifier, c.table_name, schema, definition
72
+ `;
73
+ /** TODO: check privileges
74
+
75
+
76
+
77
+ select
78
+ coalesce(nullif(s[1], ''), 'public') as grantee,
79
+ s[2] as privileges
80
+ from
81
+ pg_class c
82
+ join pg_namespace n on n.oid = relnamespace
83
+ join pg_roles r on r.oid = relowner,
84
+ unnest(coalesce(relacl::text[], format('{%s=arwdDxt/%s}', rolname, rolname)::text[])) acl,
85
+ regexp_split_to_array(acl, '=|/') s
86
+ where nspname = 'public' and relname = 'test_view';
87
+
88
+
89
+ */
90
+ return db.any(query, { schemaNames });
91
+ };
92
+ exports.getMaterialViews = getMaterialViews;
93
+ //# sourceMappingURL=getMaterialViews.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMaterialViews.js","sourceRoot":"","sources":["../../lib/DboBuilder/getMaterialViews.ts"],"names":[],"mappings":";;;AAEA,mFAAkE;AAE3D,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,MAA4C,EAAE,EAAE;IAC3F,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,IAAA,+CAAe,EAAC,MAAM,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+DG,GAAG;;GAEnB,CAAC;IAEF;;;;;;;;;;;;;;;;MAgBE;IAEF,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAzFW,QAAA,gBAAgB,oBAyF3B"}
@@ -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;AAGtD,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AA6FzD,eAAO,MAAM,eAAe,YAAY,oBAAoB,CAAC,cAAc,CAAC;;;CAW3E,CAAC;AAIF,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAC1B,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAC3C,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC,CAuWD"}
1
+ {"version":3,"file":"getTablesForSchemaPostgresSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIzD,eAAO,MAAM,eAAe,YAAY,oBAAoB,CAAC,cAAc,CAAC;;;CAW3E,CAAC;AAIF,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAC1B,MAAM,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAC3C,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC,CA8TD"}
@@ -4,93 +4,8 @@ exports.getTablesForSchemaPostgresSQL = exports.getSchemaFilter = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const util_1 = require("prostgles-types/dist/util");
6
6
  const utils_1 = require("../utils");
7
- const getMaterialViews = (db, schema) => {
8
- const { sql, schemaNames } = (0, exports.getSchemaFilter)(schema);
9
- const query = `
10
- SELECT
11
- c.oid,
12
- schema,
13
- escaped_identifier,
14
- true as is_view,
15
- true as is_mat_view,
16
- obj_description(c.oid) as comment,
17
- c.table_name as name,
18
- definition as view_definition,
19
- jsonb_build_object(
20
- 'insert', FALSE,
21
- 'select', TRUE,
22
- 'update', FALSE,
23
- 'delete', FALSE
24
- ) as privileges,
25
- json_agg(json_build_object(
26
- 'name', column_name,
27
- 'table_oid', c.oid,
28
- 'is_pkey', false,
29
- 'data_type', data_type,
30
- 'udt_name', udt_name,
31
- 'element_udt_name',
32
- CASE WHEN LEFT(udt_name, 1) = '_'
33
- THEN RIGHT(udt_name, -1) END,
34
- 'element_type',
35
- CASE WHEN RIGHT(data_type, 2) = '[]'
36
- THEN LEFT(data_type, -2) END,
37
- 'is_nullable', nullable,
38
- 'is_generated', true,
39
- 'references', null,
40
- 'has_default', false,
41
- 'column_default', null,
42
- 'is_updatable', false,
43
- 'privileges', $$ { "SELECT": true } $$::jsonb
44
- )) as columns
45
- FROM pg_catalog.pg_matviews m
46
- INNER JOIN (
47
- SELECT
48
- t.oid,
49
- CASE WHEN current_schema() = s.nspname
50
- THEN format('%I', t.relname)
51
- ELSE format('%I.%I', s.nspname, t.relname)
52
- END as escaped_identifier,
53
- t.relname as table_name,
54
- s.nspname as schema,
55
- a.attname as column_name,
56
- pg_catalog.format_type(a.atttypid, a.atttypmod) as data_type,
57
- typname as udt_name,
58
- a.attnotnull as nullable,
59
- a.attnum as ordinal_position,
60
- col_description(t.oid, attnum) as comment
61
- FROM pg_catalog.pg_attribute a
62
- JOIN pg_catalog.pg_class t on a.attrelid = t.oid
63
- JOIN pg_catalog.pg_namespace s on t.relnamespace = s.oid
64
- JOIN pg_catalog.pg_type pt ON pt.oid = a.atttypid
65
- WHERE a.attnum > 0
66
- AND NOT a.attisdropped
67
- AND relkind = 'm'
68
- ORDER BY a.attnum
69
- ) c
70
- ON matviewname = table_name
71
- AND schemaname = schema
72
- WHERE schema ${sql}
73
- GROUP BY c.oid, escaped_identifier, c.table_name, schema, definition
74
- `;
75
- /** TODO: check privileges
76
-
77
-
78
-
79
- select
80
- coalesce(nullif(s[1], ''), 'public') as grantee,
81
- s[2] as privileges
82
- from
83
- pg_class c
84
- join pg_namespace n on n.oid = relnamespace
85
- join pg_roles r on r.oid = relowner,
86
- unnest(coalesce(relacl::text[], format('{%s=arwdDxt/%s}', rolname, rolname)::text[])) acl,
87
- regexp_split_to_array(acl, '=|/') s
88
- where nspname = 'public' and relname = 'test_view';
89
-
90
-
91
- */
92
- return db.any(query, { schemaNames });
93
- };
7
+ const getFkeys_1 = require("./getFkeys");
8
+ const getMaterialViews_1 = require("./getMaterialViews");
94
9
  const getSchemaFilter = (schema = { public: 1 }) => {
95
10
  const schemaNames = Object.keys(schema);
96
11
  const isInclusive = Object.values(schema).every((v) => v);
@@ -104,47 +19,14 @@ const getSchemaFilter = (schema = { public: 1 }) => {
104
19
  };
105
20
  exports.getSchemaFilter = getSchemaFilter;
106
21
  // TODO: Add a onSocketConnect timeout for this query.
107
- // Reason: this query gets blocked by prostgles.app_triggers from PubSubManager.addTrigger in some cases (pg_dump locks that table)
22
+ // Reason: this query gets blocked by prostgles.app_triggers from PubSubManager.addTrigger in some cases (pg_dump locks that table)
108
23
  async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
109
24
  const { sql, schemaNames } = (0, exports.getSchemaFilter)(schema);
110
25
  return db.tx(async (t) => {
111
26
  /**
112
27
  * Multiple queries to reduce load on low power machines
113
28
  */
114
- const getFkeys = await (0, util_1.tryCatch)(async () => {
115
- const fkeys = await t.any(`
116
- WITH pg_class_schema AS (
117
- SELECT c.oid, c.relname, nspname as schema
118
- ,CASE WHEN current_schema() = nspname
119
- THEN format('%I', c.relname)
120
- ELSE format('%I.%I', nspname, c.relname)
121
- END as escaped_identifier
122
- FROM pg_catalog.pg_class AS c
123
- LEFT JOIN pg_catalog.pg_namespace AS ns
124
- ON c.relnamespace = ns.oid
125
- WHERE nspname ${sql}
126
- ), fk AS (
127
- SELECT conrelid as oid
128
- , escaped_identifier as ftable
129
- , array_agg(DISTINCT c1.attname::text) as cols
130
- , array_agg(DISTINCT c2.attname::text) as fcols
131
- FROM pg_catalog.pg_constraint c
132
- INNER JOIN pg_class_schema pc
133
- ON confrelid = pc.oid
134
- LEFT JOIN pg_attribute c1
135
- ON c1.attrelid = c.conrelid and ARRAY[c1.attnum] <@ c.conkey
136
- LEFT JOIN pg_attribute c2
137
- ON c2.attrelid = c.confrelid and ARRAY[c2.attnum] <@ c.confkey
138
- WHERE contype = 'f'
139
- GROUP BY conrelid, conname, pc.escaped_identifier
140
- )
141
- SELECT * FROM fk
142
- `, { schemaNames });
143
- return { fkeys };
144
- });
145
- if (getFkeys.error !== undefined) {
146
- throw getFkeys.error;
147
- }
29
+ const { data: { fkeys }, duration: fkeysResponseDuration, } = await (0, getFkeys_1.getFkeys)(t, { sql, schemaNames });
148
30
  const uniqueColsReq = await (0, util_1.tryCatchV2)(async () => {
149
31
  const res = (await t.any(`
150
32
  select
@@ -174,9 +56,9 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
174
56
  if (uniqueColsReq.error) {
175
57
  throw uniqueColsReq.error;
176
58
  }
177
- const badFkey = getFkeys.fkeys.find((r) => r.fcols.includes(null));
59
+ const badFkey = fkeys.find((r) => r.fcols.includes(null));
178
60
  if (badFkey) {
179
- throw `Invalid table column schema. Null or empty fcols for ${JSON.stringify(getFkeys.fkeys)}`;
61
+ throw `Invalid table column schema. Null or empty fcols for ${JSON.stringify(fkeys)}`;
180
62
  }
181
63
  const getTVColumns = await (0, util_1.tryCatch)(async () => {
182
64
  const columns = await t.any(`
@@ -308,7 +190,7 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
308
190
  throw getTablesAndViews.error ?? "No tablesAndViews";
309
191
  }
310
192
  const getMaterialViewsReq = await (0, util_1.tryCatch)(async () => {
311
- const materialViews = await getMaterialViews(t, schema);
193
+ const materialViews = await (0, getMaterialViews_1.getMaterialViews)(t, schema);
312
194
  return { materialViews };
313
195
  });
314
196
  if (getMaterialViewsReq.error || !getMaterialViewsReq.materialViews) {
@@ -333,7 +215,7 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
333
215
  table.privileges.update =
334
216
  allowAllIfNoColumns ?? table.columns.some((c) => c.privileges.UPDATE);
335
217
  table.columns = table.columns.map((c) => {
336
- const refs = getFkeys.fkeys.filter((fc) => fc.oid === table.oid && fc.cols.includes(c.name));
218
+ const refs = fkeys.filter((fc) => fc.oid === table.oid && fc.cols.includes(c.name));
337
219
  if (refs.length)
338
220
  c.references = refs.map((_ref) => {
339
221
  const ref = { ..._ref };
@@ -407,7 +289,7 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema) {
407
289
  matv: getMaterialViewsReq.duration,
408
290
  columns: getTVColumns.duration,
409
291
  tablesAndViews: getTablesAndViews.duration,
410
- fkeys: getFkeys.duration,
292
+ fkeys: fkeysResponseDuration,
411
293
  getHyperTbls: getHyperTablesReq.duration,
412
294
  viewParentTbls: getViewParentTables.duration,
413
295
  },
@@ -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 +1 @@
1
- {"version":3,"file":"insertNestedRecords.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/insertNestedRecords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,YAAY,EAAuB,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,uBAAuB,GACjE,OAAO,CAAC;IACT,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACxC,CAAC,CAsRD;AAGD,eAAO,MAAM,mBAAmB,iBAChB,YAAY,eACb,MAAM,aACR,iBAAiB,GAAG,SAAS,uBASzC,CAAC;AA+CF,KAAK,qBAAqB,CAAC,kBAAkB,IAAI;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,kBAAkB,SAAS,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;CAC7E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,qDACtB,YAAY,aACf,SAAS,qGA2CrB,CAAC"}
1
+ {"version":3,"file":"insertNestedRecords.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/insertNestedRecords.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,YAAY,EAAuB,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,uBAAuB,GACjE,OAAO,CAAC;IACT,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACxC,CAAC,CAsRD;AAGD,eAAO,MAAM,mBAAmB,iBAChB,YAAY,eACb,MAAM,aACR,iBAAiB,GAAG,SAAS,uBASzC,CAAC;AA+CF,KAAK,qBAAqB,CAAC,kBAAkB,IAAI;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,kBAAkB,SAAS,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;CAC7E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,qDACtB,YAAY,aACf,SAAS,qGA6DrB,CAAC"}
@@ -254,34 +254,50 @@ const getReferenceColumnInserts = (tableHandler, parentRow, expectSingleInsert)
254
254
  .map(([insertedFieldName, insertedFieldValue]) => {
255
255
  if (insertedFieldValue && (0, prostgles_types_1.isObject)(insertedFieldValue)) {
256
256
  const insertedRefCol = tableHandler.columns.find((c) => c.name === insertedFieldName && c.references?.length);
257
- if (!insertedRefCol)
257
+ const refs = insertedRefCol?.references ?? [];
258
+ const [firstRef, ...otherRefs] = refs;
259
+ if (!firstRef)
258
260
  return undefined;
261
+ /** If references multiple tables check if only one reference points to pkeys */
262
+ if (otherRefs.length) {
263
+ const { dbo } = tableHandler.dboBuilder;
264
+ const pkeyRefs = refs.filter(({ ftable, fcols }) => {
265
+ return (fcols.length === 1 &&
266
+ fcols.every((fcol) => {
267
+ return dbo[ftable]?.columns?.find((c) => c.name === fcol && c.is_pkey);
268
+ }));
269
+ });
270
+ const [pkeyRef, ...otherPkeyRefs] = pkeyRefs;
271
+ if (!pkeyRef || otherPkeyRefs.length) {
272
+ throw "Cannot do a nested insert on column that references multiple tables. Expecting only one reference to a single primary key fcol";
273
+ }
274
+ return {
275
+ insertedFieldName,
276
+ insertedFieldRef: pkeyRef,
277
+ };
278
+ }
259
279
  return {
260
- insertedRefCol,
261
- insertedRefColRef: insertedRefCol.references,
280
+ insertedFieldName,
281
+ insertedFieldRef: firstRef,
262
282
  };
263
283
  }
264
284
  return undefined;
265
285
  })
266
286
  .filter(prostgles_types_1.isDefined)
267
- .map(({ insertedRefCol, insertedRefColRef }) => {
268
- if (insertedRefColRef.length !== 1) {
269
- throw "Cannot do a nested insert on column that references multiple tables";
270
- }
271
- const referencesMultipleColumns = insertedRefColRef.some((refs) => refs.fcols.length !== 1);
272
- if (referencesMultipleColumns) {
287
+ .map(({ insertedFieldName, insertedFieldRef }) => {
288
+ if (insertedFieldRef.fcols.length !== 1) {
273
289
  throw "Cannot do a nested insert on multi-column foreign key reference";
274
290
  }
275
- const singleInsert = !Array.isArray(parentRow[insertedRefCol.name]);
291
+ const singleInsert = !Array.isArray(parentRow[insertedFieldName]);
276
292
  if (expectSingleInsert && !singleInsert) {
277
293
  throw "Expected singleInsert";
278
294
  }
279
295
  const res = {
280
- tableName: insertedRefCol.references[0].ftable,
281
- col: insertedRefCol.name,
282
- fcol: insertedRefCol.references[0].fcols[0],
296
+ tableName: insertedFieldRef.ftable,
297
+ col: insertedFieldName,
298
+ fcol: insertedFieldRef.fcols[0],
283
299
  singleInsert,
284
- data: parentRow[insertedRefCol.name],
300
+ data: parentRow[insertedFieldName],
285
301
  };
286
302
  return res;
287
303
  })
@@ -1 +1 @@
1
- {"version":3,"file":"insertNestedRecords.js","sourceRoot":"","sources":["../../lib/DboBuilder/insertNestedRecords.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insertNestedRecords.js","sourceRoot":"","sources":["../../lib/DboBuilder/insertNestedRecords.ts"],"names":[],"mappings":"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"}
@@ -173,7 +173,7 @@ export type ColumnConfigs<LANG_IDS = {
173
173
  type UnionKeys<T> = T extends T ? keyof T : never;
174
174
  type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;
175
175
  export type StrictUnion<T> = StrictUnionHelper<T, T>;
176
- export declare const CONSTRAINT_TYPES: readonly ["PRIMARY KEY", "UNIQUE", "CHECK"];
176
+ export declare const CONSTRAINT_TYPES: readonly ["PRIMARY KEY", "UNIQUE", "CHECK", "FOREIGN KEY"];
177
177
  export type TableDefinition<LANG_IDS> = {
178
178
  onMount?: (params: {
179
179
  dbo: DBHandlerServer;
@@ -1 +1 @@
1
- {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/TableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/TableConfig.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ const parseI18N = (params) => {
19
19
  return defaultValue;
20
20
  };
21
21
  exports.parseI18N = parseI18N;
22
- exports.CONSTRAINT_TYPES = ["PRIMARY KEY", "UNIQUE", "CHECK"];
22
+ exports.CONSTRAINT_TYPES = ["PRIMARY KEY", "UNIQUE", "CHECK", "FOREIGN KEY"];
23
23
  /**
24
24
  * Will be run between initSQL and fileTable
25
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TableConfig.js","sourceRoot":"","sources":["../../lib/TableConfig/TableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableConfig.js","sourceRoot":"","sources":["../../lib/TableConfig/TableConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type pgPromise from "pg-promise";
2
+ import { tryCatchV2 } from "prostgles-types";
3
+ import type { getSchemaFilter } from "./getTablesForSchemaPostgresSQL";
4
+
5
+ export const getFkeys = async (
6
+ t: pgPromise.ITask<{}>,
7
+ { schemaNames, sql }: ReturnType<typeof getSchemaFilter>
8
+ ) => {
9
+ const getFkeys = await tryCatchV2(async () => {
10
+ const fkeys: {
11
+ oid: number;
12
+ ftable: string;
13
+ cols: string[];
14
+ fcols: string[];
15
+ }[] = await t.any(
16
+ `
17
+ WITH pg_class_schema AS (
18
+ SELECT c.oid, c.relname, nspname as schema
19
+ ,CASE WHEN current_schema() = nspname
20
+ THEN format('%I', c.relname)
21
+ ELSE format('%I.%I', nspname, c.relname)
22
+ END as escaped_identifier
23
+ FROM pg_catalog.pg_class AS c
24
+ LEFT JOIN pg_catalog.pg_namespace AS ns
25
+ ON c.relnamespace = ns.oid
26
+ WHERE nspname ${sql}
27
+ ), fk AS (
28
+ SELECT conrelid as oid
29
+ , escaped_identifier as ftable
30
+ , array_agg(c1.attname::text ORDER BY ordinality) as cols
31
+ , array_agg(c2.attname::text ORDER BY ordinality) as fcols
32
+ FROM pg_catalog.pg_constraint c
33
+ INNER JOIN pg_class_schema pc
34
+ ON confrelid = pc.oid
35
+ CROSS JOIN LATERAL unnest(c.conkey, c.confkey) WITH ORDINALITY as key_pairs(attnum, fkattnum, ordinality)
36
+ LEFT JOIN pg_attribute c1
37
+ ON c1.attrelid = c.conrelid and c1.attnum = key_pairs.attnum
38
+ LEFT JOIN pg_attribute c2
39
+ ON c2.attrelid = c.confrelid and c2.attnum = key_pairs.fkattnum
40
+ WHERE contype = 'f'
41
+ GROUP BY conrelid, conname, pc.escaped_identifier
42
+ )
43
+ SELECT * FROM fk
44
+ `,
45
+ { schemaNames }
46
+ );
47
+
48
+ return { fkeys };
49
+ });
50
+ if (getFkeys.hasError) {
51
+ throw getFkeys.error;
52
+ }
53
+
54
+ return getFkeys;
55
+ };
@@ -0,0 +1,94 @@
1
+ import { DBorTx } from "../Prostgles";
2
+ import { ProstglesInitOptions } from "../ProstglesTypes";
3
+ import { getSchemaFilter } from "./getTablesForSchemaPostgresSQL";
4
+
5
+ export const getMaterialViews = (db: DBorTx, schema: ProstglesInitOptions["schemaFilter"]) => {
6
+ const { sql, schemaNames } = getSchemaFilter(schema);
7
+
8
+ const query = `
9
+ SELECT
10
+ c.oid,
11
+ schema,
12
+ escaped_identifier,
13
+ true as is_view,
14
+ true as is_mat_view,
15
+ obj_description(c.oid) as comment,
16
+ c.table_name as name,
17
+ definition as view_definition,
18
+ jsonb_build_object(
19
+ 'insert', FALSE,
20
+ 'select', TRUE,
21
+ 'update', FALSE,
22
+ 'delete', FALSE
23
+ ) as privileges,
24
+ json_agg(json_build_object(
25
+ 'name', column_name,
26
+ 'table_oid', c.oid,
27
+ 'is_pkey', false,
28
+ 'data_type', data_type,
29
+ 'udt_name', udt_name,
30
+ 'element_udt_name',
31
+ CASE WHEN LEFT(udt_name, 1) = '_'
32
+ THEN RIGHT(udt_name, -1) END,
33
+ 'element_type',
34
+ CASE WHEN RIGHT(data_type, 2) = '[]'
35
+ THEN LEFT(data_type, -2) END,
36
+ 'is_nullable', nullable,
37
+ 'is_generated', true,
38
+ 'references', null,
39
+ 'has_default', false,
40
+ 'column_default', null,
41
+ 'is_updatable', false,
42
+ 'privileges', $$ { "SELECT": true } $$::jsonb
43
+ )) as columns
44
+ FROM pg_catalog.pg_matviews m
45
+ INNER JOIN (
46
+ SELECT
47
+ t.oid,
48
+ CASE WHEN current_schema() = s.nspname
49
+ THEN format('%I', t.relname)
50
+ ELSE format('%I.%I', s.nspname, t.relname)
51
+ END as escaped_identifier,
52
+ t.relname as table_name,
53
+ s.nspname as schema,
54
+ a.attname as column_name,
55
+ pg_catalog.format_type(a.atttypid, a.atttypmod) as data_type,
56
+ typname as udt_name,
57
+ a.attnotnull as nullable,
58
+ a.attnum as ordinal_position,
59
+ col_description(t.oid, attnum) as comment
60
+ FROM pg_catalog.pg_attribute a
61
+ JOIN pg_catalog.pg_class t on a.attrelid = t.oid
62
+ JOIN pg_catalog.pg_namespace s on t.relnamespace = s.oid
63
+ JOIN pg_catalog.pg_type pt ON pt.oid = a.atttypid
64
+ WHERE a.attnum > 0
65
+ AND NOT a.attisdropped
66
+ AND relkind = 'm'
67
+ ORDER BY a.attnum
68
+ ) c
69
+ ON matviewname = table_name
70
+ AND schemaname = schema
71
+ WHERE schema ${sql}
72
+ GROUP BY c.oid, escaped_identifier, c.table_name, schema, definition
73
+ `;
74
+
75
+ /** TODO: check privileges
76
+
77
+
78
+
79
+ select
80
+ coalesce(nullif(s[1], ''), 'public') as grantee,
81
+ s[2] as privileges
82
+ from
83
+ pg_class c
84
+ join pg_namespace n on n.oid = relnamespace
85
+ join pg_roles r on r.oid = relowner,
86
+ unnest(coalesce(relacl::text[], format('{%s=arwdDxt/%s}', rolname, rolname)::text[])) acl,
87
+ regexp_split_to_array(acl, '=|/') s
88
+ where nspname = 'public' and relname = 'test_view';
89
+
90
+
91
+ */
92
+
93
+ return db.any(query, { schemaNames });
94
+ };
@@ -5,97 +5,8 @@ import { DBorTx } from "../Prostgles";
5
5
  import { clone } from "../utils";
6
6
  import { TableSchema, TableSchemaColumn } from "./DboBuilderTypes";
7
7
  import { ProstglesInitOptions } from "../ProstglesTypes";
8
-
9
- const getMaterialViews = (db: DBorTx, schema: ProstglesInitOptions["schemaFilter"]) => {
10
- const { sql, schemaNames } = getSchemaFilter(schema);
11
-
12
- const query = `
13
- SELECT
14
- c.oid,
15
- schema,
16
- escaped_identifier,
17
- true as is_view,
18
- true as is_mat_view,
19
- obj_description(c.oid) as comment,
20
- c.table_name as name,
21
- definition as view_definition,
22
- jsonb_build_object(
23
- 'insert', FALSE,
24
- 'select', TRUE,
25
- 'update', FALSE,
26
- 'delete', FALSE
27
- ) as privileges,
28
- json_agg(json_build_object(
29
- 'name', column_name,
30
- 'table_oid', c.oid,
31
- 'is_pkey', false,
32
- 'data_type', data_type,
33
- 'udt_name', udt_name,
34
- 'element_udt_name',
35
- CASE WHEN LEFT(udt_name, 1) = '_'
36
- THEN RIGHT(udt_name, -1) END,
37
- 'element_type',
38
- CASE WHEN RIGHT(data_type, 2) = '[]'
39
- THEN LEFT(data_type, -2) END,
40
- 'is_nullable', nullable,
41
- 'is_generated', true,
42
- 'references', null,
43
- 'has_default', false,
44
- 'column_default', null,
45
- 'is_updatable', false,
46
- 'privileges', $$ { "SELECT": true } $$::jsonb
47
- )) as columns
48
- FROM pg_catalog.pg_matviews m
49
- INNER JOIN (
50
- SELECT
51
- t.oid,
52
- CASE WHEN current_schema() = s.nspname
53
- THEN format('%I', t.relname)
54
- ELSE format('%I.%I', s.nspname, t.relname)
55
- END as escaped_identifier,
56
- t.relname as table_name,
57
- s.nspname as schema,
58
- a.attname as column_name,
59
- pg_catalog.format_type(a.atttypid, a.atttypmod) as data_type,
60
- typname as udt_name,
61
- a.attnotnull as nullable,
62
- a.attnum as ordinal_position,
63
- col_description(t.oid, attnum) as comment
64
- FROM pg_catalog.pg_attribute a
65
- JOIN pg_catalog.pg_class t on a.attrelid = t.oid
66
- JOIN pg_catalog.pg_namespace s on t.relnamespace = s.oid
67
- JOIN pg_catalog.pg_type pt ON pt.oid = a.atttypid
68
- WHERE a.attnum > 0
69
- AND NOT a.attisdropped
70
- AND relkind = 'm'
71
- ORDER BY a.attnum
72
- ) c
73
- ON matviewname = table_name
74
- AND schemaname = schema
75
- WHERE schema ${sql}
76
- GROUP BY c.oid, escaped_identifier, c.table_name, schema, definition
77
- `;
78
-
79
- /** TODO: check privileges
80
-
81
-
82
-
83
- select
84
- coalesce(nullif(s[1], ''), 'public') as grantee,
85
- s[2] as privileges
86
- from
87
- pg_class c
88
- join pg_namespace n on n.oid = relnamespace
89
- join pg_roles r on r.oid = relowner,
90
- unnest(coalesce(relacl::text[], format('{%s=arwdDxt/%s}', rolname, rolname)::text[])) acl,
91
- regexp_split_to_array(acl, '=|/') s
92
- where nspname = 'public' and relname = 'test_view';
93
-
94
-
95
- */
96
-
97
- return db.any(query, { schemaNames });
98
- };
8
+ import { getFkeys } from "./getFkeys";
9
+ import { getMaterialViews } from "./getMaterialViews";
99
10
 
100
11
  export const getSchemaFilter = (schema: ProstglesInitOptions["schemaFilter"] = { public: 1 }) => {
101
12
  const schemaNames = Object.keys(schema);
@@ -111,7 +22,7 @@ export const getSchemaFilter = (schema: ProstglesInitOptions["schemaFilter"] = {
111
22
  };
112
23
 
113
24
  // TODO: Add a onSocketConnect timeout for this query.
114
- // Reason: this query gets blocked by prostgles.app_triggers from PubSubManager.addTrigger in some cases (pg_dump locks that table)
25
+ // Reason: this query gets blocked by prostgles.app_triggers from PubSubManager.addTrigger in some cases (pg_dump locks that table)
115
26
  export async function getTablesForSchemaPostgresSQL(
116
27
  { db, runSQL }: DboBuilder,
117
28
  schema: ProstglesInitOptions["schemaFilter"]
@@ -125,49 +36,10 @@ export async function getTablesForSchemaPostgresSQL(
125
36
  /**
126
37
  * Multiple queries to reduce load on low power machines
127
38
  */
128
- const getFkeys = await tryCatch(async () => {
129
- const fkeys: {
130
- oid: number;
131
- ftable: string;
132
- cols: string[];
133
- fcols: string[];
134
- }[] = await t.any(
135
- `
136
- WITH pg_class_schema AS (
137
- SELECT c.oid, c.relname, nspname as schema
138
- ,CASE WHEN current_schema() = nspname
139
- THEN format('%I', c.relname)
140
- ELSE format('%I.%I', nspname, c.relname)
141
- END as escaped_identifier
142
- FROM pg_catalog.pg_class AS c
143
- LEFT JOIN pg_catalog.pg_namespace AS ns
144
- ON c.relnamespace = ns.oid
145
- WHERE nspname ${sql}
146
- ), fk AS (
147
- SELECT conrelid as oid
148
- , escaped_identifier as ftable
149
- , array_agg(DISTINCT c1.attname::text) as cols
150
- , array_agg(DISTINCT c2.attname::text) as fcols
151
- FROM pg_catalog.pg_constraint c
152
- INNER JOIN pg_class_schema pc
153
- ON confrelid = pc.oid
154
- LEFT JOIN pg_attribute c1
155
- ON c1.attrelid = c.conrelid and ARRAY[c1.attnum] <@ c.conkey
156
- LEFT JOIN pg_attribute c2
157
- ON c2.attrelid = c.confrelid and ARRAY[c2.attnum] <@ c.confkey
158
- WHERE contype = 'f'
159
- GROUP BY conrelid, conname, pc.escaped_identifier
160
- )
161
- SELECT * FROM fk
162
- `,
163
- { schemaNames }
164
- );
165
-
166
- return { fkeys };
167
- });
168
- if (getFkeys.error !== undefined) {
169
- throw getFkeys.error;
170
- }
39
+ const {
40
+ data: { fkeys },
41
+ duration: fkeysResponseDuration,
42
+ } = await getFkeys(t, { sql, schemaNames });
171
43
 
172
44
  const uniqueColsReq = await tryCatchV2(async () => {
173
45
  const res = (await t.any(`
@@ -206,9 +78,9 @@ export async function getTablesForSchemaPostgresSQL(
206
78
  throw uniqueColsReq.error;
207
79
  }
208
80
 
209
- const badFkey = getFkeys.fkeys!.find((r) => r.fcols.includes(null as any));
81
+ const badFkey = fkeys.find((r) => r.fcols.includes(null as any));
210
82
  if (badFkey) {
211
- throw `Invalid table column schema. Null or empty fcols for ${JSON.stringify(getFkeys.fkeys)}`;
83
+ throw `Invalid table column schema. Null or empty fcols for ${JSON.stringify(fkeys)}`;
212
84
  }
213
85
 
214
86
  const getTVColumns = await tryCatch(async () => {
@@ -377,9 +249,7 @@ export async function getTablesForSchemaPostgresSQL(
377
249
  table.privileges.update =
378
250
  allowAllIfNoColumns ?? table.columns.some((c) => c.privileges.UPDATE);
379
251
  table.columns = table.columns.map((c) => {
380
- const refs = getFkeys.fkeys!.filter(
381
- (fc) => fc.oid === table.oid && fc.cols.includes(c.name)
382
- );
252
+ const refs = fkeys.filter((fc) => fc.oid === table.oid && fc.cols.includes(c.name));
383
253
  if (refs.length)
384
254
  c.references = refs.map((_ref) => {
385
255
  const ref = { ..._ref };
@@ -469,7 +339,7 @@ export async function getTablesForSchemaPostgresSQL(
469
339
  matv: getMaterialViewsReq.duration,
470
340
  columns: getTVColumns.duration,
471
341
  tablesAndViews: getTablesAndViews.duration,
472
- fkeys: getFkeys.duration,
342
+ fkeys: fkeysResponseDuration,
473
343
  getHyperTbls: getHyperTablesReq.duration,
474
344
  viewParentTbls: getViewParentTables.duration,
475
345
  },
@@ -387,36 +387,54 @@ export const getReferenceColumnInserts = <ExpectSingleInsert extends boolean>(
387
387
  const insertedRefCol = tableHandler.columns.find(
388
388
  (c) => c.name === insertedFieldName && c.references?.length
389
389
  );
390
- if (!insertedRefCol) return undefined;
390
+ const refs = insertedRefCol?.references ?? [];
391
+ const [firstRef, ...otherRefs] = refs;
392
+ if (!firstRef) return undefined;
393
+
394
+ /** If references multiple tables check if only one reference points to pkeys */
395
+ if (otherRefs.length) {
396
+ const { dbo } = tableHandler.dboBuilder;
397
+ const pkeyRefs = refs.filter(({ ftable, fcols }) => {
398
+ return (
399
+ fcols.length === 1 &&
400
+ fcols.every((fcol) => {
401
+ return dbo[ftable]?.columns?.find((c) => c.name === fcol && c.is_pkey);
402
+ })
403
+ );
404
+ });
405
+ const [pkeyRef, ...otherPkeyRefs] = pkeyRefs;
406
+ if (!pkeyRef || otherPkeyRefs.length) {
407
+ throw "Cannot do a nested insert on column that references multiple tables. Expecting only one reference to a single primary key fcol";
408
+ }
409
+ return {
410
+ insertedFieldName,
411
+ insertedFieldRef: pkeyRef,
412
+ };
413
+ }
391
414
  return {
392
- insertedRefCol,
393
- insertedRefColRef: insertedRefCol.references!,
415
+ insertedFieldName,
416
+ insertedFieldRef: firstRef,
394
417
  };
395
418
  }
396
419
 
397
420
  return undefined;
398
421
  })
399
422
  .filter(isDefined)
400
- .map(({ insertedRefCol, insertedRefColRef }) => {
401
- if (insertedRefColRef.length !== 1) {
402
- throw "Cannot do a nested insert on column that references multiple tables";
403
- }
404
-
405
- const referencesMultipleColumns = insertedRefColRef.some((refs) => refs.fcols.length !== 1);
406
- if (referencesMultipleColumns) {
423
+ .map(({ insertedFieldName, insertedFieldRef }) => {
424
+ if (insertedFieldRef.fcols.length !== 1) {
407
425
  throw "Cannot do a nested insert on multi-column foreign key reference";
408
426
  }
409
427
 
410
- const singleInsert = !Array.isArray(parentRow[insertedRefCol.name]);
428
+ const singleInsert = !Array.isArray(parentRow[insertedFieldName]);
411
429
  if (expectSingleInsert && !singleInsert) {
412
430
  throw "Expected singleInsert";
413
431
  }
414
432
  const res = {
415
- tableName: insertedRefCol.references![0]!.ftable!,
416
- col: insertedRefCol.name,
417
- fcol: insertedRefCol.references![0]!.fcols[0]!,
433
+ tableName: insertedFieldRef.ftable,
434
+ col: insertedFieldName,
435
+ fcol: insertedFieldRef.fcols[0]!,
418
436
  singleInsert,
419
- data: parentRow[insertedRefCol.name],
437
+ data: parentRow[insertedFieldName],
420
438
  };
421
439
  return res;
422
440
  })
@@ -235,7 +235,7 @@ type StrictUnionHelper<T, TAll> =
235
235
  T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;
236
236
  export type StrictUnion<T> = StrictUnionHelper<T, T>;
237
237
 
238
- export const CONSTRAINT_TYPES = ["PRIMARY KEY", "UNIQUE", "CHECK"] as const;
238
+ export const CONSTRAINT_TYPES = ["PRIMARY KEY", "UNIQUE", "CHECK", "FOREIGN KEY"] as const;
239
239
  export type TableDefinition<LANG_IDS> = {
240
240
  onMount?: (params: {
241
241
  dbo: DBHandlerServer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.242",
3
+ "version": "4.2.244",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",