prostgles-server 4.2.490 → 4.2.491
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/PubSubManager/PubSubManager.d.ts +6 -6
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +5 -2
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/addSub.d.ts +1 -0
- package/dist/PubSubManager/addSub.d.ts.map +1 -1
- package/dist/PubSubManager/addSub.js +3 -4
- package/dist/PubSubManager/addSub.js.map +1 -1
- package/dist/PubSubManager/addTrigger.js +1 -4
- package/dist/PubSubManager/addTrigger.js.map +1 -1
- package/dist/PubSubManager/init/getDataWatchFunctionQuery.js +7 -7
- package/dist/PubSubManager/init/getPubSubManagerInitQuery.js +1 -1
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +6 -4
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/dist/PubSubManager/refreshTriggers.d.ts.map +1 -1
- package/dist/PubSubManager/refreshTriggers.js +9 -10
- package/dist/PubSubManager/refreshTriggers.js.map +1 -1
- package/lib/PubSubManager/PubSubManager.ts +6 -5
- package/lib/PubSubManager/addSub.ts +4 -4
- package/lib/PubSubManager/addTrigger.ts +2 -4
- package/lib/PubSubManager/init/getDataWatchFunctionQuery.ts +7 -7
- package/lib/PubSubManager/init/getPubSubManagerInitQuery.ts +1 -1
- package/lib/PubSubManager/notifListener.ts +8 -5
- package/lib/PubSubManager/refreshTriggers.ts +13 -10
- package/package.json +1 -1
|
@@ -71,7 +71,6 @@ export type SubscriptionParams = {
|
|
|
71
71
|
filter: object;
|
|
72
72
|
selectParams: SelectParams;
|
|
73
73
|
subscribeOptions: SubscribeOptions;
|
|
74
|
-
tracked_columns: string[] | undefined;
|
|
75
74
|
onData?: OnData;
|
|
76
75
|
socket: PRGLIOSocket | undefined;
|
|
77
76
|
lastPushed: number;
|
|
@@ -84,10 +83,11 @@ export type SubscriptionParams = {
|
|
|
84
83
|
is_throttling?: any;
|
|
85
84
|
is_ready?: boolean;
|
|
86
85
|
};
|
|
87
|
-
export type Subscription = Pick<SubscriptionParams, "selectParams" | "subscribeOptions" | "is_throttling" | "lastPushed" | "pushRequestedVersion" | "isPushing" | "reRun" | "channel_name" | "is_ready" | "onData" | "socket" | "socket_id" | "table_info" | "filter" | "table_rules"
|
|
86
|
+
export type Subscription = Pick<SubscriptionParams, "selectParams" | "subscribeOptions" | "is_throttling" | "lastPushed" | "pushRequestedVersion" | "isPushing" | "reRun" | "channel_name" | "is_ready" | "onData" | "socket" | "socket_id" | "table_info" | "filter" | "table_rules"> & {
|
|
88
87
|
triggers: AddTriggerParams[];
|
|
89
88
|
};
|
|
90
89
|
export type TableTriggerInfo = {
|
|
90
|
+
table_condition_id: number;
|
|
91
91
|
condition: string;
|
|
92
92
|
hash: string;
|
|
93
93
|
columnInfo: {
|
|
@@ -96,7 +96,7 @@ export type TableTriggerInfo = {
|
|
|
96
96
|
where_statement: string;
|
|
97
97
|
} | null;
|
|
98
98
|
};
|
|
99
|
-
export type PubSubManagerTriggers = Map<string, TableTriggerInfo
|
|
99
|
+
export type PubSubManagerTriggers = Map<string, Map<number, TableTriggerInfo>>;
|
|
100
100
|
/**
|
|
101
101
|
* Used to facilitate table subscribe and sync
|
|
102
102
|
*/
|
|
@@ -142,6 +142,7 @@ export declare class PubSubManager {
|
|
|
142
142
|
getTriggerInfo: (tableName: string) => {
|
|
143
143
|
subs: Subscription[];
|
|
144
144
|
syncs: SyncParams[];
|
|
145
|
+
table_condition_id: number;
|
|
145
146
|
condition: string;
|
|
146
147
|
hash: string;
|
|
147
148
|
columnInfo: {
|
|
@@ -149,11 +150,11 @@ export declare class PubSubManager {
|
|
|
149
150
|
tracked_columns: Record<string, number>;
|
|
150
151
|
where_statement: string;
|
|
151
152
|
} | null;
|
|
152
|
-
idx: number;
|
|
153
153
|
}[] | undefined;
|
|
154
154
|
getActiveTriggers: (tableName: string) => {
|
|
155
155
|
subs: Subscription[];
|
|
156
156
|
syncs: SyncParams[];
|
|
157
|
+
table_condition_id: number;
|
|
157
158
|
condition: string;
|
|
158
159
|
hash: string;
|
|
159
160
|
columnInfo: {
|
|
@@ -161,12 +162,12 @@ export declare class PubSubManager {
|
|
|
161
162
|
tracked_columns: Record<string, number>;
|
|
162
163
|
where_statement: string;
|
|
163
164
|
} | null;
|
|
164
|
-
idx: number;
|
|
165
165
|
}[];
|
|
166
166
|
getAllActiveTriggers: () => {
|
|
167
167
|
tableName: string;
|
|
168
168
|
subs: Subscription[];
|
|
169
169
|
syncs: SyncParams[];
|
|
170
|
+
table_condition_id: number;
|
|
170
171
|
condition: string;
|
|
171
172
|
hash: string;
|
|
172
173
|
columnInfo: {
|
|
@@ -174,7 +175,6 @@ export declare class PubSubManager {
|
|
|
174
175
|
tracked_columns: Record<string, number>;
|
|
175
176
|
where_statement: string;
|
|
176
177
|
} | null;
|
|
177
|
-
idx: number;
|
|
178
178
|
}[];
|
|
179
179
|
getSubData: (sub: Subscription) => Promise<{
|
|
180
180
|
data: AnyObject[];
|
|
@@ -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":"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"}
|
|
@@ -124,8 +124,11 @@ class PubSubManager {
|
|
|
124
124
|
}
|
|
125
125
|
notifListener = notifListener_1.notifListener.bind(this);
|
|
126
126
|
getTriggerInfo = (tableName) => {
|
|
127
|
-
const
|
|
128
|
-
|
|
127
|
+
const tableTriggers = this._triggers.get(tableName);
|
|
128
|
+
if (!tableTriggers)
|
|
129
|
+
return undefined;
|
|
130
|
+
const tableTriggerConditions = Array.from(tableTriggers.values()).map((triggerInfo, idx) => ({
|
|
131
|
+
// idx,
|
|
129
132
|
...triggerInfo,
|
|
130
133
|
subs: this.getTriggerSubs(tableName, triggerInfo.condition),
|
|
131
134
|
syncs: this.getSyncs(tableName, triggerInfo.condition),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAWhG,uCAAoC;AACpC,6CAAiE;AACjE,qEAAkE;AAClE,gEAA6D;AAC7D,uEAAoE;AACpE,uDAAoD;AAGpD,qDAAwF;AAExF,qDAAiD;AAEjD,mEAAwE;AAGxE,wDAA8C;AAC9C,qCAAkC;AAClC,mDAAgD;AAChD,6DAA2C;AAC3C,+CAA4C;
|
|
1
|
+
{"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { VoidFunction } from "../SchemaWatch/SchemaWatch";
|
|
|
3
3
|
import type { PubSubManager, SubscriptionParams } from "./PubSubManager";
|
|
4
4
|
export type AddSubscriptionParams = SubscriptionParams & {
|
|
5
5
|
condition: string;
|
|
6
|
+
tracked_columns: string[] | undefined;
|
|
6
7
|
};
|
|
7
8
|
type AddSubResult = SubscriptionChannels & {
|
|
8
9
|
sendFirstData: VoidFunction | undefined;
|
|
@@ -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;AAIzB,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACvD,SAAS,EAAE,MAAM,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;AAIzB,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,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,CAoIvB"}
|
|
@@ -34,7 +34,6 @@ async function addSub(subscriptionParams) {
|
|
|
34
34
|
is_throttling: false,
|
|
35
35
|
socket_id: socket?.id,
|
|
36
36
|
table_rules,
|
|
37
|
-
tracked_columns,
|
|
38
37
|
triggers: [mainTrigger],
|
|
39
38
|
};
|
|
40
39
|
const result = {
|
|
@@ -51,13 +50,13 @@ async function addSub(subscriptionParams) {
|
|
|
51
50
|
this.upsertSocket(socket);
|
|
52
51
|
if (viewOptions) {
|
|
53
52
|
for (const relatedTable of viewOptions.relatedTables) {
|
|
54
|
-
const
|
|
53
|
+
const relatedTrigger = {
|
|
55
54
|
table_name: relatedTable.tableName,
|
|
56
55
|
condition: (0, PubSubManagerUtils_1.parseCondition)(relatedTable.condition),
|
|
57
56
|
tracked_columns: relatedTable.trackedColumns,
|
|
58
57
|
};
|
|
59
|
-
newSub.triggers.push(
|
|
60
|
-
await this.addTrigger(
|
|
58
|
+
newSub.triggers.push(relatedTrigger);
|
|
59
|
+
await this.addTrigger(relatedTrigger, viewOptions, socket);
|
|
61
60
|
}
|
|
62
61
|
}
|
|
63
62
|
const { skipFirst, throttleOpts, throttle } = subscribeOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,9 +110,6 @@ const getColumnsInfo = ({ tracked_columns, table_name }, tableHandler) => {
|
|
|
110
110
|
throw `tracked_columns ${colName} not found in table ${table_name}`;
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
|
-
/**
|
|
114
|
-
* TODO: finish tracked_columns by trigger condition
|
|
115
|
-
*/
|
|
116
113
|
const columns_info = !hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length ?
|
|
117
114
|
null
|
|
118
115
|
: {
|
|
@@ -134,7 +131,7 @@ const getColumnsInfo = ({ tracked_columns, table_name }, tableHandler) => {
|
|
|
134
131
|
where_statement: cols
|
|
135
132
|
// .filter((c) => !c.is_pkey && tracked_columns.includes(c.name))
|
|
136
133
|
.filter((c) => tracked_columns.includes(c.name))
|
|
137
|
-
.map((c) => `column_name = ${(0, PubSubManagerUtils_1.asValue)(c.name)} AND (ROW(n.*) IS NULL OR n.${(0, prostgles_types_1.asName)(c.name)}${c.cast_to} IS DISTINCT FROM o.${(0, prostgles_types_1.asName)(c.name)}${c.cast_to})`)
|
|
134
|
+
.map((c) => `column_name = ${(0, PubSubManagerUtils_1.asValue)(c.name)} AND (ROW(n.*) IS NULL OR ROW(o.*) IS NULL OR n.${(0, prostgles_types_1.asName)(c.name)}${c.cast_to} IS DISTINCT FROM o.${(0, prostgles_types_1.asName)(c.name)}${c.cast_to})`)
|
|
138
135
|
.join(" OR \n"),
|
|
139
136
|
};
|
|
140
137
|
return columns_info;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,9 +45,9 @@ const getDataWatchFunctionQuery = (debugMode) => {
|
|
|
45
45
|
IF (c_ids IS NOT NULL OR has_errors) THEN
|
|
46
46
|
|
|
47
47
|
FOR v_trigger IN
|
|
48
|
-
SELECT app_id, string_agg(DISTINCT
|
|
48
|
+
SELECT app_id, string_agg(DISTINCT table_condition_id::text, ',') as cids
|
|
49
49
|
FROM prostgles.v_triggers
|
|
50
|
-
WHERE
|
|
50
|
+
WHERE table_condition_id = ANY(c_ids)
|
|
51
51
|
OR has_errors
|
|
52
52
|
GROUP BY app_id
|
|
53
53
|
LOOP
|
|
@@ -170,12 +170,12 @@ IF TG_OP = 'UPDATE' THEN
|
|
|
170
170
|
changed_columns := COALESCE(changed_columns, '{}');
|
|
171
171
|
changed_columns_by_trigger_id := jsonb_set(
|
|
172
172
|
changed_columns_by_trigger_id,
|
|
173
|
-
ARRAY[v_trigger.
|
|
173
|
+
ARRAY[v_trigger.table_condition_id::TEXT],
|
|
174
174
|
to_jsonb(changed_columns)
|
|
175
175
|
);
|
|
176
176
|
END IF;
|
|
177
177
|
|
|
178
|
-
--PERFORM pg_notify('debug', changed_columns::TEXT || v_trigger.
|
|
178
|
+
--PERFORM pg_notify('debug', changed_columns::TEXT || v_trigger.table_condition_id::TEXT || changed_columns_by_trigger_id::TEXT );
|
|
179
179
|
|
|
180
180
|
END LOOP;
|
|
181
181
|
|
|
@@ -193,11 +193,11 @@ const EACH_TRIGGER_CHECK_ALL_COLUMNS = `
|
|
|
193
193
|
SELECT 1
|
|
194
194
|
FROM %s
|
|
195
195
|
WHERE %s
|
|
196
|
-
) THEN %s::text END AS
|
|
196
|
+
) THEN %s::text END AS table_condition_id
|
|
197
197
|
$c$,
|
|
198
198
|
table_name,
|
|
199
199
|
condition,
|
|
200
|
-
|
|
200
|
+
table_condition_id
|
|
201
201
|
),
|
|
202
202
|
E' UNION \n '
|
|
203
203
|
)
|
|
@@ -233,7 +233,7 @@ const EACH_TRIGGER_CHECK_ALL_COLUMNS = `
|
|
|
233
233
|
||
|
|
234
234
|
format(
|
|
235
235
|
$c$
|
|
236
|
-
SELECT ARRAY_AGG(DISTINCT t.
|
|
236
|
+
SELECT ARRAY_AGG(DISTINCT t.table_condition_id)
|
|
237
237
|
FROM (
|
|
238
238
|
%s
|
|
239
239
|
) t
|
|
@@ -210,7 +210,7 @@ BEGIN
|
|
|
210
210
|
CREATE OR REPLACE VIEW prostgles.v_triggers AS
|
|
211
211
|
SELECT *
|
|
212
212
|
, (ROW_NUMBER() OVER( ORDER BY table_name, condition ))::text AS id
|
|
213
|
-
, ROW_NUMBER() OVER(PARTITION BY app_id, table_name ORDER BY table_name, condition ) - 1 AS
|
|
213
|
+
, ROW_NUMBER() OVER(PARTITION BY app_id, table_name ORDER BY table_name, condition ) - 1 AS table_condition_id
|
|
214
214
|
FROM prostgles.app_triggers;
|
|
215
215
|
COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs and per app IDs';
|
|
216
216
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBA6LjF"}
|
|
@@ -85,7 +85,7 @@ async function notifListener(data) {
|
|
|
85
85
|
}
|
|
86
86
|
else if (conditionIds?.every((id) => Number.isInteger(id))) {
|
|
87
87
|
state = "ok";
|
|
88
|
-
const firedTableConditions = tableTriggerConditions.filter(({
|
|
88
|
+
const firedTableConditions = tableTriggerConditions.filter(({ table_condition_id }) => conditionIds.includes(table_condition_id));
|
|
89
89
|
const orphanedTableConditions = conditionIds.filter((condId) => {
|
|
90
90
|
const tc = tableTriggerConditions.at(condId);
|
|
91
91
|
return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
|
|
@@ -93,8 +93,8 @@ async function notifListener(data) {
|
|
|
93
93
|
if (orphanedTableConditions.length) {
|
|
94
94
|
void this.deleteOrphanedTriggers(new Set(table_name));
|
|
95
95
|
}
|
|
96
|
-
firedTableConditions.map(({
|
|
97
|
-
const changedColumns = changedColumnsByTriggerId && (changedColumnsByTriggerId[
|
|
96
|
+
firedTableConditions.map(({ table_condition_id, subs, syncs }) => {
|
|
97
|
+
const changedColumns = changedColumnsByTriggerId && (changedColumnsByTriggerId[table_condition_id] ?? []);
|
|
98
98
|
(0, PubSubManagerUtils_1.log)("notifListener", subs.map((s) => s.channel_name), syncs.map((s) => s.channel_name));
|
|
99
99
|
syncs.map((s) => {
|
|
100
100
|
void this.syncData(s, undefined, "trigger");
|
|
@@ -105,7 +105,9 @@ async function notifListener(data) {
|
|
|
105
105
|
((sub.socket_id && this.sockets[sub.socket_id]) || sub.onData)));
|
|
106
106
|
activeAndReadySubs.forEach((sub) => {
|
|
107
107
|
const operation = (op_name?.toLowerCase() || "insert");
|
|
108
|
-
const {
|
|
108
|
+
const { triggers, subscribeOptions } = sub;
|
|
109
|
+
const relevantTrigger = triggers.find((t) => t.table_name === table_name);
|
|
110
|
+
const tracked_columns = relevantTrigger?.tracked_columns;
|
|
109
111
|
const { throttle = 0, throttleOpts, actions, skipChangedColumnsCheck } = subscribeOptions;
|
|
110
112
|
if (!skipChangedColumnsCheck &&
|
|
111
113
|
changedColumns &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshTriggers.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/refreshTriggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,iBAAiB,CAAC;AAEvE,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"refreshTriggers.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/refreshTriggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,iBAAiB,CAAC;AAEvE,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,iBA2CxD"}
|
|
@@ -10,17 +10,16 @@ async function refreshTriggers() {
|
|
|
10
10
|
ORDER BY table_name, condition
|
|
11
11
|
`, [this.dboBuilder.prostgles.appId]);
|
|
12
12
|
const oldTriggers = new Map(this._triggers);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this._triggers.set(t.table_name, this._triggers.get(t.table_name) ?? []);
|
|
13
|
+
triggers.forEach((t) => {
|
|
14
|
+
this._triggers.set(t.table_name, this._triggers.get(t.table_name) ?? new Map());
|
|
16
15
|
const tableTriggers = this._triggers.get(t.table_name);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
16
|
+
const table_condition_id = Number(t.table_condition_id);
|
|
17
|
+
tableTriggers.set(table_condition_id, {
|
|
18
|
+
condition: t.condition,
|
|
19
|
+
hash: t.condition_hash,
|
|
20
|
+
columnInfo: t.columns_info,
|
|
21
|
+
table_condition_id,
|
|
22
|
+
});
|
|
24
23
|
});
|
|
25
24
|
await this._log({
|
|
26
25
|
type: "syncOrSub",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/refreshTriggers.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"refreshTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/refreshTriggers.ts"],"names":[],"mappings":";;AAEA,0CA2CC;AA3CM,KAAK,UAAU,eAAe;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAOhC;;;;;OAKG,EACH,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAClC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE5C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,CAAC,CAAC,UAAU,EACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAA4B,CACxE,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAE,CAAC;QACxD,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACxD,aAAa,CAAC,GAAG,CAAC,kBAAkB,EAAE;YACpC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,IAAI,EAAE,CAAC,CAAC,cAAc;YACtB,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;QAC5B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,WAAW;KACZ,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -108,7 +108,6 @@ export type SubscriptionParams = {
|
|
|
108
108
|
filter: object;
|
|
109
109
|
selectParams: SelectParams;
|
|
110
110
|
subscribeOptions: SubscribeOptions;
|
|
111
|
-
tracked_columns: string[] | undefined;
|
|
112
111
|
|
|
113
112
|
onData?: OnData;
|
|
114
113
|
socket: PRGLIOSocket | undefined;
|
|
@@ -141,12 +140,12 @@ export type Subscription = Pick<
|
|
|
141
140
|
| "table_info"
|
|
142
141
|
| "filter"
|
|
143
142
|
| "table_rules"
|
|
144
|
-
| "tracked_columns"
|
|
145
143
|
> & {
|
|
146
144
|
triggers: AddTriggerParams[];
|
|
147
145
|
};
|
|
148
146
|
|
|
149
147
|
export type TableTriggerInfo = {
|
|
148
|
+
table_condition_id: number;
|
|
150
149
|
condition: string;
|
|
151
150
|
hash: string;
|
|
152
151
|
columnInfo: {
|
|
@@ -156,7 +155,7 @@ export type TableTriggerInfo = {
|
|
|
156
155
|
} | null;
|
|
157
156
|
};
|
|
158
157
|
|
|
159
|
-
export type PubSubManagerTriggers = Map<string, TableTriggerInfo
|
|
158
|
+
export type PubSubManagerTriggers = Map<string, Map<number, TableTriggerInfo>>;
|
|
160
159
|
|
|
161
160
|
/**
|
|
162
161
|
* Used to facilitate table subscribe and sync
|
|
@@ -293,8 +292,10 @@ export class PubSubManager {
|
|
|
293
292
|
notifListener = notifListener.bind(this);
|
|
294
293
|
|
|
295
294
|
getTriggerInfo = (tableName: string) => {
|
|
296
|
-
const
|
|
297
|
-
|
|
295
|
+
const tableTriggers = this._triggers.get(tableName);
|
|
296
|
+
if (!tableTriggers) return undefined;
|
|
297
|
+
const tableTriggerConditions = Array.from(tableTriggers.values()).map((triggerInfo, idx) => ({
|
|
298
|
+
// idx,
|
|
298
299
|
...triggerInfo,
|
|
299
300
|
subs: this.getTriggerSubs(tableName, triggerInfo.condition),
|
|
300
301
|
syncs: this.getSyncs(tableName, triggerInfo.condition),
|
|
@@ -12,6 +12,7 @@ import type { AddTriggerParams } from "./addTrigger";
|
|
|
12
12
|
|
|
13
13
|
export type AddSubscriptionParams = SubscriptionParams & {
|
|
14
14
|
condition: string;
|
|
15
|
+
tracked_columns: string[] | undefined;
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
type AddSubResult = SubscriptionChannels & {
|
|
@@ -66,7 +67,6 @@ export async function addSub(
|
|
|
66
67
|
is_throttling: false,
|
|
67
68
|
socket_id: socket?.id,
|
|
68
69
|
table_rules,
|
|
69
|
-
tracked_columns,
|
|
70
70
|
triggers: [mainTrigger],
|
|
71
71
|
};
|
|
72
72
|
|
|
@@ -89,15 +89,15 @@ export async function addSub(
|
|
|
89
89
|
|
|
90
90
|
if (viewOptions) {
|
|
91
91
|
for (const relatedTable of viewOptions.relatedTables) {
|
|
92
|
-
const
|
|
92
|
+
const relatedTrigger = {
|
|
93
93
|
table_name: relatedTable.tableName,
|
|
94
94
|
condition: parseCondition(relatedTable.condition),
|
|
95
95
|
tracked_columns: relatedTable.trackedColumns,
|
|
96
96
|
} satisfies AddTriggerParams;
|
|
97
97
|
|
|
98
|
-
newSub.triggers.push(
|
|
98
|
+
newSub.triggers.push(relatedTrigger);
|
|
99
99
|
|
|
100
|
-
await this.addTrigger(
|
|
100
|
+
await this.addTrigger(relatedTrigger, viewOptions, socket);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
|
|
@@ -135,9 +135,7 @@ const getColumnsInfo = (
|
|
|
135
135
|
throw `tracked_columns ${colName} not found in table ${table_name}`;
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
|
-
|
|
139
|
-
* TODO: finish tracked_columns by trigger condition
|
|
140
|
-
*/
|
|
138
|
+
|
|
141
139
|
const columns_info =
|
|
142
140
|
!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length ?
|
|
143
141
|
null
|
|
@@ -165,7 +163,7 @@ const getColumnsInfo = (
|
|
|
165
163
|
.filter((c) => tracked_columns.includes(c.name))
|
|
166
164
|
.map(
|
|
167
165
|
(c) =>
|
|
168
|
-
`column_name = ${asValue(c.name)} AND (ROW(n.*) IS NULL OR n.${asName(c.name)}${c.cast_to} IS DISTINCT FROM o.${asName(c.name)}${c.cast_to})`,
|
|
166
|
+
`column_name = ${asValue(c.name)} AND (ROW(n.*) IS NULL OR ROW(o.*) IS NULL OR n.${asName(c.name)}${c.cast_to} IS DISTINCT FROM o.${asName(c.name)}${c.cast_to})`,
|
|
169
167
|
)
|
|
170
168
|
.join(" OR \n"),
|
|
171
169
|
};
|
|
@@ -43,9 +43,9 @@ export const getDataWatchFunctionQuery = (debugMode: boolean | undefined) => {
|
|
|
43
43
|
IF (c_ids IS NOT NULL OR has_errors) THEN
|
|
44
44
|
|
|
45
45
|
FOR v_trigger IN
|
|
46
|
-
SELECT app_id, string_agg(DISTINCT
|
|
46
|
+
SELECT app_id, string_agg(DISTINCT table_condition_id::text, ',') as cids
|
|
47
47
|
FROM prostgles.v_triggers
|
|
48
|
-
WHERE
|
|
48
|
+
WHERE table_condition_id = ANY(c_ids)
|
|
49
49
|
OR has_errors
|
|
50
50
|
GROUP BY app_id
|
|
51
51
|
LOOP
|
|
@@ -174,12 +174,12 @@ IF TG_OP = 'UPDATE' THEN
|
|
|
174
174
|
changed_columns := COALESCE(changed_columns, '{}');
|
|
175
175
|
changed_columns_by_trigger_id := jsonb_set(
|
|
176
176
|
changed_columns_by_trigger_id,
|
|
177
|
-
ARRAY[v_trigger.
|
|
177
|
+
ARRAY[v_trigger.table_condition_id::TEXT],
|
|
178
178
|
to_jsonb(changed_columns)
|
|
179
179
|
);
|
|
180
180
|
END IF;
|
|
181
181
|
|
|
182
|
-
--PERFORM pg_notify('debug', changed_columns::TEXT || v_trigger.
|
|
182
|
+
--PERFORM pg_notify('debug', changed_columns::TEXT || v_trigger.table_condition_id::TEXT || changed_columns_by_trigger_id::TEXT );
|
|
183
183
|
|
|
184
184
|
END LOOP;
|
|
185
185
|
|
|
@@ -198,11 +198,11 @@ const EACH_TRIGGER_CHECK_ALL_COLUMNS = `
|
|
|
198
198
|
SELECT 1
|
|
199
199
|
FROM %s
|
|
200
200
|
WHERE %s
|
|
201
|
-
) THEN %s::text END AS
|
|
201
|
+
) THEN %s::text END AS table_condition_id
|
|
202
202
|
$c$,
|
|
203
203
|
table_name,
|
|
204
204
|
condition,
|
|
205
|
-
|
|
205
|
+
table_condition_id
|
|
206
206
|
),
|
|
207
207
|
E' UNION \n '
|
|
208
208
|
)
|
|
@@ -238,7 +238,7 @@ const EACH_TRIGGER_CHECK_ALL_COLUMNS = `
|
|
|
238
238
|
||
|
|
239
239
|
format(
|
|
240
240
|
$c$
|
|
241
|
-
SELECT ARRAY_AGG(DISTINCT t.
|
|
241
|
+
SELECT ARRAY_AGG(DISTINCT t.table_condition_id)
|
|
242
242
|
FROM (
|
|
243
243
|
%s
|
|
244
244
|
) t
|
|
@@ -219,7 +219,7 @@ BEGIN
|
|
|
219
219
|
CREATE OR REPLACE VIEW prostgles.v_triggers AS
|
|
220
220
|
SELECT *
|
|
221
221
|
, (ROW_NUMBER() OVER( ORDER BY table_name, condition ))::text AS id
|
|
222
|
-
, ROW_NUMBER() OVER(PARTITION BY app_id, table_name ORDER BY table_name, condition ) - 1 AS
|
|
222
|
+
, ROW_NUMBER() OVER(PARTITION BY app_id, table_name ORDER BY table_name, condition ) - 1 AS table_condition_id
|
|
223
223
|
FROM prostgles.app_triggers;
|
|
224
224
|
COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs and per app IDs';
|
|
225
225
|
|
|
@@ -100,8 +100,8 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
100
100
|
/* Trigger ok */
|
|
101
101
|
} else if (conditionIds?.every((id) => Number.isInteger(id))) {
|
|
102
102
|
state = "ok";
|
|
103
|
-
const firedTableConditions = tableTriggerConditions.filter(({
|
|
104
|
-
conditionIds.includes(
|
|
103
|
+
const firedTableConditions = tableTriggerConditions.filter(({ table_condition_id }) =>
|
|
104
|
+
conditionIds.includes(table_condition_id),
|
|
105
105
|
);
|
|
106
106
|
const orphanedTableConditions = conditionIds.filter((condId) => {
|
|
107
107
|
const tc = tableTriggerConditions.at(condId);
|
|
@@ -111,8 +111,9 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
111
111
|
void this.deleteOrphanedTriggers(new Set(table_name));
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
firedTableConditions.map(({
|
|
115
|
-
const changedColumns =
|
|
114
|
+
firedTableConditions.map(({ table_condition_id, subs, syncs }) => {
|
|
115
|
+
const changedColumns =
|
|
116
|
+
changedColumnsByTriggerId && (changedColumnsByTriggerId[table_condition_id] ?? []);
|
|
116
117
|
log(
|
|
117
118
|
"notifListener",
|
|
118
119
|
subs.map((s) => s.channel_name),
|
|
@@ -135,7 +136,9 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
135
136
|
|
|
136
137
|
activeAndReadySubs.forEach((sub) => {
|
|
137
138
|
const operation = (op_name?.toLowerCase() || "insert") as keyof NonNullable<typeof actions>;
|
|
138
|
-
const {
|
|
139
|
+
const { triggers, subscribeOptions } = sub;
|
|
140
|
+
const relevantTrigger = triggers.find((t) => t.table_name === table_name);
|
|
141
|
+
const tracked_columns = relevantTrigger?.tracked_columns;
|
|
139
142
|
const { throttle = 0, throttleOpts, actions, skipChangedColumnsCheck } = subscribeOptions;
|
|
140
143
|
if (
|
|
141
144
|
!skipChangedColumnsCheck &&
|
|
@@ -4,6 +4,7 @@ export async function refreshTriggers(this: PubSubManager) {
|
|
|
4
4
|
const start = Date.now();
|
|
5
5
|
const triggers = await this.db.any<{
|
|
6
6
|
table_name: string;
|
|
7
|
+
table_condition_id: string;
|
|
7
8
|
condition: string;
|
|
8
9
|
condition_hash: string;
|
|
9
10
|
columns_info: TableTriggerInfo["columnInfo"];
|
|
@@ -19,17 +20,19 @@ export async function refreshTriggers(this: PubSubManager) {
|
|
|
19
20
|
|
|
20
21
|
const oldTriggers = new Map(this._triggers);
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
triggers.forEach((t) => {
|
|
24
|
+
this._triggers.set(
|
|
25
|
+
t.table_name,
|
|
26
|
+
this._triggers.get(t.table_name) ?? new Map<number, TableTriggerInfo>(),
|
|
27
|
+
);
|
|
25
28
|
const tableTriggers = this._triggers.get(t.table_name)!;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
29
|
+
const table_condition_id = Number(t.table_condition_id);
|
|
30
|
+
tableTriggers.set(table_condition_id, {
|
|
31
|
+
condition: t.condition,
|
|
32
|
+
hash: t.condition_hash,
|
|
33
|
+
columnInfo: t.columns_info,
|
|
34
|
+
table_condition_id,
|
|
35
|
+
});
|
|
33
36
|
});
|
|
34
37
|
|
|
35
38
|
await this._log({
|