af-db-ts 2.0.13 → 2.0.14
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 +15 -11
- package/dist/cjs/src/pg/table-schema.js.map +1 -1
- package/dist/esm/src/pg/table-schema.js +15 -11
- 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 +15 -11
|
@@ -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,7 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
90
93
|
};
|
|
91
94
|
const getSerials = async (connectionId, schemaAndTable) => {
|
|
92
95
|
var _a, _b;
|
|
93
|
-
const
|
|
96
|
+
const sql = `
|
|
94
97
|
WITH fq_objects AS (SELECT c.oid,
|
|
95
98
|
n.nspname || '.' || c.relname AS fqname,
|
|
96
99
|
c.relkind,
|
|
@@ -107,7 +110,8 @@ const getSerials = async (connectionId, schemaAndTable) => {
|
|
|
107
110
|
WHERE d.deptype = 'a'
|
|
108
111
|
AND t.fqname = '${schemaAndTable}'
|
|
109
112
|
GROUP BY t.fqname
|
|
110
|
-
|
|
113
|
+
`;
|
|
114
|
+
const result = await (0, query_pg_1.queryPg)(connectionId, sql);
|
|
111
115
|
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
116
|
};
|
|
113
117
|
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,7 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
87
90
|
};
|
|
88
91
|
const getSerials = async (connectionId, schemaAndTable) => {
|
|
89
92
|
var _a, _b;
|
|
90
|
-
const
|
|
93
|
+
const sql = `
|
|
91
94
|
WITH fq_objects AS (SELECT c.oid,
|
|
92
95
|
n.nspname || '.' || c.relname AS fqname,
|
|
93
96
|
c.relkind,
|
|
@@ -104,7 +107,8 @@ const getSerials = async (connectionId, schemaAndTable) => {
|
|
|
104
107
|
WHERE d.deptype = 'a'
|
|
105
108
|
AND t.fqname = '${schemaAndTable}'
|
|
106
109
|
GROUP BY t.fqname
|
|
107
|
-
|
|
110
|
+
`;
|
|
111
|
+
const result = await queryPg(connectionId, sql);
|
|
108
112
|
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
113
|
};
|
|
110
114
|
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;AAoHjH,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,7 @@ 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 sql = `
|
|
98
101
|
WITH fq_objects AS (SELECT c.oid,
|
|
99
102
|
n.nspname || '.' || c.relname AS fqname,
|
|
100
103
|
c.relkind,
|
|
@@ -111,7 +114,8 @@ const getSerials = async (connectionId: string, schemaAndTable: string): Promise
|
|
|
111
114
|
WHERE d.deptype = 'a'
|
|
112
115
|
AND t.fqname = '${schemaAndTable}'
|
|
113
116
|
GROUP BY t.fqname
|
|
114
|
-
|
|
117
|
+
`;
|
|
118
|
+
const result = await queryPg(connectionId, sql);
|
|
115
119
|
return result?.rows?.[0]?.cols || [];
|
|
116
120
|
};
|
|
117
121
|
|