af-db-ts 2.0.13 → 2.0.15
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/cjs/src/pg/table-schema.js +18 -12
- package/dist/cjs/src/pg/table-schema.js.map +1 -1
- package/dist/esm/src/pg/table-schema.js +18 -12
- package/dist/esm/src/pg/table-schema.js.map +1 -1
- package/dist/types/src/pg/table-schema.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/pg/table-schema.ts +18 -12
|
@@ -50,18 +50,20 @@ const getRecordSchemaMs = async (connectionId, schemaAndTable) => {
|
|
|
50
50
|
return recordSchema;
|
|
51
51
|
};
|
|
52
52
|
const getPrimaryKey = async (connectionId, schemaAndTable) => {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
const sql = `
|
|
54
|
+
SELECT a.attname as f
|
|
55
|
+
FROM pg_index i
|
|
56
|
+
JOIN pg_attribute a
|
|
57
|
+
ON a.attrelid = i.indrelid AND a.attnum = ANY (i.indkey)
|
|
58
|
+
WHERE i.indrelid = '${schemaAndTable}'::regclass
|
|
59
|
+
AND i.indisprimary;`;
|
|
60
|
+
const result = await (0, query_pg_1.queryPg)(connectionId, sql);
|
|
59
61
|
return ((result === null || result === void 0 ? void 0 : result.rows) || []).map(({ f }) => f);
|
|
60
62
|
};
|
|
61
63
|
const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
62
64
|
var _a;
|
|
63
65
|
const [schema, table] = schemaAndTable.split('.');
|
|
64
|
-
const
|
|
66
|
+
const sql = `
|
|
65
67
|
SELECT UI.cn as cn, UI.cols as cols, CASE WHEN UC.cn IS NULL THEN 'UX' ELSE 'UC' END AS typ
|
|
66
68
|
FROM (SELECT c.relname as cn, array_to_json(array_agg(a.attname ORDER BY a.attname)) AS cols
|
|
67
69
|
FROM pg_index i
|
|
@@ -78,10 +80,11 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
78
80
|
AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
|
|
79
81
|
WHERE tc.table_schema = '${trimDoubleQuoteMarks(schema)}'
|
|
80
82
|
AND tc.table_name = '${trimDoubleQuoteMarks(table)}'
|
|
81
|
-
AND constraint_type = 'UNIQUE'
|
|
83
|
+
AND tc.constraint_type = 'UNIQUE'
|
|
82
84
|
GROUP BY ccu.constraint_name) AS UC ON UC.cn = UI.cn
|
|
83
85
|
ORDER BY CASE WHEN UC.cn IS NULL THEN 2 ELSE 1 END
|
|
84
|
-
|
|
86
|
+
`;
|
|
87
|
+
const result = await (0, query_pg_1.queryPg)(connectionId, sql);
|
|
85
88
|
const uc = {};
|
|
86
89
|
(_a = result === null || result === void 0 ? void 0 : result.rows) === null || _a === void 0 ? void 0 : _a.forEach(({ cn, cols }) => {
|
|
87
90
|
uc[cn] = cols;
|
|
@@ -90,7 +93,9 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
90
93
|
};
|
|
91
94
|
const getSerials = async (connectionId, schemaAndTable) => {
|
|
92
95
|
var _a, _b;
|
|
93
|
-
const
|
|
96
|
+
const [schema, table] = schemaAndTable.split('.');
|
|
97
|
+
const fqName = `${trimDoubleQuoteMarks(schema)}.${trimDoubleQuoteMarks(table)}`;
|
|
98
|
+
const sql = `
|
|
94
99
|
WITH fq_objects AS (SELECT c.oid,
|
|
95
100
|
n.nspname || '.' || c.relname AS fqname,
|
|
96
101
|
c.relkind,
|
|
@@ -105,9 +110,10 @@ const getSerials = async (connectionId, schemaAndTable) => {
|
|
|
105
110
|
JOIN tables t ON t.oid = d.refobjid
|
|
106
111
|
JOIN pg_attribute a ON a.attrelid = d.refobjid and a.attnum = d.refobjsubid
|
|
107
112
|
WHERE d.deptype = 'a'
|
|
108
|
-
AND t.fqname = '${
|
|
113
|
+
AND t.fqname = '${fqName}'
|
|
109
114
|
GROUP BY t.fqname
|
|
110
|
-
|
|
115
|
+
`;
|
|
116
|
+
const result = await (0, query_pg_1.queryPg)(connectionId, sql);
|
|
111
117
|
return ((_b = (_a = result === null || result === void 0 ? void 0 : result.rows) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.cols) || [];
|
|
112
118
|
};
|
|
113
119
|
const getTableSchemaPg = async (connectionId, schemaAndTable) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../src/pg/table-schema.ts"],"names":[],"mappings":";;;AAEA,yCAAqC;AACrC,kDAAyC;AACzC,sCAAsC;AACtC,yCAAiH;AAEjH,MAAM,eAAe,GAAiD,EAAE,CAAC;AAEzE,MAAM,oBAAoB,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAEnF,MAAM,iBAAiB,GAAG,KAAK,EAAE,YAAoB,EAAE,cAAsB,EAA4B,EAAE;IACzG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG;;;;;;;;;;;qCAWuB,oBAAoB,CAAC,KAAK,CAAC;uCACzB,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAO,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,EAAE,CAAC;IAClC,MAAM,YAAY,GAAoB,EAAE,CAAC;IACzC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1B,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,QAAQ,CAAC,WAAW;YAC1B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;YACnD,aAAa,EAAE,QAAQ,CAAC,cAAc;YACtC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc;YACrC,QAAQ,EAAE,QAAQ,CAAC,SAAS;YAC5B,MAAM,EAAE,QAAQ,CAAC,wBAAwB;YACzC,SAAS,EAAE,QAAQ,CAAC,iBAAiB;YACrC,KAAK,EAAE,QAAQ,CAAC,uBAAuB;YACvC,WAAW,EAAE,QAAQ,CAAC,kBAAkB;YACxC,OAAO,EAAE,QAAQ,CAAC,QAAQ;SAC3B,CAAC;QACF,IAAI,QAAQ,CAAC,YAAY,KAAK,OAAO,EAAE;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,OAAO,WAAW,CAAC,IAAyB,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,YAAoB,EAAE,cAAsB,EAAqB,EAAE;IAC9F,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAO,EAAC,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../src/pg/table-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,18 +47,20 @@ const getRecordSchemaMs = async (connectionId, schemaAndTable) => {
|
|
|
47
47
|
return recordSchema;
|
|
48
48
|
};
|
|
49
49
|
const getPrimaryKey = async (connectionId, schemaAndTable) => {
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
const sql = `
|
|
51
|
+
SELECT a.attname as f
|
|
52
|
+
FROM pg_index i
|
|
53
|
+
JOIN pg_attribute a
|
|
54
|
+
ON a.attrelid = i.indrelid AND a.attnum = ANY (i.indkey)
|
|
55
|
+
WHERE i.indrelid = '${schemaAndTable}'::regclass
|
|
56
|
+
AND i.indisprimary;`;
|
|
57
|
+
const result = await queryPg(connectionId, sql);
|
|
56
58
|
return ((result === null || result === void 0 ? void 0 : result.rows) || []).map(({ f }) => f);
|
|
57
59
|
};
|
|
58
60
|
const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
59
61
|
var _a;
|
|
60
62
|
const [schema, table] = schemaAndTable.split('.');
|
|
61
|
-
const
|
|
63
|
+
const sql = `
|
|
62
64
|
SELECT UI.cn as cn, UI.cols as cols, CASE WHEN UC.cn IS NULL THEN 'UX' ELSE 'UC' END AS typ
|
|
63
65
|
FROM (SELECT c.relname as cn, array_to_json(array_agg(a.attname ORDER BY a.attname)) AS cols
|
|
64
66
|
FROM pg_index i
|
|
@@ -75,10 +77,11 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
75
77
|
AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
|
|
76
78
|
WHERE tc.table_schema = '${trimDoubleQuoteMarks(schema)}'
|
|
77
79
|
AND tc.table_name = '${trimDoubleQuoteMarks(table)}'
|
|
78
|
-
AND constraint_type = 'UNIQUE'
|
|
80
|
+
AND tc.constraint_type = 'UNIQUE'
|
|
79
81
|
GROUP BY ccu.constraint_name) AS UC ON UC.cn = UI.cn
|
|
80
82
|
ORDER BY CASE WHEN UC.cn IS NULL THEN 2 ELSE 1 END
|
|
81
|
-
|
|
83
|
+
`;
|
|
84
|
+
const result = await queryPg(connectionId, sql);
|
|
82
85
|
const uc = {};
|
|
83
86
|
(_a = result === null || result === void 0 ? void 0 : result.rows) === null || _a === void 0 ? void 0 : _a.forEach(({ cn, cols }) => {
|
|
84
87
|
uc[cn] = cols;
|
|
@@ -87,7 +90,9 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
87
90
|
};
|
|
88
91
|
const getSerials = async (connectionId, schemaAndTable) => {
|
|
89
92
|
var _a, _b;
|
|
90
|
-
const
|
|
93
|
+
const [schema, table] = schemaAndTable.split('.');
|
|
94
|
+
const fqName = `${trimDoubleQuoteMarks(schema)}.${trimDoubleQuoteMarks(table)}`;
|
|
95
|
+
const sql = `
|
|
91
96
|
WITH fq_objects AS (SELECT c.oid,
|
|
92
97
|
n.nspname || '.' || c.relname AS fqname,
|
|
93
98
|
c.relkind,
|
|
@@ -102,9 +107,10 @@ const getSerials = async (connectionId, schemaAndTable) => {
|
|
|
102
107
|
JOIN tables t ON t.oid = d.refobjid
|
|
103
108
|
JOIN pg_attribute a ON a.attrelid = d.refobjid and a.attnum = d.refobjsubid
|
|
104
109
|
WHERE d.deptype = 'a'
|
|
105
|
-
AND t.fqname = '${
|
|
110
|
+
AND t.fqname = '${fqName}'
|
|
106
111
|
GROUP BY t.fqname
|
|
107
|
-
|
|
112
|
+
`;
|
|
113
|
+
const result = await queryPg(connectionId, sql);
|
|
108
114
|
return ((_b = (_a = result === null || result === void 0 ? void 0 : result.rows) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.cols) || [];
|
|
109
115
|
};
|
|
110
116
|
export const getTableSchemaPg = async (connectionId, schemaAndTable) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../src/pg/table-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAsE,MAAM,gBAAgB,CAAC;AAEjH,MAAM,eAAe,GAAiD,EAAE,CAAC;AAEzE,MAAM,oBAAoB,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAEnF,MAAM,iBAAiB,GAAG,KAAK,EAAE,YAAoB,EAAE,cAAsB,EAA4B,EAAE;IACzG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG;;;;;;;;;;;qCAWuB,oBAAoB,CAAC,KAAK,CAAC;uCACzB,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,EAAE,CAAC;IAClC,MAAM,YAAY,GAAoB,EAAE,CAAC;IACzC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1B,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,QAAQ,CAAC,WAAW;YAC1B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;YACnD,aAAa,EAAE,QAAQ,CAAC,cAAc;YACtC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc;YACrC,QAAQ,EAAE,QAAQ,CAAC,SAAS;YAC5B,MAAM,EAAE,QAAQ,CAAC,wBAAwB;YACzC,SAAS,EAAE,QAAQ,CAAC,iBAAiB;YACrC,KAAK,EAAE,QAAQ,CAAC,uBAAuB;YACvC,WAAW,EAAE,QAAQ,CAAC,kBAAkB;YACxC,OAAO,EAAE,QAAQ,CAAC,QAAQ;SAC3B,CAAC;QACF,IAAI,QAAQ,CAAC,YAAY,KAAK,OAAO,EAAE;YACrC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,OAAO,WAAW,CAAC,IAAyB,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,YAAoB,EAAE,cAAsB,EAAqB,EAAE;IAC9F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../src/pg/table-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../src/pg/table-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAIpC,OAAO,EAA4B,cAAc,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../src/pg/table-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAIpC,OAAO,EAA4B,cAAc,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AAsHjH,eAAO,MAAM,gBAAgB,iBAAwB,MAAM,kBAAkB,MAAM,KAAG,QAAQ,cAAc,CA8B3G,CAAC;AAEF,eAAO,MAAM,oBAAoB,uEAAyE,eAAe;YAE7G,MAAM,EAAE;gBACJ,MAAM;YACV,GAAG,EAAE;mBACE,MAAM;eACV,MAAM;kBACH,MAAM;CAuBvB,CAAC"}
|
package/package.json
CHANGED
package/src/pg/table-schema.ts
CHANGED
|
@@ -53,19 +53,21 @@ const getRecordSchemaMs = async (connectionId: string, schemaAndTable: string):
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
const getPrimaryKey = async (connectionId: string, schemaAndTable: string): Promise<string[]> => {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
const sql = `
|
|
57
|
+
SELECT a.attname as f
|
|
58
|
+
FROM pg_index i
|
|
59
|
+
JOIN pg_attribute a
|
|
60
|
+
ON a.attrelid = i.indrelid AND a.attnum = ANY (i.indkey)
|
|
61
|
+
WHERE i.indrelid = '${schemaAndTable}'::regclass
|
|
62
|
+
AND i.indisprimary;`;
|
|
63
|
+
const result = await queryPg(connectionId, sql);
|
|
62
64
|
|
|
63
65
|
return (result?.rows || []).map(({ f }) => f);
|
|
64
66
|
};
|
|
65
67
|
|
|
66
68
|
const getUniqueConstraints = async (connectionId: string, schemaAndTable: string): Promise<TUniqueConstraintsPg> => {
|
|
67
69
|
const [schema, table] = schemaAndTable.split('.');
|
|
68
|
-
const
|
|
70
|
+
const sql = `
|
|
69
71
|
SELECT UI.cn as cn, UI.cols as cols, CASE WHEN UC.cn IS NULL THEN 'UX' ELSE 'UC' END AS typ
|
|
70
72
|
FROM (SELECT c.relname as cn, array_to_json(array_agg(a.attname ORDER BY a.attname)) AS cols
|
|
71
73
|
FROM pg_index i
|
|
@@ -82,10 +84,11 @@ const getUniqueConstraints = async (connectionId: string, schemaAndTable: string
|
|
|
82
84
|
AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
|
|
83
85
|
WHERE tc.table_schema = '${trimDoubleQuoteMarks(schema)}'
|
|
84
86
|
AND tc.table_name = '${trimDoubleQuoteMarks(table)}'
|
|
85
|
-
AND constraint_type = 'UNIQUE'
|
|
87
|
+
AND tc.constraint_type = 'UNIQUE'
|
|
86
88
|
GROUP BY ccu.constraint_name) AS UC ON UC.cn = UI.cn
|
|
87
89
|
ORDER BY CASE WHEN UC.cn IS NULL THEN 2 ELSE 1 END
|
|
88
|
-
|
|
90
|
+
`;
|
|
91
|
+
const result = await queryPg(connectionId, sql);
|
|
89
92
|
const uc: TUniqueConstraintsPg = {};
|
|
90
93
|
result?.rows?.forEach(({ cn, cols }) => {
|
|
91
94
|
uc[cn] = cols;
|
|
@@ -94,7 +97,9 @@ const getUniqueConstraints = async (connectionId: string, schemaAndTable: string
|
|
|
94
97
|
};
|
|
95
98
|
|
|
96
99
|
const getSerials = async (connectionId: string, schemaAndTable: string): Promise<string[]> => {
|
|
97
|
-
const
|
|
100
|
+
const [schema, table] = schemaAndTable.split('.');
|
|
101
|
+
const fqName = `${trimDoubleQuoteMarks(schema)}.${trimDoubleQuoteMarks(table)}`
|
|
102
|
+
const sql = `
|
|
98
103
|
WITH fq_objects AS (SELECT c.oid,
|
|
99
104
|
n.nspname || '.' || c.relname AS fqname,
|
|
100
105
|
c.relkind,
|
|
@@ -109,9 +114,10 @@ const getSerials = async (connectionId: string, schemaAndTable: string): Promise
|
|
|
109
114
|
JOIN tables t ON t.oid = d.refobjid
|
|
110
115
|
JOIN pg_attribute a ON a.attrelid = d.refobjid and a.attnum = d.refobjsubid
|
|
111
116
|
WHERE d.deptype = 'a'
|
|
112
|
-
AND t.fqname = '${
|
|
117
|
+
AND t.fqname = '${fqName}'
|
|
113
118
|
GROUP BY t.fqname
|
|
114
|
-
|
|
119
|
+
`;
|
|
120
|
+
const result = await queryPg(connectionId, sql);
|
|
115
121
|
return result?.rows?.[0]?.cols || [];
|
|
116
122
|
};
|
|
117
123
|
|