af-db-ts 2.0.12 → 2.0.13
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 +5 -4
- package/dist/cjs/src/pg/table-schema.js.map +1 -1
- package/dist/esm/src/pg/table-schema.js +5 -4
- 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 +6 -4
|
@@ -6,6 +6,7 @@ const logger_error_1 = require("../logger-error");
|
|
|
6
6
|
const common_1 = require("../common");
|
|
7
7
|
const i_pg_1 = require("../@types/i-pg");
|
|
8
8
|
const tableSchemaHash = {};
|
|
9
|
+
const trimDoubleQuoteMarks = (s) => s.replace(/^"?(.+?)"?$/, '$1');
|
|
9
10
|
const getRecordSchemaMs = async (connectionId, schemaAndTable) => {
|
|
10
11
|
const [schema, table] = schemaAndTable.split('.');
|
|
11
12
|
const sql = `SELECT column_name,
|
|
@@ -19,8 +20,8 @@ const getRecordSchemaMs = async (connectionId, schemaAndTable) => {
|
|
|
19
20
|
udt_name,
|
|
20
21
|
is_generated
|
|
21
22
|
FROM information_schema.columns
|
|
22
|
-
WHERE table_name = '${table}'
|
|
23
|
-
AND table_schema = '${schema}';`;
|
|
23
|
+
WHERE table_name = '${trimDoubleQuoteMarks(table)}'
|
|
24
|
+
AND table_schema = '${trimDoubleQuoteMarks(schema)}';`;
|
|
24
25
|
const result = await (0, query_pg_1.queryPg)(connectionId, sql);
|
|
25
26
|
const fields = (result === null || result === void 0 ? void 0 : result.rows) || [];
|
|
26
27
|
const recordSchema = {};
|
|
@@ -75,8 +76,8 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
75
76
|
JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name)
|
|
76
77
|
JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema
|
|
77
78
|
AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
|
|
78
|
-
WHERE tc.table_schema = '${schema}'
|
|
79
|
-
AND tc.table_name = '${table}'
|
|
79
|
+
WHERE tc.table_schema = '${trimDoubleQuoteMarks(schema)}'
|
|
80
|
+
AND tc.table_name = '${trimDoubleQuoteMarks(table)}'
|
|
80
81
|
AND constraint_type = 'UNIQUE'
|
|
81
82
|
GROUP BY ccu.constraint_name) AS UC ON UC.cn = UI.cn
|
|
82
83
|
ORDER BY CASE WHEN UC.cn IS NULL THEN 2 ELSE 1 END
|
|
@@ -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,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,KAAK;
|
|
1
|
+
{"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../src/pg/table-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { logger } from '../logger-error';
|
|
|
3
3
|
import { graceExit } from '../common';
|
|
4
4
|
import { EDataTypePg } from '../@types/i-pg';
|
|
5
5
|
const tableSchemaHash = {};
|
|
6
|
+
const trimDoubleQuoteMarks = (s) => s.replace(/^"?(.+?)"?$/, '$1');
|
|
6
7
|
const getRecordSchemaMs = async (connectionId, schemaAndTable) => {
|
|
7
8
|
const [schema, table] = schemaAndTable.split('.');
|
|
8
9
|
const sql = `SELECT column_name,
|
|
@@ -16,8 +17,8 @@ const getRecordSchemaMs = async (connectionId, schemaAndTable) => {
|
|
|
16
17
|
udt_name,
|
|
17
18
|
is_generated
|
|
18
19
|
FROM information_schema.columns
|
|
19
|
-
WHERE table_name = '${table}'
|
|
20
|
-
AND table_schema = '${schema}';`;
|
|
20
|
+
WHERE table_name = '${trimDoubleQuoteMarks(table)}'
|
|
21
|
+
AND table_schema = '${trimDoubleQuoteMarks(schema)}';`;
|
|
21
22
|
const result = await queryPg(connectionId, sql);
|
|
22
23
|
const fields = (result === null || result === void 0 ? void 0 : result.rows) || [];
|
|
23
24
|
const recordSchema = {};
|
|
@@ -72,8 +73,8 @@ const getUniqueConstraints = async (connectionId, schemaAndTable) => {
|
|
|
72
73
|
JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name)
|
|
73
74
|
JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema
|
|
74
75
|
AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
|
|
75
|
-
WHERE tc.table_schema = '${schema}'
|
|
76
|
-
AND tc.table_name = '${table}'
|
|
76
|
+
WHERE tc.table_schema = '${trimDoubleQuoteMarks(schema)}'
|
|
77
|
+
AND tc.table_name = '${trimDoubleQuoteMarks(table)}'
|
|
77
78
|
AND constraint_type = 'UNIQUE'
|
|
78
79
|
GROUP BY ccu.constraint_name) AS UC ON UC.cn = UI.cn
|
|
79
80
|
ORDER BY CASE WHEN UC.cn IS NULL THEN 2 ELSE 1 END
|
|
@@ -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,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,KAAK;
|
|
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;;;;oEAIuB,cAAc;kEAChB,CAAC,CAAC;IAElE,OAAO,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,YAAoB,EAAE,cAAsB,EAAiC,EAAE;;IACjH,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE;;;;;;kCAMX,cAAc;;;;;;;;;2DASW,oBAAoB,CAAC,MAAM,CAAC;yDAC9B,oBAAoB,CAAC,KAAK,CAAC;;;;GAIjF,CAAC,CAAC;IACH,MAAM,EAAE,GAAyB,EAAE,CAAC;IACpC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACrC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EAAE,YAAoB,EAAE,cAAsB,EAAqB,EAAE;;IAC3F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE;;;;;;;;;;;;;;;0BAenB,cAAc;;GAErC,CAAC,CAAC;IACH,OAAO,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAG,CAAC,CAAC,0CAAE,IAAI,KAAI,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,YAAoB,EAAE,cAAsB,EAA2B,EAAE;IAC9G,IAAI,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,WAAW,EAAE;QACf,OAAO,WAAW,CAAC;KACpB;IACD,IAAI;QACF,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC3E,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAoC,EAAE,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/C,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;YACxD,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACtC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,EAAE,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAa,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,eAAe,GAAa,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjG,WAAW,GAAG;YACZ,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe;SACrE,CAAC;QACF,eAAe,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;KAC/C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,SAAS,EAAE,CAAC;KACnB;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAA6C,MAAS,EAAE,YAA6B,EAQrH,EAAE;IACJ,MAAM,gBAAgB,GAAmB,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,KAAK,IAAI,QAAQ,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzF,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACzC;aAAM;YACL,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAa,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,UAAU,GAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAU,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACtD,MAAM,aAAa,GAAW,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAW,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAW,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnF,OAAO;QACL,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY;KACnE,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -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;AAgHjH,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
|
@@ -7,6 +7,8 @@ import { EDataTypePg, IFieldDefPg, ITableSchemaPg, TRecordSchemaPg, TUniqueConst
|
|
|
7
7
|
|
|
8
8
|
const tableSchemaHash: { [schemaAndTable: string]: ITableSchemaPg } = {};
|
|
9
9
|
|
|
10
|
+
const trimDoubleQuoteMarks = (s: string): string => s.replace(/^"?(.+?)"?$/, '$1');
|
|
11
|
+
|
|
10
12
|
const getRecordSchemaMs = async (connectionId: string, schemaAndTable: string): Promise<TRecordSchemaPg> => {
|
|
11
13
|
const [schema, table] = schemaAndTable.split('.');
|
|
12
14
|
const sql = `SELECT column_name,
|
|
@@ -20,8 +22,8 @@ const getRecordSchemaMs = async (connectionId: string, schemaAndTable: string):
|
|
|
20
22
|
udt_name,
|
|
21
23
|
is_generated
|
|
22
24
|
FROM information_schema.columns
|
|
23
|
-
WHERE table_name = '${table}'
|
|
24
|
-
AND table_schema = '${schema}';`;
|
|
25
|
+
WHERE table_name = '${trimDoubleQuoteMarks(table)}'
|
|
26
|
+
AND table_schema = '${trimDoubleQuoteMarks(schema)}';`;
|
|
25
27
|
const result = await queryPg(connectionId, sql);
|
|
26
28
|
const fields = result?.rows || [];
|
|
27
29
|
const recordSchema: TRecordSchemaPg = {};
|
|
@@ -78,8 +80,8 @@ const getUniqueConstraints = async (connectionId: string, schemaAndTable: string
|
|
|
78
80
|
JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name)
|
|
79
81
|
JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema
|
|
80
82
|
AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
|
|
81
|
-
WHERE tc.table_schema = '${schema}'
|
|
82
|
-
AND tc.table_name = '${table}'
|
|
83
|
+
WHERE tc.table_schema = '${trimDoubleQuoteMarks(schema)}'
|
|
84
|
+
AND tc.table_name = '${trimDoubleQuoteMarks(table)}'
|
|
83
85
|
AND constraint_type = 'UNIQUE'
|
|
84
86
|
GROUP BY ccu.constraint_name) AS UC ON UC.cn = UI.cn
|
|
85
87
|
ORDER BY CASE WHEN UC.cn IS NULL THEN 2 ELSE 1 END
|