prostgles-server 4.2.546 → 4.2.548
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/ViewRelatedTables/getAllViewRelatedTables.d.ts +2 -6
- package/dist/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.js +9 -2
- package/dist/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.js.map +1 -1
- package/dist/DboBuilder/ViewRelatedTables/getViewRelatedTableJoinCondition.js +2 -2
- package/dist/DboBuilder/ViewRelatedTables/getViewRelatedTableJoinCondition.js.map +1 -1
- package/dist/DboBuilder/ViewRelatedTables/getViewRelatedTables.js +4 -4
- package/dist/DboBuilder/ViewRelatedTables/getViewRelatedTables.js.map +1 -1
- package/dist/PubSubManager/SyncReplication/syncData.d.ts.map +1 -1
- package/dist/PubSubManager/SyncReplication/syncData.js +0 -8
- package/dist/PubSubManager/SyncReplication/syncData.js.map +1 -1
- package/dist/PubSubManager/addSub.d.ts.map +1 -1
- package/dist/PubSubManager/addSub.js +4 -1
- package/dist/PubSubManager/addSub.js.map +1 -1
- package/dist/runClientRequest.d.ts.map +1 -1
- package/dist/runClientRequest.js +3 -4
- package/dist/runClientRequest.js.map +1 -1
- package/lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts +10 -3
- package/lib/DboBuilder/ViewRelatedTables/getViewRelatedTableJoinCondition.ts +2 -2
- package/lib/DboBuilder/ViewRelatedTables/getViewRelatedTables.ts +4 -4
- package/lib/PubSubManager/SyncReplication/syncData.ts +0 -9
- package/lib/PubSubManager/addSub.ts +5 -1
- package/lib/runClientRequest.ts +5 -12
- package/package.json +1 -1
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const getAllViewRelatedTables: (
|
|
3
|
-
table_name: string;
|
|
4
|
-
table_schema: string;
|
|
5
|
-
table_oid: number;
|
|
6
|
-
}[]>;
|
|
1
|
+
import type { DboBuilder } from "../DboBuilder";
|
|
2
|
+
export declare const getAllViewRelatedTables: (dboBuilder: DboBuilder, viewName: string) => Promise<NonNullable<import("../DboBuilderTypes").TableSchema>[]>;
|
|
7
3
|
//# sourceMappingURL=getAllViewRelatedTables.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllViewRelatedTables.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getAllViewRelatedTables.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,uBAAuB,GAAU,YAAY,UAAU,EAAE,UAAU,MAAM,qEAyBrF,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAllViewRelatedTables = void 0;
|
|
4
|
-
const
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const getAllViewRelatedTables = async (dboBuilder, viewName) => {
|
|
6
|
+
const db = dboBuilder.db;
|
|
5
7
|
const tables = await db.any(`
|
|
6
8
|
SELECT DISTINCT
|
|
7
9
|
vcu.table_name,
|
|
@@ -12,7 +14,12 @@ const getAllViewRelatedTables = async (db, viewName) => {
|
|
|
12
14
|
JOIN pg_namespace n ON n.oid = c.relnamespace AND n.nspname = vcu.table_schema
|
|
13
15
|
WHERE vcu.view_name = \${viewName}
|
|
14
16
|
`, { viewName });
|
|
15
|
-
return tables
|
|
17
|
+
return tables
|
|
18
|
+
.map((t) => {
|
|
19
|
+
const tableInfo = dboBuilder.tablesOrViews?.find((tov) => tov.oid === t.table_oid);
|
|
20
|
+
return tableInfo;
|
|
21
|
+
})
|
|
22
|
+
.filter(prostgles_types_1.isDefined);
|
|
16
23
|
};
|
|
17
24
|
exports.getAllViewRelatedTables = getAllViewRelatedTables;
|
|
18
25
|
//# sourceMappingURL=getAllViewRelatedTables.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllViewRelatedTables.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getAllViewRelatedTables.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getAllViewRelatedTables.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAGrC,MAAM,uBAAuB,GAAG,KAAK,EAAE,UAAsB,EAAE,QAAgB,EAAE,EAAE;IACxF,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAKzB;;;;;;;;;GASD,EACC,EAAE,QAAQ,EAAE,CACb,CAAC;IACF,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;SACD,MAAM,CAAC,2BAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAzBW,QAAA,uBAAuB,2BAyBlC"}
|
|
@@ -15,9 +15,9 @@ const getViewRelatedTableJoinCondition = async ({ dboBuilder, viewDefinition, vi
|
|
|
15
15
|
};
|
|
16
16
|
});
|
|
17
17
|
const primaryKeyColumns = tableColumns.filter((c) => c.is_pkey);
|
|
18
|
-
const
|
|
18
|
+
const comparableColumns = tableColumns.filter((c) => c.viewColumnName && !["json", "xml"].includes(c.udt_name));
|
|
19
19
|
const allPkeyColumnsInView = primaryKeyColumns.length && primaryKeyColumns.every((pk) => (0, prostgles_types_1.isDefined)(pk.viewColumnName));
|
|
20
|
-
const joinColumns = allPkeyColumnsInView ? primaryKeyColumns :
|
|
20
|
+
const joinColumns = allPkeyColumnsInView ? primaryKeyColumns : comparableColumns;
|
|
21
21
|
let condition = "TRUE";
|
|
22
22
|
const tableName = table.name;
|
|
23
23
|
if (joinColumns.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewRelatedTableJoinCondition.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getViewRelatedTableJoinCondition.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAC5C,+EAA6D;AAKtD,MAAM,gCAAgC,GAAG,KAAK,EAAE,EACrD,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,QAAQ,GAiBT,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QAC3E,wCAAwC;QACxC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAC5C,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC,gBAAgB,CAChD,EAAE,cAAc,CAAC;YAClB,OAAO;gBACL,GAAG,EAAE;gBACL,cAAc;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,
|
|
1
|
+
{"version":3,"file":"getViewRelatedTableJoinCondition.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getViewRelatedTableJoinCondition.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,13 +50,13 @@ const getViewRelatedTables = async (viewHandler, localParams, newQuery) => {
|
|
|
50
50
|
relatedTables: [...joinedRelatedTables],
|
|
51
51
|
};
|
|
52
52
|
/** Get list of remaining used inner tables (tables whose columns do not appear in fields list but are still used by the view) */
|
|
53
|
-
const allUsedTables = await (0, getAllViewRelatedTables_1.getAllViewRelatedTables)(dboBuilder
|
|
53
|
+
const allUsedTables = await (0, getAllViewRelatedTables_1.getAllViewRelatedTables)(dboBuilder, viewName);
|
|
54
54
|
/** Remaining tables will have listeners on all records (condition = "TRUE") */
|
|
55
55
|
allUsedTables.forEach((rt) => {
|
|
56
|
-
if (!joinedRelatedTables.find((jt) => jt.tableOID
|
|
56
|
+
if (!joinedRelatedTables.find((jt) => jt.tableOID == rt.oid)) {
|
|
57
57
|
viewOptions.relatedTables.push({
|
|
58
|
-
tableName: rt.
|
|
59
|
-
tableNameEscaped:
|
|
58
|
+
tableName: rt.name,
|
|
59
|
+
tableNameEscaped: rt.name,
|
|
60
60
|
condition: "TRUE",
|
|
61
61
|
tracked_columns: undefined,
|
|
62
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewRelatedTables.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getViewRelatedTables.ts"],"names":[],"mappings":";;;AAEA,wDAAyE;AAGzE,uEAAoE;AACpE,yFAAsF;AAE/E,MAAM,oBAAoB,GAAG,KAAK,EACvC,WAAwB,EACxB,WAAoC,EACpC,QAAkB,EAClB,EAAE;IACF,sDAAsD;IACtD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;IAEnD,uDAAuD;IACvD,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC;IAE7D,IAAI,UAAU,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAA,qDAAmC,EAAC,2BAA2B,EAAE;YACrE,IAAI,EAAE,aAAa;YACnB,WAAW;YACX,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CACxC,sBAAsB,UAAU,mDAAmD,EACnF,EAAE,EACF,EAAE,UAAU,EAAE,uBAAuB,EAAE,CACxC,CAAC;IAEF,MAAM,UAAU,GAMZ,IAAI,GAAG,EAAE,CAAC;IAEd,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;QACtF,IAAI,IAAI,IAAI,OAAO,IAAI,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACpE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrB,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG,MAAM,IAAA,mEAAgC,EAAC;QACjE,UAAU;QACV,cAAc,EAAE,UAAU;QAC1B,UAAU;QACV,eAAe,EAAE,QAAQ;QACzB,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,WAAW,GAA4B;QAC3C,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,UAAU;QACV,aAAa,EAAE,CAAC,GAAG,mBAAmB,CAAC;KACxC,CAAC;IAEF,iIAAiI;IACjI,MAAM,aAAa,GAAG,MAAM,IAAA,iDAAuB,EAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"getViewRelatedTables.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewRelatedTables/getViewRelatedTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncData.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/SyncReplication/syncData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAC7B;IACE,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC,GACD;IACE,GAAG,EAAE,SAAS,GAAG,MAAM,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,MAAM,EAAE,SAAS,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"syncData.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/SyncReplication/syncData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAC7B;IACE,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC,GACD;IACE,GAAG,EAAE,SAAS,GAAG,MAAM,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,MAAM,EAAE,SAAS,GAAG,QAAQ,iBAwI7B"}
|
|
@@ -69,14 +69,6 @@ async function syncData(sync, clientData, source) {
|
|
|
69
69
|
void this.syncData(sync, undefined, source);
|
|
70
70
|
},
|
|
71
71
|
});
|
|
72
|
-
/* Debounce sync requests */
|
|
73
|
-
// if (!sync.wal.isSending() && sync.is_syncing) {
|
|
74
|
-
// this.syncTimeout ??= setTimeout(() => {
|
|
75
|
-
// this.syncTimeout = undefined;
|
|
76
|
-
// void this.syncData(sync, undefined, source);
|
|
77
|
-
// }, throttle);
|
|
78
|
-
// return;
|
|
79
|
-
// }
|
|
80
72
|
/**
|
|
81
73
|
* Express data sent from a client that has already been synced
|
|
82
74
|
* Add to WAL manager which will sync at the end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncData.js","sourceRoot":"","sources":["../../../lib/PubSubManager/SyncReplication/syncData.ts"],"names":[],"mappings":";;AA+CA,
|
|
1
|
+
{"version":3,"file":"syncData.js","sourceRoot":"","sources":["../../../lib/PubSubManager/SyncReplication/syncData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAEV,aAAa,EAEb,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GACpD,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,iBAAiB,CAAC,CAAC;AAE1D,KAAK,YAAY,GAAG,oBAAoB,GAAG;IACzC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;CACzC,CAAC;AAIF,wBAAsB,MAAM,CAC1B,IAAI,EAAE,aAAa,EACnB,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAClF,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAEV,aAAa,EAEb,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GACpD,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,iBAAiB,CAAC,CAAC;AAE1D,KAAK,YAAY,GAAG,oBAAoB,GAAG;IACzC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;CACzC,CAAC;AAIF,wBAAsB,MAAM,CAC1B,IAAI,EAAE,aAAa,EACnB,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAClF,OAAO,CAAC,YAAY,CAAC,CAwIvB"}
|
|
@@ -50,8 +50,11 @@ async function addSub(subscriptionParams) {
|
|
|
50
50
|
this.upsertSocket(socket);
|
|
51
51
|
if (viewOptions) {
|
|
52
52
|
for (const relatedTable of viewOptions.relatedTables) {
|
|
53
|
+
const quoteIdentTableName = `"${relatedTable.tableName}"` !== relatedTable.tableNameEscaped ?
|
|
54
|
+
relatedTable.tableNameEscaped
|
|
55
|
+
: relatedTable.tableName;
|
|
53
56
|
const relatedTrigger = {
|
|
54
|
-
table_name:
|
|
57
|
+
table_name: quoteIdentTableName,
|
|
55
58
|
condition: (0, PubSubManagerUtils_1.parseCondition)(relatedTable.condition),
|
|
56
59
|
tracked_columns: relatedTable.tracked_columns,
|
|
57
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":";;AAqBA,
|
|
1
|
+
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":";;AAqBA,wBA2IC;AA9JD,gEAAgD;AAOhD,6DAAsD;AAUtD,sCAAsC;AACtC,oGAAoG;AAC7F,KAAK,UAAU,MAAM,CAE1B,kBAAmF;IAEnF,MAAM,EACJ,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,GAAG,EAAE,EACX,YAAY,GAAG,EAAE,EACjB,SAAS,GAAG,EAAE,EACd,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,eAAe,GAChB,GAAG,kBAAkB,CAAC;IACvB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IAEnC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,yBAAyB,CAAC;IAClC,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,qCAAqC,CAAC;IAC9C,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,oBAAoB,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC;IAClI,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,IAAA,mCAAc,EAAC,SAAS,CAAC;QACpC,eAAe;KACW,CAAC;IAE7B,MAAM,MAAM,GAAiB;QAC3B,oBAAoB,EAAE,CAAC;QACvB,YAAY;QACZ,MAAM;QACN,MAAM;QACN,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,CAAC;QACb,MAAM;QACN,gBAAgB;QAChB,UAAU;QACV,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,MAAM,EAAE,EAAE;QACrB,WAAW;QACX,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB,CAAC;IAEF,MAAM,MAAM,GAAiB;QAC3B,WAAW,EAAE,YAAY;QACzB,gBAAgB,EAAE,YAAY,GAAG,QAAQ;QACzC,sBAAsB,EAAE,YAAY,GAAG,cAAc;QACrD,aAAa,EAAE,SAAS;KACzB,CAAC;IAEF,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,6BAA6B,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,aAAa,YAAY,EAAE,CACpF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAE1B,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,YAAY,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,mBAAmB,GACvB,IAAI,YAAY,CAAC,SAAS,GAAG,KAAK,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAC/D,YAAY,CAAC,gBAAgB;gBAC/B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;YAC3B,MAAM,cAAc,GAAG;gBACrB,UAAU,EAAE,mBAAmB;gBAC/B,SAAS,EAAE,IAAA,mCAAc,EAAC,YAAY,CAAC,SAAS,CAAC;gBACjD,eAAe,EAAE,YAAY,CAAC,eAAe;aACnB,CAAC;YAE7B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAErC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;IAC/D,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,SAAS;YAAE,OAAO;QACtB,IAAI,YAAY,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAA,wBAAI,EAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX;;;WAGG;QACH,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACnD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,eAAe,EAAE,CAAC;QAElB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,KAAU,EAAE,EAAiB,EAAE,EAAE;YAC3E,MAAM,GAAG,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,KAAK,IAAI,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,aAAa;gBACtB,YAAY;gBACZ,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,GAAG,EAAE,MAAM,CAAC,EAAE;gBACd,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YACH,eAAe,EAAE,CAAC;YAClB,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvB,+EAA+E;IAC/E,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,2CAA2C,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA0B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA0B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA2B5E,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAUF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,EACf,kBAAkB,IAAI,EACtB,WAAW,iBAAiB,EAC5B,OAAO,eAAe,GAAG,SAAS,mCA4FnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,SAAS,EACf,WAAW,iBAAiB;;;;;;;;EAa7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,EACf,iBAAiB,UAAU,EAC3B,WAAW,iBAAiB,iBAqB7B,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF,eAAO,MAAM,eAAe,GAC1B,MAAM,SAAS,EACf,iBAAiB,UAAU,EAC3B,WAAW,iBAAiB,qBAuC7B,CAAC"}
|
package/dist/runClientRequest.js
CHANGED
|
@@ -30,7 +30,7 @@ const SOCKET_ONLY_COMMANDS = [
|
|
|
30
30
|
const runClientRequest = async function (nonValidatedArgs, clientReq, scope) {
|
|
31
31
|
/* Channel name will only include client-sent params so we ignore table_rules enforced params */
|
|
32
32
|
if (!this.publishParser || !this.dbo) {
|
|
33
|
-
throw "socket/httpReq or
|
|
33
|
+
throw "socket/httpReq or authHandler missing";
|
|
34
34
|
}
|
|
35
35
|
const validation = (0, prostgles_types_1.getJSONBObjectSchemaValidationError)({
|
|
36
36
|
tableName: { type: "string" },
|
|
@@ -84,7 +84,7 @@ const runClientRequest = async function (nonValidatedArgs, clientReq, scope) {
|
|
|
84
84
|
/**
|
|
85
85
|
* satisfies check is used to ensure rules arguments are correctly passed to each method
|
|
86
86
|
*/
|
|
87
|
-
|
|
87
|
+
tableHandler[command].bind(tableHandler);
|
|
88
88
|
return tableHandler[command](param1, param2, param3, parsedTableRule, localParams);
|
|
89
89
|
};
|
|
90
90
|
exports.runClientRequest = runClientRequest;
|
|
@@ -94,8 +94,7 @@ const clientCanRunSqlRequest = async function (clientReq) {
|
|
|
94
94
|
}
|
|
95
95
|
const canRunSQL = async () => {
|
|
96
96
|
const publishParams = await this.publishParser?.getPublishParams(clientReq, undefined);
|
|
97
|
-
const allowedToRunSQL = publishParams &&
|
|
98
|
-
(await (this.opts.publishRawSQL)?.(publishParams));
|
|
97
|
+
const allowedToRunSQL = publishParams && (await this.opts.publishRawSQL?.(publishParams));
|
|
99
98
|
return allowedToRunSQL === true || allowedToRunSQL === "*";
|
|
100
99
|
};
|
|
101
100
|
const allowed = await canRunSQL();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":";;;AACA,qDAMyB;AAIzB,gFAA6E;AAC7E,uDAAuD;
|
|
1
|
+
{"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isDefined } from "prostgles-types";
|
|
2
|
+
import type { DboBuilder } from "../DboBuilder";
|
|
2
3
|
|
|
3
|
-
export const getAllViewRelatedTables = async (
|
|
4
|
+
export const getAllViewRelatedTables = async (dboBuilder: DboBuilder, viewName: string) => {
|
|
5
|
+
const db = dboBuilder.db;
|
|
4
6
|
const tables = await db.any<{
|
|
5
7
|
table_name: string;
|
|
6
8
|
table_schema: string;
|
|
@@ -18,5 +20,10 @@ export const getAllViewRelatedTables = async (db: DB, viewName: string) => {
|
|
|
18
20
|
`,
|
|
19
21
|
{ viewName },
|
|
20
22
|
);
|
|
21
|
-
return tables
|
|
23
|
+
return tables
|
|
24
|
+
.map((t) => {
|
|
25
|
+
const tableInfo = dboBuilder.tablesOrViews?.find((tov) => tov.oid === t.table_oid);
|
|
26
|
+
return tableInfo;
|
|
27
|
+
})
|
|
28
|
+
.filter(isDefined);
|
|
22
29
|
};
|
|
@@ -41,13 +41,13 @@ export const getViewRelatedTableJoinCondition = async ({
|
|
|
41
41
|
};
|
|
42
42
|
});
|
|
43
43
|
const primaryKeyColumns = tableColumns.filter((c) => c.is_pkey);
|
|
44
|
-
const
|
|
44
|
+
const comparableColumns = tableColumns.filter(
|
|
45
45
|
(c) => c.viewColumnName && !["json", "xml"].includes(c.udt_name),
|
|
46
46
|
);
|
|
47
47
|
const allPkeyColumnsInView =
|
|
48
48
|
primaryKeyColumns.length && primaryKeyColumns.every((pk) => isDefined(pk.viewColumnName));
|
|
49
49
|
|
|
50
|
-
const joinColumns = allPkeyColumnsInView ? primaryKeyColumns :
|
|
50
|
+
const joinColumns = allPkeyColumnsInView ? primaryKeyColumns : comparableColumns;
|
|
51
51
|
|
|
52
52
|
let condition = "TRUE";
|
|
53
53
|
|
|
@@ -73,14 +73,14 @@ export const getViewRelatedTables = async (
|
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
/** Get list of remaining used inner tables (tables whose columns do not appear in fields list but are still used by the view) */
|
|
76
|
-
const allUsedTables = await getAllViewRelatedTables(dboBuilder
|
|
76
|
+
const allUsedTables = await getAllViewRelatedTables(dboBuilder, viewName);
|
|
77
77
|
|
|
78
78
|
/** Remaining tables will have listeners on all records (condition = "TRUE") */
|
|
79
79
|
allUsedTables.forEach((rt) => {
|
|
80
|
-
if (!joinedRelatedTables.find((jt) => jt.tableOID
|
|
80
|
+
if (!joinedRelatedTables.find((jt) => jt.tableOID == rt.oid)) {
|
|
81
81
|
viewOptions.relatedTables.push({
|
|
82
|
-
tableName: rt.
|
|
83
|
-
tableNameEscaped:
|
|
82
|
+
tableName: rt.name,
|
|
83
|
+
tableNameEscaped: rt.name,
|
|
84
84
|
condition: "TRUE",
|
|
85
85
|
tracked_columns: undefined,
|
|
86
86
|
});
|
|
@@ -127,15 +127,6 @@ export async function syncData(
|
|
|
127
127
|
},
|
|
128
128
|
});
|
|
129
129
|
|
|
130
|
-
/* Debounce sync requests */
|
|
131
|
-
// if (!sync.wal.isSending() && sync.is_syncing) {
|
|
132
|
-
// this.syncTimeout ??= setTimeout(() => {
|
|
133
|
-
// this.syncTimeout = undefined;
|
|
134
|
-
// void this.syncData(sync, undefined, source);
|
|
135
|
-
// }, throttle);
|
|
136
|
-
// return;
|
|
137
|
-
// }
|
|
138
|
-
|
|
139
130
|
/**
|
|
140
131
|
* Express data sent from a client that has already been synced
|
|
141
132
|
* Add to WAL manager which will sync at the end
|
|
@@ -87,8 +87,12 @@ export async function addSub(
|
|
|
87
87
|
|
|
88
88
|
if (viewOptions) {
|
|
89
89
|
for (const relatedTable of viewOptions.relatedTables) {
|
|
90
|
+
const quoteIdentTableName =
|
|
91
|
+
`"${relatedTable.tableName}"` !== relatedTable.tableNameEscaped ?
|
|
92
|
+
relatedTable.tableNameEscaped
|
|
93
|
+
: relatedTable.tableName;
|
|
90
94
|
const relatedTrigger = {
|
|
91
|
-
table_name:
|
|
95
|
+
table_name: quoteIdentTableName,
|
|
92
96
|
condition: parseCondition(relatedTable.condition),
|
|
93
97
|
tracked_columns: relatedTable.tracked_columns,
|
|
94
98
|
} satisfies AddTriggerParams;
|
package/lib/runClientRequest.ts
CHANGED
|
@@ -12,11 +12,7 @@ import type { TableHandler as TableHandlerServer } from "./DboBuilder/TableHandl
|
|
|
12
12
|
import { parseFieldFilter } from "./DboBuilder/ViewHandler/parseFieldFilter";
|
|
13
13
|
import { canRunSQL } from "./DboBuilder/runSql/runSQL";
|
|
14
14
|
import type { Prostgles } from "./Prostgles";
|
|
15
|
-
import type {
|
|
16
|
-
Awaitable,
|
|
17
|
-
ParsedTableRule,
|
|
18
|
-
PublishParams,
|
|
19
|
-
} from "./PublishParser/publishTypesAndUtils";
|
|
15
|
+
import type { ParsedTableRule } from "./PublishParser/publishTypesAndUtils";
|
|
20
16
|
import { type PermissionScope } from "./PublishParser/publishTypesAndUtils";
|
|
21
17
|
|
|
22
18
|
const TABLE_METHODS = {
|
|
@@ -68,7 +64,7 @@ export const runClientRequest = async function (
|
|
|
68
64
|
) {
|
|
69
65
|
/* Channel name will only include client-sent params so we ignore table_rules enforced params */
|
|
70
66
|
if (!this.publishParser || !this.dbo) {
|
|
71
|
-
throw "socket/httpReq or
|
|
67
|
+
throw "socket/httpReq or authHandler missing";
|
|
72
68
|
}
|
|
73
69
|
|
|
74
70
|
const validation = getJSONBObjectSchemaValidationError(
|
|
@@ -145,9 +141,10 @@ export const runClientRequest = async function (
|
|
|
145
141
|
/**
|
|
146
142
|
* satisfies check is used to ensure rules arguments are correctly passed to each method
|
|
147
143
|
*/
|
|
148
|
-
|
|
144
|
+
tableHandler[command].bind(tableHandler) satisfies
|
|
149
145
|
| undefined
|
|
150
146
|
| TableMethodFunctionWithRulesAndLocalParams;
|
|
147
|
+
|
|
151
148
|
return (tableHandler[command] as TableMethodFunctionWithRulesAndLocalParams)(
|
|
152
149
|
param1,
|
|
153
150
|
param2,
|
|
@@ -166,11 +163,7 @@ export const clientCanRunSqlRequest = async function (
|
|
|
166
163
|
}
|
|
167
164
|
const canRunSQL = async () => {
|
|
168
165
|
const publishParams = await this.publishParser?.getPublishParams(clientReq, undefined);
|
|
169
|
-
const allowedToRunSQL =
|
|
170
|
-
publishParams &&
|
|
171
|
-
(await (
|
|
172
|
-
this.opts.publishRawSQL
|
|
173
|
-
)?.(publishParams));
|
|
166
|
+
const allowedToRunSQL = publishParams && (await this.opts.publishRawSQL?.(publishParams));
|
|
174
167
|
return allowedToRunSQL === true || allowedToRunSQL === "*";
|
|
175
168
|
};
|
|
176
169
|
|