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.
- package/dist/DboBuilder/getFkeys.d.ts +16 -0
- package/dist/DboBuilder/getFkeys.d.ts.map +1 -0
- package/dist/DboBuilder/getFkeys.js +44 -0
- package/dist/DboBuilder/getFkeys.js.map +1 -0
- package/dist/DboBuilder/getMaterialViews.d.ts +4 -0
- package/dist/DboBuilder/getMaterialViews.d.ts.map +1 -0
- package/dist/DboBuilder/getMaterialViews.js +93 -0
- package/dist/DboBuilder/getMaterialViews.js.map +1 -0
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +9 -127
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
- package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
- package/dist/DboBuilder/insertNestedRecords.js +30 -14
- package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
- package/dist/TableConfig/TableConfig.d.ts +1 -1
- package/dist/TableConfig/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig/TableConfig.js +1 -1
- package/dist/TableConfig/TableConfig.js.map +1 -1
- package/lib/DboBuilder/getFkeys.ts +55 -0
- package/lib/DboBuilder/getMaterialViews.ts +94 -0
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +11 -141
- package/lib/DboBuilder/insertNestedRecords.ts +33 -15
- package/lib/TableConfig/TableConfig.ts +1 -1
- package/package.json +1 -1
|
@@ -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 @@
|
|
|
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;
|
|
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
|
|
8
|
-
|
|
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
|
-
//
|
|
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
|
|
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 =
|
|
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(
|
|
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 =
|
|
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:
|
|
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":";;;AAAA,qDAAoD;AACpD,oDAA2E;AAG3E,oCAAiC;
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
261
|
-
|
|
280
|
+
insertedFieldName,
|
|
281
|
+
insertedFieldRef: firstRef,
|
|
262
282
|
};
|
|
263
283
|
}
|
|
264
284
|
return undefined;
|
|
265
285
|
})
|
|
266
286
|
.filter(prostgles_types_1.isDefined)
|
|
267
|
-
.map(({
|
|
268
|
-
if (
|
|
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[
|
|
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:
|
|
281
|
-
col:
|
|
282
|
-
fcol:
|
|
296
|
+
tableName: insertedFieldRef.ftable,
|
|
297
|
+
col: insertedFieldName,
|
|
298
|
+
fcol: insertedFieldRef.fcols[0],
|
|
283
299
|
singleInsert,
|
|
284
|
-
data: parentRow[
|
|
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":";;;AAAA,qDASyB;AACzB,yDAAgF;AAIhF,yDAAsD;AACtD,uDAAoD;AAY7C,MAAM,SAAS,GAAG,CAA2C,MAKnE,EAAgB,EAAE;IACjB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,IAAA,0BAAa,EAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,YAAY;YACZ,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAjBW,QAAA,SAAS,aAiBpB;AAiMW,QAAA,gBAAgB,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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 =
|
|
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(
|
|
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 =
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
393
|
-
|
|
415
|
+
insertedFieldName,
|
|
416
|
+
insertedFieldRef: firstRef,
|
|
394
417
|
};
|
|
395
418
|
}
|
|
396
419
|
|
|
397
420
|
return undefined;
|
|
398
421
|
})
|
|
399
422
|
.filter(isDefined)
|
|
400
|
-
.map(({
|
|
401
|
-
if (
|
|
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[
|
|
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:
|
|
416
|
-
col:
|
|
417
|
-
fcol:
|
|
433
|
+
tableName: insertedFieldRef.ftable,
|
|
434
|
+
col: insertedFieldName,
|
|
435
|
+
fcol: insertedFieldRef.fcols[0]!,
|
|
418
436
|
singleInsert,
|
|
419
|
-
data: parentRow[
|
|
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;
|