prostgles-server 4.2.494 → 4.2.496
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/getSubscribeRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +11 -9
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +9 -3
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/addTrigger.d.ts +10 -4
- package/dist/PubSubManager/addTrigger.d.ts.map +1 -1
- package/dist/PubSubManager/addTrigger.js +33 -24
- package/dist/PubSubManager/addTrigger.js.map +1 -1
- package/dist/PubSubManager/deleteOrphanedTriggers.js.map +1 -1
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +18 -11
- package/lib/PubSubManager/addTrigger.ts +40 -29
- package/lib/PubSubManager/deleteOrphanedTriggers.ts +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,gDA6GxC"}
|
|
@@ -24,13 +24,7 @@ async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
|
|
|
24
24
|
if (!relatedTableOrViewHandler) {
|
|
25
25
|
throw `Table ${relatedTableName} not found`;
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
if (alreadyPushed || relatedTableOrViewHandler.is_view) {
|
|
29
|
-
console.warn({
|
|
30
|
-
selectedColumnNames,
|
|
31
|
-
alreadyPushed,
|
|
32
|
-
is_view: relatedTableOrViewHandler.is_view,
|
|
33
|
-
});
|
|
27
|
+
if (relatedTableOrViewHandler.is_view) {
|
|
34
28
|
return;
|
|
35
29
|
}
|
|
36
30
|
viewOptions ??= {
|
|
@@ -54,11 +48,19 @@ async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
|
|
|
54
48
|
const relatedTableJoinPathItem = joinPath.at(-1);
|
|
55
49
|
const joinColumns = relatedTableJoinPathItem?.on.map((columnPair) => Object.values(columnPair)).flat() ?? [];
|
|
56
50
|
const [firstField, ...otherFields] = Array.from(new Set([...(selectedColumnNames ?? []), ...joinColumns, ...joinConditionInfo.columnsUsed]));
|
|
51
|
+
const tracked_columns = !firstField ? undefined : [firstField, ...otherFields];
|
|
52
|
+
const condition = joinConditionInfo.where;
|
|
53
|
+
const alreadyPushed = viewOptions.relatedTables.find((rt) => rt.tableName === relatedTableName && rt.condition === condition);
|
|
54
|
+
if (alreadyPushed) {
|
|
55
|
+
const [firstMerged, ...others] = Array.from(new Set([...(alreadyPushed.tracked_columns ?? []), ...(tracked_columns ?? [])]));
|
|
56
|
+
alreadyPushed.tracked_columns = firstMerged ? [firstMerged, ...others] : undefined;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
57
59
|
viewOptions.relatedTables.push({
|
|
58
60
|
tableName: relatedTableName,
|
|
59
61
|
tableNameEscaped: (0, prostgles_types_1.asName)(relatedTableName),
|
|
60
|
-
tracked_columns
|
|
61
|
-
condition
|
|
62
|
+
tracked_columns,
|
|
63
|
+
condition,
|
|
62
64
|
});
|
|
63
65
|
};
|
|
64
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -206,9 +206,15 @@ export declare class PubSubManager {
|
|
|
206
206
|
addingTrigger: any;
|
|
207
207
|
addTriggerPool?: Record<string, string[]>;
|
|
208
208
|
addTrigger: (params: AddTriggerParams, viewOptions: ViewSubscriptionOptions | undefined, socket: PRGLIOSocket | undefined) => Promise<import("prostgles-types").TryCatchResult<{
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
tableName: string;
|
|
210
|
+
condition: string;
|
|
211
|
+
conditionHash: string;
|
|
212
|
+
relatedViewName: string | null;
|
|
213
|
+
relatedViewDef: string | null;
|
|
214
|
+
columnsInfo: {
|
|
215
|
+
join_condition: string;
|
|
216
|
+
tracked_columns: Record<string, number>;
|
|
217
|
+
} | null;
|
|
212
218
|
}>>;
|
|
213
219
|
}
|
|
214
220
|
//# sourceMappingURL=PubSubManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMjE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAkC,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAOtE,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,MAAM,EAAE,WAAW,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,MAAM,EAAE,WAAW,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAClC;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB,CACJ,GAAG;IACF,aAAa,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,iBAAiB,CAAC,GAAG;QACxE,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC,EAAE,CAAC;CACN,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAErB;;SAEK;IACL,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAEzE,UAAU,EAAE,eAAe,CAAC;IAG5B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAEjC,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,kBAAkB,EAChB,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,sBAAsB,GACtB,WAAW,GACX,OAAO,GACP,cAAc,GACd,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,aAAa,CAChB,GAAG;IACF,QAAQ,EAAE,CAAC,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAE/E;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAc,MAAM,GAAU,YAAY,UAAU,wCAIlD;IAEF,kBAAkB,UAAS;IAC3B,IAAI,KAAK,wDAER;IACD,IAAI,EAAE,IAAI,EAAE,CAEX;IACD,IAAI,GAAG,IAAI,eAAe,CAEzB;IAED,UAAU,EAAE,UAAU,CAAC;IAEvB;;;OAGG;IACH,SAAS,EAAE,qBAAqB,CAAa;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAM;IAE3C,IAAI,EAAE,YAAY,EAAE,CAAM;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAM;IACzB,QAAQ,CAAC,oBAAoB,SAAqB;IAClD,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IAExD,OAAO;IAYP,mBAAmB,SAAa;IAChC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAE1C,SAAS,UAAS;IAClB,OAAO,sBAaL;IAEF,cAAc,gBAMZ;IAEF,WAAW,UAAS;IACpB,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,yBAAsC;IAE7D,aAAa,CAAC,EACZ,YAAY,EACZ,MAAM,EACN,SAAS,GACV,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC,GAAG,YAAY,EAAE;IAS/E,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE;IAKrE,kBAAkB,GAChB,aAAa,MAAM,EACnB,SAAS;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,UA0BjF;IAEF,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM9C,aAAa;;wBAA4B;IAEzC,cAAc,GAAI,WAAW,MAAM;;;4BAjJf,MAAM;mBACf,MAAM;cACX,MAAM;oBACA;YACV,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACzC,GAAG,IAAI;oBAqJN;IACF,iBAAiB,GAAI,WAAW,MAAM;;;4BA5JlB,MAAM;mBACf,MAAM;cACX,MAAM;oBACA;YACV,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACzC,GAAG,IAAI;QA2JN;IAEF,oBAAoB;;;;4BAnKA,MAAM;mBACf,MAAM;cACX,MAAM;oBACA;YACV,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACzC,GAAG,IAAI;QAoKN;IAEF,UAAU,GAAU,KAAK,YAAY;;;;;;OAyBnC;IAEF,WAAW,8DAA0B;IAErC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS;IAsC7C,IAAI,kBAAkB,aAErB;IACD,IAAI,GAAI,QAAQ,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,SAAS,sCAKpD;IAEF,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC5C,QAAQ,4IAAuB;IAE/B,OAAO;;OAAsB;IAE7B,MAAM;;OAAqB;IAE3B,kBAAkB,QAAO;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAkBlE;IAEF;;UAEM;IACN,eAAe,sBAA8B;IAE7C,+BAA+B;IAC/B,wBAAwB,EACpB;QACE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;KACzB,GACD,SAAS,CAAC;IACd,sBAAsB,GAAI,kBAAkB,GAAG,CAAC,MAAM,CAAC,UAarD;IAEF,aAAa,EAAE,GAAG,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAa;IACtD,UAAU;;;;;;;;;;QAAyB;CACpC"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
1
2
|
import type { ViewSubscriptionOptions } from "./PubSubManager";
|
|
2
3
|
import { type PubSubManager } from "./PubSubManager";
|
|
3
|
-
import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
4
4
|
export type AddTriggerParams = {
|
|
5
5
|
table_name: string;
|
|
6
6
|
condition: string;
|
|
7
7
|
tracked_columns: [string, ...string[]] | undefined;
|
|
8
8
|
};
|
|
9
9
|
export declare function addTrigger(this: PubSubManager, params: AddTriggerParams, viewOptions: ViewSubscriptionOptions | undefined, socket: PRGLIOSocket | undefined): Promise<import("prostgles-types").TryCatchResult<{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
tableName: string;
|
|
11
|
+
condition: string;
|
|
12
|
+
conditionHash: string;
|
|
13
|
+
relatedViewName: string | null;
|
|
14
|
+
relatedViewDef: string | null;
|
|
15
|
+
columnsInfo: {
|
|
16
|
+
join_condition: string;
|
|
17
|
+
tracked_columns: Record<string, number>;
|
|
18
|
+
} | null;
|
|
13
19
|
}>>;
|
|
14
20
|
//# sourceMappingURL=addTrigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addTrigger.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addTrigger.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC;AACF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,uBAAuB,GAAG,SAAS,EAChD,MAAM,EAAE,YAAY,GAAG,SAAS;;;;;;;;;;IA8GjC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addTrigger = addTrigger;
|
|
4
|
-
const prostgles_types_1 = require("prostgles-types");
|
|
5
4
|
const crypto = require("crypto");
|
|
5
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
6
6
|
const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
|
|
7
7
|
const getDataWatchFunctionQuery_1 = require("./init/getDataWatchFunctionQuery");
|
|
8
8
|
async function addTrigger(params, viewOptions, socket) {
|
|
@@ -17,16 +17,20 @@ async function addTrigger(params, viewOptions, socket) {
|
|
|
17
17
|
if (this.dbo[table_name]?.tableOrViewInfo?.isHyperTable) {
|
|
18
18
|
throw "Triggers do not work on timescaledb hypertables due to bug:\nhttps://github.com/timescale/timescaledb/issues/1084";
|
|
19
19
|
}
|
|
20
|
-
const trgVals = {
|
|
21
|
-
tbl: (0, PubSubManagerUtils_1.asValue)(table_name),
|
|
22
|
-
cond: (0, PubSubManagerUtils_1.asValue)(condition),
|
|
23
|
-
condHash: (0, PubSubManagerUtils_1.asValue)(crypto.createHash("md5").update(condition).digest("hex")),
|
|
24
|
-
};
|
|
25
20
|
const tableHandler = this.dbo[table_name];
|
|
26
21
|
if (!tableHandler) {
|
|
27
22
|
throw `Cannot add trigger. Tablehandler for ${table_name} not found`;
|
|
28
23
|
}
|
|
29
|
-
|
|
24
|
+
const trgVals = {
|
|
25
|
+
tableName: table_name,
|
|
26
|
+
condition: condition,
|
|
27
|
+
conditionHash: crypto.createHash("md5").update(condition).digest("hex"),
|
|
28
|
+
relatedViewName: viewOptions?.viewName ?? null,
|
|
29
|
+
relatedViewDef: viewOptions?.definition ?? null,
|
|
30
|
+
columnsInfo: getColumnsInfo(params, tableHandler),
|
|
31
|
+
};
|
|
32
|
+
const TRACKED_COLUMNS = "tracked_columns";
|
|
33
|
+
await this.db.any(`
|
|
30
34
|
BEGIN WORK;
|
|
31
35
|
/* ${PubSubManagerUtils_1.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
|
|
32
36
|
/* why is this lock level needed? */
|
|
@@ -34,7 +38,7 @@ async function addTrigger(params, viewOptions, socket) {
|
|
|
34
38
|
|
|
35
39
|
/** app_triggers is not refreshed when tables are dropped */
|
|
36
40
|
DELETE FROM prostgles.app_triggers at
|
|
37
|
-
WHERE app_id =
|
|
41
|
+
WHERE app_id = \${appId}
|
|
38
42
|
AND NOT EXISTS (
|
|
39
43
|
SELECT 1
|
|
40
44
|
FROM pg_catalog.pg_trigger t
|
|
@@ -52,28 +56,32 @@ async function addTrigger(params, viewOptions, socket) {
|
|
|
52
56
|
columns_info
|
|
53
57
|
)
|
|
54
58
|
VALUES (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
\${tableName},
|
|
60
|
+
\${condition},
|
|
61
|
+
\${conditionHash},
|
|
62
|
+
\${appId} ,
|
|
63
|
+
\${relatedViewName},
|
|
64
|
+
\${relatedViewDef},
|
|
65
|
+
\${columnsInfo}
|
|
62
66
|
)
|
|
63
67
|
ON CONFLICT (app_id, table_name, condition_hash)
|
|
64
|
-
DO UPDATE /* upsert
|
|
65
|
-
SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL THEN
|
|
68
|
+
DO UPDATE /* upsert ${TRACKED_COLUMNS} where necessary */
|
|
69
|
+
SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL AND prostgles.app_triggers.columns_info IS NOT NULL THEN
|
|
66
70
|
jsonb_set(
|
|
67
71
|
prostgles.app_triggers.columns_info,
|
|
68
|
-
'{
|
|
69
|
-
|
|
72
|
+
'{${TRACKED_COLUMNS}}',
|
|
73
|
+
/* THE PARENTHESES ARE CRUCIAL IN ENSURING THE MERGE WORKS */
|
|
74
|
+
(prostgles.app_triggers.columns_info->'${TRACKED_COLUMNS}') || (EXCLUDED.columns_info->'${TRACKED_COLUMNS}')
|
|
70
75
|
)
|
|
71
76
|
END
|
|
72
77
|
WHERE prostgles.app_triggers.columns_info IS NOT NULL
|
|
73
78
|
;
|
|
74
79
|
|
|
75
80
|
COMMIT WORK;
|
|
76
|
-
|
|
81
|
+
`, {
|
|
82
|
+
appId: this.appId,
|
|
83
|
+
...trgVals,
|
|
84
|
+
});
|
|
77
85
|
/** This might be redundant due to trigger on app_triggers */
|
|
78
86
|
await this.refreshTriggers();
|
|
79
87
|
return trgVals;
|
|
@@ -81,13 +89,13 @@ async function addTrigger(params, viewOptions, socket) {
|
|
|
81
89
|
await this._log({
|
|
82
90
|
type: "syncOrSub",
|
|
83
91
|
command: "addTrigger",
|
|
84
|
-
condition: addedTrigger.data?.
|
|
92
|
+
condition: addedTrigger.data?.condition ?? params.condition,
|
|
85
93
|
duration: addedTrigger.duration,
|
|
86
94
|
socketId: socket?.id,
|
|
87
|
-
state: !addedTrigger.data?.
|
|
95
|
+
state: !addedTrigger.data?.tableName ? "fail" : "ok",
|
|
88
96
|
error: addedTrigger.error,
|
|
89
97
|
sid: socket && this.dboBuilder.prostgles.authHandler.getSIDNoError({ socket }),
|
|
90
|
-
tableName:
|
|
98
|
+
tableName: params.table_name,
|
|
91
99
|
connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map((s) => s.id),
|
|
92
100
|
localParams: socket && { clientReq: { socket } },
|
|
93
101
|
triggers: this._triggers,
|
|
@@ -105,7 +113,8 @@ const getColumnsInfo = ({ tracked_columns, table_name }, tableHandler) => {
|
|
|
105
113
|
cast_to: getDataWatchFunctionQuery_1.udtNamesWithoutEqualityComparison.includes(c.udt_name) ? "::TEXT" : "",
|
|
106
114
|
};
|
|
107
115
|
});
|
|
108
|
-
if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
|
|
116
|
+
// if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
|
|
117
|
+
if (!hasPkey || !cols || !tracked_columns?.length) {
|
|
109
118
|
return null;
|
|
110
119
|
}
|
|
111
120
|
const trackedColumnsWithInfo = tracked_columns.map((name) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":";;AAcA,
|
|
1
|
+
{"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":";;AAcA,gCAkHC;AAhID,iCAAiC;AACjC,qDAA+D;AAK/D,6DAA0E;AAC1E,gFAAqF;AAO9E,KAAK,UAAU,UAAU,CAE9B,MAAwB,EACxB,WAAgD,EAChD,MAAgC;IAEhC,MAAM,YAAY,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACrC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU;YAAE,MAAM,oBAAoB,CAAC;QAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3C,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;YACxD,MAAM,mHAAmH,CAAC;QAC5H,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,wCAAwC,UAAU,YAAY,CAAC;QACvE,CAAC;QAED,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACvE,eAAe,EAAE,WAAW,EAAE,QAAQ,IAAI,IAAI;YAC9C,cAAc,EAAE,WAAW,EAAE,UAAU,IAAI,IAAI;YAC/C,WAAW,EAAE,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC;SAClD,CAAC;QAEF,MAAM,eAAe,GAAG,iBAA2D,CAAC;QAEpF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf;;WAEK,uDAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAiChB,eAAe;;;;gBAI5B,eAAe;;qDAEsB,eAAe,kCAAkC,eAAe;;;;;;;KAOhH,EACC;YACE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,OAAO;SACX,CACF,CAAC;QAEF,6DAA6D;QAC7D,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS;QAC3D,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,QAAQ,EAAE,MAAM,EAAE,EAAE;QACpB,KAAK,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACpD,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9E,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,WAAW,EAAE,MAAM,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE;QAChD,QAAQ,EAAE,IAAI,CAAC,SAAS;KACzB,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,KAAK;QAAE,MAAM,YAAY,CAAC,KAAK,CAAC;IAEjD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,cAAc,GAAG,CACrB,EAAE,eAAe,EAAE,UAAU,EAAoB,EACjD,YAAmC,EACnC,EAAE;IACF,IAAI,OAAO,GAAG,KAAgB,CAAC;IAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;QAC/B,OAAO;YACL,GAAG,IAAA,0BAAQ,EAAC,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACnC,OAAO,EAAE,6DAAiC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAChF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,iGAAiG;IACjG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,mBAAmB,IAAI,uBAAuB,UAAU,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG;QACnB,cAAc,EAAE,IAAI;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAA,wBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAA,wBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aACvD,IAAI,CAAC,OAAO,CAAC;QAChB,eAAe,EAAE,sBAAsB,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,GAAG;YACN,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxB,CAAC,EACF,EAA4B,CAC7B;KACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteOrphanedTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":";;AAGA,wDAgCC;AAlCD,
|
|
1
|
+
{"version":3,"file":"deleteOrphanedTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":";;AAGA,wDAgCC;AAlCD,6DAAmF;AAEnF,SAAgB,sBAAsB,CAAsB,UAAoB;IAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,oBAAoB,IAAA,4BAAO,EAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC,IAAA,4BAAO,EAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACrK,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,OAAO,IAAI,CAAC,EAAE;SACX,GAAG,CACF;;aAEO,uDAAkC;;;gBAG/B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;;SAE9B,EACH,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACtB;SACA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpB,kDAAkD;QAClD,iCAAiC;QACjC,qEAAqE;QACrE,0BAA0B;QAC1B,KAAK;QACL,oCAAoC;QACpC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -7,6 +7,7 @@ import type { NewQuery } from "./QueryBuilder/QueryBuilder";
|
|
|
7
7
|
import type { TableHandler } from "./TableHandler/TableHandler";
|
|
8
8
|
import type { ViewHandler } from "./ViewHandler/ViewHandler";
|
|
9
9
|
import { getViewRelatedTables } from "./ViewRelatedTables/getViewRelatedTables";
|
|
10
|
+
import type { AddTriggerParams } from "../PubSubManager/addTrigger";
|
|
10
11
|
|
|
11
12
|
type Args = {
|
|
12
13
|
selectParams: Omit<SubscribeParams, "throttle">;
|
|
@@ -46,15 +47,7 @@ export async function getSubscribeRelatedTables(
|
|
|
46
47
|
throw `Table ${relatedTableName} not found`;
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
(rt) => rt.tableName === relatedTableName,
|
|
51
|
-
);
|
|
52
|
-
if (alreadyPushed || relatedTableOrViewHandler.is_view) {
|
|
53
|
-
console.warn({
|
|
54
|
-
selectedColumnNames,
|
|
55
|
-
alreadyPushed,
|
|
56
|
-
is_view: relatedTableOrViewHandler.is_view,
|
|
57
|
-
});
|
|
50
|
+
if (relatedTableOrViewHandler.is_view) {
|
|
58
51
|
return;
|
|
59
52
|
}
|
|
60
53
|
|
|
@@ -89,11 +82,25 @@ export async function getSubscribeRelatedTables(
|
|
|
89
82
|
new Set([...(selectedColumnNames ?? []), ...joinColumns, ...joinConditionInfo.columnsUsed]),
|
|
90
83
|
);
|
|
91
84
|
|
|
85
|
+
const tracked_columns: AddTriggerParams["tracked_columns"] =
|
|
86
|
+
!firstField ? undefined : [firstField, ...otherFields];
|
|
87
|
+
const condition = joinConditionInfo.where;
|
|
88
|
+
|
|
89
|
+
const alreadyPushed = viewOptions.relatedTables.find(
|
|
90
|
+
(rt) => rt.tableName === relatedTableName && rt.condition === condition,
|
|
91
|
+
);
|
|
92
|
+
if (alreadyPushed) {
|
|
93
|
+
const [firstMerged, ...others] = Array.from(
|
|
94
|
+
new Set([...(alreadyPushed.tracked_columns ?? []), ...(tracked_columns ?? [])]),
|
|
95
|
+
);
|
|
96
|
+
alreadyPushed.tracked_columns = firstMerged ? [firstMerged, ...others] : undefined;
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
92
99
|
viewOptions.relatedTables.push({
|
|
93
100
|
tableName: relatedTableName,
|
|
94
101
|
tableNameEscaped: asName(relatedTableName),
|
|
95
|
-
tracked_columns
|
|
96
|
-
condition
|
|
102
|
+
tracked_columns,
|
|
103
|
+
condition,
|
|
97
104
|
});
|
|
98
105
|
};
|
|
99
106
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import * as crypto from "crypto";
|
|
1
2
|
import { asName, pickKeys, tryCatchV2 } from "prostgles-types";
|
|
3
|
+
import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
4
|
+
import type { TableHandler } from "../DboBuilder/TableHandler/TableHandler";
|
|
2
5
|
import type { ViewSubscriptionOptions } from "./PubSubManager";
|
|
3
6
|
import { type PubSubManager } from "./PubSubManager";
|
|
4
|
-
import
|
|
5
|
-
import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
6
|
-
import { asValue, EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "./PubSubManagerUtils";
|
|
7
|
+
import { EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "./PubSubManagerUtils";
|
|
7
8
|
import { udtNamesWithoutEqualityComparison } from "./init/getDataWatchFunctionQuery";
|
|
8
|
-
import type { TableHandler } from "../DboBuilder/TableHandler/TableHandler";
|
|
9
9
|
|
|
10
10
|
export type AddTriggerParams = {
|
|
11
11
|
table_name: string;
|
|
@@ -30,19 +30,24 @@ export async function addTrigger(
|
|
|
30
30
|
throw "Triggers do not work on timescaledb hypertables due to bug:\nhttps://github.com/timescale/timescaledb/issues/1084";
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
const trgVals = {
|
|
34
|
-
tbl: asValue(table_name),
|
|
35
|
-
cond: asValue(condition),
|
|
36
|
-
condHash: asValue(crypto.createHash("md5").update(condition).digest("hex")),
|
|
37
|
-
};
|
|
38
|
-
|
|
39
33
|
const tableHandler = this.dbo[table_name];
|
|
40
34
|
if (!tableHandler) {
|
|
41
35
|
throw `Cannot add trigger. Tablehandler for ${table_name} not found`;
|
|
42
36
|
}
|
|
43
37
|
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
const trgVals = {
|
|
39
|
+
tableName: table_name,
|
|
40
|
+
condition: condition,
|
|
41
|
+
conditionHash: crypto.createHash("md5").update(condition).digest("hex"),
|
|
42
|
+
relatedViewName: viewOptions?.viewName ?? null,
|
|
43
|
+
relatedViewDef: viewOptions?.definition ?? null,
|
|
44
|
+
columnsInfo: getColumnsInfo(params, tableHandler),
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const TRACKED_COLUMNS = "tracked_columns" as const satisfies keyof AddTriggerParams;
|
|
48
|
+
|
|
49
|
+
await this.db.any(
|
|
50
|
+
`
|
|
46
51
|
BEGIN WORK;
|
|
47
52
|
/* ${EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
|
|
48
53
|
/* why is this lock level needed? */
|
|
@@ -50,7 +55,7 @@ export async function addTrigger(
|
|
|
50
55
|
|
|
51
56
|
/** app_triggers is not refreshed when tables are dropped */
|
|
52
57
|
DELETE FROM prostgles.app_triggers at
|
|
53
|
-
WHERE app_id =
|
|
58
|
+
WHERE app_id = \${appId}
|
|
54
59
|
AND NOT EXISTS (
|
|
55
60
|
SELECT 1
|
|
56
61
|
FROM pg_catalog.pg_trigger t
|
|
@@ -68,28 +73,33 @@ export async function addTrigger(
|
|
|
68
73
|
columns_info
|
|
69
74
|
)
|
|
70
75
|
VALUES (
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
\${tableName},
|
|
77
|
+
\${condition},
|
|
78
|
+
\${conditionHash},
|
|
79
|
+
\${appId} ,
|
|
80
|
+
\${relatedViewName},
|
|
81
|
+
\${relatedViewDef},
|
|
82
|
+
\${columnsInfo}
|
|
78
83
|
)
|
|
79
84
|
ON CONFLICT (app_id, table_name, condition_hash)
|
|
80
|
-
DO UPDATE /* upsert
|
|
81
|
-
SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL THEN
|
|
85
|
+
DO UPDATE /* upsert ${TRACKED_COLUMNS} where necessary */
|
|
86
|
+
SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL AND prostgles.app_triggers.columns_info IS NOT NULL THEN
|
|
82
87
|
jsonb_set(
|
|
83
88
|
prostgles.app_triggers.columns_info,
|
|
84
|
-
'{
|
|
85
|
-
|
|
89
|
+
'{${TRACKED_COLUMNS}}',
|
|
90
|
+
/* THE PARENTHESES ARE CRUCIAL IN ENSURING THE MERGE WORKS */
|
|
91
|
+
(prostgles.app_triggers.columns_info->'${TRACKED_COLUMNS}') || (EXCLUDED.columns_info->'${TRACKED_COLUMNS}')
|
|
86
92
|
)
|
|
87
93
|
END
|
|
88
94
|
WHERE prostgles.app_triggers.columns_info IS NOT NULL
|
|
89
95
|
;
|
|
90
96
|
|
|
91
97
|
COMMIT WORK;
|
|
92
|
-
|
|
98
|
+
`,
|
|
99
|
+
{
|
|
100
|
+
appId: this.appId,
|
|
101
|
+
...trgVals,
|
|
102
|
+
},
|
|
93
103
|
);
|
|
94
104
|
|
|
95
105
|
/** This might be redundant due to trigger on app_triggers */
|
|
@@ -101,13 +111,13 @@ export async function addTrigger(
|
|
|
101
111
|
await this._log({
|
|
102
112
|
type: "syncOrSub",
|
|
103
113
|
command: "addTrigger",
|
|
104
|
-
condition: addedTrigger.data?.
|
|
114
|
+
condition: addedTrigger.data?.condition ?? params.condition,
|
|
105
115
|
duration: addedTrigger.duration,
|
|
106
116
|
socketId: socket?.id,
|
|
107
|
-
state: !addedTrigger.data?.
|
|
117
|
+
state: !addedTrigger.data?.tableName ? "fail" : "ok",
|
|
108
118
|
error: addedTrigger.error,
|
|
109
119
|
sid: socket && this.dboBuilder.prostgles.authHandler.getSIDNoError({ socket }),
|
|
110
|
-
tableName:
|
|
120
|
+
tableName: params.table_name,
|
|
111
121
|
connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map((s) => s.id),
|
|
112
122
|
localParams: socket && { clientReq: { socket } },
|
|
113
123
|
triggers: this._triggers,
|
|
@@ -131,7 +141,8 @@ const getColumnsInfo = (
|
|
|
131
141
|
};
|
|
132
142
|
});
|
|
133
143
|
|
|
134
|
-
if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
|
|
144
|
+
// if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
|
|
145
|
+
if (!hasPkey || !cols || !tracked_columns?.length) {
|
|
135
146
|
return null;
|
|
136
147
|
}
|
|
137
148
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PubSubManager } from "./PubSubManager";
|
|
2
|
-
import { asValue, EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID
|
|
2
|
+
import { asValue, EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "./PubSubManagerUtils";
|
|
3
3
|
|
|
4
4
|
export function deleteOrphanedTriggers(this: PubSubManager, tableNames: string[]) {
|
|
5
5
|
const conditions = tableNames.map((tableName) => {
|
|
@@ -19,7 +19,7 @@ export function deleteOrphanedTriggers(this: PubSubManager, tableNames: string[]
|
|
|
19
19
|
AND ( ${conditions.join(" OR ")} )
|
|
20
20
|
--RETURNING *
|
|
21
21
|
`,
|
|
22
|
-
{ appId: this.appId }
|
|
22
|
+
{ appId: this.appId },
|
|
23
23
|
)
|
|
24
24
|
.then(async (_rows) => {
|
|
25
25
|
// log("Orphaned triggers deleted", _rows.length);
|