prostgles-server 4.2.647 → 4.2.648

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.
Files changed (48) hide show
  1. package/.github/workflows/main.yml +1 -1
  2. package/debug/inspect-ui-sync.cjs +24 -0
  3. package/debug/subscription-cleanup-repro.log +662 -0
  4. package/debug/subscription-cleanup-trace.log +7230 -0
  5. package/debug/sync-bigint-DBGeneratedSchema.backup +489 -0
  6. package/debug/sync-bigint-build.log +4 -0
  7. package/debug/sync-bigint-client-build.log +0 -0
  8. package/debug/sync-bigint-lint.log +4 -0
  9. package/debug/sync-bigint-server-build.log +0 -0
  10. package/debug/sync-comment-DBGeneratedSchema.backup +489 -0
  11. package/debug/sync-delay-gate-DBGeneratedSchema.backup +489 -0
  12. package/debug/sync-delay-gate-build.log +0 -0
  13. package/debug/sync-diff-review-test.log +132 -0
  14. package/debug/sync-followup-build.log +4 -0
  15. package/debug/sync-notification-before.log +121 -0
  16. package/debug/sync-trigger-cleanup-before.log +134 -0
  17. package/debug/sync-trigger-fix-e2e.log +1758 -0
  18. package/debug/sync-trigger-fix-npm-test.log +1815 -0
  19. package/debug/sync-trigger-lint.log +4 -0
  20. package/debug/trace-subscription-cleanup.cjs +19 -0
  21. package/debug/ui-sync-database-snapshot.log +8 -0
  22. package/debug/ui-sync-investigation.md +30 -0
  23. package/debug/ui-sync-server-tests.log +553 -0
  24. package/dist/PubSubManager/PubSubManager.d.ts +8 -25
  25. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  26. package/dist/PubSubManager/PubSubManager.js +27 -23
  27. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  28. package/dist/PubSubManager/deleteOrphanedTriggers.d.ts.map +1 -1
  29. package/dist/PubSubManager/deleteOrphanedTriggers.js +5 -3
  30. package/dist/PubSubManager/deleteOrphanedTriggers.js.map +1 -1
  31. package/dist/PubSubManager/init/getDataWatchFunctionQuery.d.ts.map +1 -1
  32. package/dist/PubSubManager/init/getDataWatchFunctionQuery.js +1 -2
  33. package/dist/PubSubManager/init/getDataWatchFunctionQuery.js.map +1 -1
  34. package/dist/PubSubManager/init/getPubSubManagerInitQuery.d.ts.map +1 -1
  35. package/dist/PubSubManager/init/getPubSubManagerInitQuery.js +3 -2
  36. package/dist/PubSubManager/init/getPubSubManagerInitQuery.js.map +1 -1
  37. package/dist/PubSubManager/notifListener.js +2 -2
  38. package/dist/PubSubManager/notifListener.js.map +1 -1
  39. package/dist/PubSubManager/refreshTriggers.d.ts.map +1 -1
  40. package/dist/PubSubManager/refreshTriggers.js +5 -3
  41. package/dist/PubSubManager/refreshTriggers.js.map +1 -1
  42. package/lib/PubSubManager/PubSubManager.ts +31 -28
  43. package/lib/PubSubManager/deleteOrphanedTriggers.ts +5 -3
  44. package/lib/PubSubManager/init/getDataWatchFunctionQuery.ts +1 -2
  45. package/lib/PubSubManager/init/getPubSubManagerInitQuery.ts +3 -2
  46. package/lib/PubSubManager/notifListener.ts +2 -2
  47. package/lib/PubSubManager/refreshTriggers.ts +7 -5
  48. package/package.json +1 -1
@@ -1,12 +1,14 @@
1
1
  import type { DBHandlerServer, DboBuilder, LocalParams, ClientSocketWithCachedData } from "../DboBuilder/DboBuilder";
2
2
  import type { PostgresNotifListenManager } from "../PostgresNotifListenManager";
3
3
  import type { DB } from "../Prostgles";
4
+ import { addSync } from "./addSync";
4
5
  import { type AddTriggerParams } from "./addTrigger";
5
6
  import type { AnyObject, EqualityFilter, FieldFilter, ReplicationProtocol, SelectParams, TableSchema } from "prostgles-types";
6
7
  import { type SubscribeOptions } from "prostgles-types";
7
8
  import type { OnData } from "../DboBuilder/ViewHandler/subscribe";
8
9
  import type { EventTypes } from "../Logging";
9
10
  import type { ParsedTableRule } from "../PublishParser/PublishParser";
11
+ import { addSub } from "./addSub";
10
12
  import type { SyncTableInfo, WAL } from "prostgles-types/dist/WAL";
11
13
  export type BasicCallback = (err?: any, res?: any) => void;
12
14
  export type SyncParams = {
@@ -155,29 +157,6 @@ export declare class PubSubManager {
155
157
  tracked_columns: Record<string, number>;
156
158
  } | null;
157
159
  }[] | undefined;
158
- getActiveTriggers: (tableName: string) => {
159
- subs: Subscription[];
160
- syncs: SyncParams[];
161
- table_condition_id: number;
162
- condition: string;
163
- hash: string;
164
- columnInfo: {
165
- join_condition: string;
166
- tracked_columns: Record<string, number>;
167
- } | null;
168
- }[];
169
- getAllActiveTriggers: () => {
170
- tableName: string;
171
- subs: Subscription[];
172
- syncs: SyncParams[];
173
- table_condition_id: number;
174
- condition: string;
175
- hash: string;
176
- columnInfo: {
177
- join_condition: string;
178
- tracked_columns: Record<string, number>;
179
- } | null;
180
- }[];
181
160
  getSubData: (sub: Subscription) => Promise<{
182
161
  data: AnyObject[];
183
162
  err?: undefined;
@@ -191,10 +170,10 @@ export declare class PubSubManager {
191
170
  _log: (params: EventTypes.Sync | EventTypes.SyncOrSub) => void | Promise<void> | undefined;
192
171
  syncTimeout?: ReturnType<typeof setTimeout>;
193
172
  syncData: (sync: SyncParams, clientData: import("./SyncReplication/syncData").ClientExpressData | undefined, source: "trigger" | "client") => Promise<void>;
194
- addSync: (syncParams: AddSyncParams) => Promise<{
173
+ addSync: (...args: Parameters<typeof addSync>) => Promise<{
195
174
  channelName: string;
196
175
  }>;
197
- addSub: (subscriptionParams: Omit<import("./addSub").AddSubscriptionParams, "channel_name" | "parentSubParams">) => Promise<import("prostgles-types").SubscriptionChannels & {
176
+ addSub: (...args: Parameters<typeof addSub>) => Promise<import("prostgles-types").SubscriptionChannels & {
198
177
  sendFirstData: import("../SchemaWatch/SchemaWatch").VoidFunction | undefined;
199
178
  }>;
200
179
  getActiveListeners: () => {
@@ -204,13 +183,17 @@ export declare class PubSubManager {
204
183
  /**
205
184
  * Sync triggers with database
206
185
  * */
186
+ private triggerRefresh;
207
187
  refreshTriggers: () => Promise<void>;
208
188
  /** Throttle trigger deletes */
189
+ private triggerCleanup;
190
+ private pendingTriggerRegistrations;
209
191
  deletingOrphanedTriggers: {
210
192
  tableNames: Set<string>;
211
193
  timeout: NodeJS.Timeout;
212
194
  } | undefined;
213
195
  deleteOrphanedTriggers: (latestTableNames: Set<string>) => void;
196
+ private registerTriggers;
214
197
  addingTrigger: any;
215
198
  addTriggerPool?: Record<string, string[]>;
216
199
  addTrigger: (params: AddTriggerParams, viewOptions: ViewSubscriptionOptions | undefined, socket: ClientSocketWithCachedData | undefined) => Promise<import("prostgles-types").TryCatchResult<{
@@ -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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"}
@@ -104,14 +104,9 @@ class PubSubManager {
104
104
  : subInfo.socket.id === s.socket?.id));
105
105
  const matchingSub = this.subs[matchingSubIdx];
106
106
  if (matchingSub) {
107
- /** Ensure we check and refresh related table/view triggers as well */
108
- const oldActiveTriggers = this.getAllActiveTriggers();
109
107
  this.subs.splice(matchingSubIdx, 1);
110
- const newActiveTriggers = this.getAllActiveTriggers();
111
- const tableNames = new Set([...oldActiveTriggers, ...newActiveTriggers].map((t) => t.tableName));
112
- if (newActiveTriggers.length < oldActiveTriggers.length) {
113
- this.deleteOrphanedTriggers(tableNames);
114
- }
108
+ // These are tables to recheck, not a snapshot of which triggers can be deleted.
109
+ this.deleteOrphanedTriggers(new Set(matchingSub.triggers.map((trigger) => trigger.table_name)));
115
110
  }
116
111
  else {
117
112
  console.error("Could not unsubscribe. Subscription might not have initialised yet", {
@@ -135,18 +130,6 @@ class PubSubManager {
135
130
  }));
136
131
  return tableTriggerConditions;
137
132
  };
138
- getActiveTriggers = (tableName) => {
139
- const activeTriggers = (this.getTriggerInfo(tableName) ?? []).filter((c) => c.subs.length || c.syncs.length);
140
- return activeTriggers;
141
- };
142
- getAllActiveTriggers = () => {
143
- return Array.from(this._triggers.keys()).flatMap((tableName) => {
144
- return this.getActiveTriggers(tableName).map((triggerInfo) => ({
145
- ...triggerInfo,
146
- tableName,
147
- }));
148
- });
149
- };
150
133
  getSubData = async (sub) => {
151
134
  const { table_info, filter, selectParams: params, table_rules, localParams, socket, onData, } = sub; //, subOne = false
152
135
  const { name: table_name } = table_info;
@@ -208,8 +191,8 @@ class PubSubManager {
208
191
  };
209
192
  syncTimeout;
210
193
  syncData = syncData_1.syncData.bind(this);
211
- addSync = addSync_1.addSync.bind(this);
212
- addSub = addSub_1.addSub.bind(this);
194
+ addSync = (...args) => this.registerTriggers(() => addSync_1.addSync.apply(this, args));
195
+ addSub = (...args) => this.registerTriggers(() => addSub_1.addSub.apply(this, args));
213
196
  getActiveListeners = () => {
214
197
  const activeListeners = [];
215
198
  const upsert = (t, c) => {
@@ -230,8 +213,16 @@ class PubSubManager {
230
213
  /**
231
214
  * Sync triggers with database
232
215
  * */
233
- refreshTriggers = refreshTriggers_1.refreshTriggers.bind(this);
216
+ triggerRefresh = Promise.resolve();
217
+ refreshTriggers = () => {
218
+ // Apply database snapshots in order, including after a previous refresh failed.
219
+ const refresh = () => refreshTriggers_1.refreshTriggers.call(this);
220
+ this.triggerRefresh = this.triggerRefresh.then(refresh, refresh);
221
+ return this.triggerRefresh;
222
+ };
234
223
  /** Throttle trigger deletes */
224
+ triggerCleanup = Promise.resolve();
225
+ pendingTriggerRegistrations = new Set();
235
226
  deletingOrphanedTriggers;
236
227
  deleteOrphanedTriggers = (latestTableNames) => {
237
228
  this.deletingOrphanedTriggers ??= {
@@ -239,13 +230,26 @@ class PubSubManager {
239
230
  timeout: setTimeout(() => {
240
231
  const tableNames = this.deletingOrphanedTriggers.tableNames;
241
232
  this.deletingOrphanedTriggers = undefined;
242
- void deleteOrphanedTriggers_1.deleteOrphanedTriggers.bind(this)(Array.from(tableNames));
233
+ // Finish existing registrations before cleanup; new ones wait for this cleanup.
234
+ this.triggerCleanup = Promise.allSettled([
235
+ this.triggerCleanup,
236
+ ...this.pendingTriggerRegistrations,
237
+ ]).then(() => deleteOrphanedTriggers_1.deleteOrphanedTriggers.call(this, Array.from(tableNames)));
243
238
  }, 1000),
244
239
  };
245
240
  latestTableNames.forEach((latestTableName) => {
246
241
  this.deletingOrphanedTriggers?.tableNames.add(latestTableName);
247
242
  });
248
243
  };
244
+ registerTriggers = (register) => {
245
+ const result = this.triggerCleanup.then(register);
246
+ this.pendingTriggerRegistrations.add(result);
247
+ const settled = () => {
248
+ this.pendingTriggerRegistrations.delete(result);
249
+ };
250
+ void result.then(settled, settled);
251
+ return result;
252
+ };
249
253
  addingTrigger;
250
254
  addTriggerPool = undefined;
251
255
  addTrigger = addTrigger_1.addTrigger.bind(this);
@@ -1 +1 @@
1
- {"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAUhG,uCAAoC;AACpC,6CAAiE;AACjE,qEAAkE;AAClE,gEAA6D;AAC7D,uEAAoE;AACpE,uDAAoD;AAUpD,qDAAwF;AAExF,qDAAiD;AAEjD,mEAAwE;AAGxE,yDAAsD;AACtD,qCAAkC;AAClC,mDAAgD;AAChD,6DAA2C;AAC3C,+CAA4C;AAoI5C;;GAEG;AACH,MAAa,aAAa;IACjB,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,UAAsB,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,kBAAkB,GAAG,KAAK,CAAC;IAC3B,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;IACzC,CAAC;IACD,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED,UAAU,CAAa;IAEvB;;;OAGG;IACH,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAC7C,OAAO,GAA4C,IAAI,GAAG,EAAE,CAAC;IAE7D,IAAI,GAAmB,EAAE,CAAC;IAC1B,KAAK,GAAiB,EAAE,CAAC;IAChB,mBAAmB,GAAG,0BAAQ,CAAC,QAAQ,CAAC;IACjD,0BAA0B,CAA8B;IAExD,YAAoB,UAAsB;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,KAAK,IAAI,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mCAAmC;YAC5C,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,IAAA,wBAAG,EAAC,uBAAuB,CAAC,CAAC;IAC/B,CAAC;IACD,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAkC;IAE1C,SAAS,GAAG,KAAK,CAAC;IAClB,OAAO,GAAG,KAAK,IAAI,EAAE;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,CAAC,0BAA0B,EAAE,OAAO,EAAE,CAAC;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,oCAAoC;YAC7C,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,cAAc,GAAG,GAAG,EAAE;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,WAAW,GAAG,KAAK,CAAC;IACpB,wBAAwB,CAAY;IACpC,uBAAuB,GAAG,iDAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7D,aAAa,CAAC,EACZ,YAAY,EACZ,MAAM,EACN,SAAS,GACmD;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,OAAO,CACL,CAAC,CAAC,YAAY,KAAK,YAAY;gBAC/B,CAAC,IAAA,6BAAiB,EAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAClF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,UAAkB,EAAE,SAAiB;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,sBAAI,EAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,GAAG,CACnB,WAAmB,EACnB,OAA+F,EAC/F,EAAE;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CACxC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,YAAY,KAAK,WAAW;YAC9B,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACzB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACpC,gFAAgF;YAChF,IAAI,CAAC,sBAAsB,CACzB,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CACnE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oEAAoE,EAAE;gBAClF,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ,CAAC,UAAkB,EAAE,SAAiB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CACtB,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAC5E,CAAC;IACJ,CAAC;IAED,aAAa,GAAG,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,cAAc,GAAG,CAAC,SAAiB,EAAE,EAAE;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QACrC,MAAM,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3F,OAAO;YACP,GAAG,WAAW;YACd,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;YAC3D,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;SACvD,CAAC,CAAC,CAAC;QACJ,OAAO,sBAAsB,CAAC;IAChC,CAAC,CAAC;IACF,UAAU,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE;QACvC,MAAM,EACJ,UAAU,EACV,MAAM,EACN,YAAY,EAAE,MAAM,EACpB,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,GACP,GAAG,GAAG,CAAC,CAAC,kBAAkB;QAC3B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CACnC,MAAM,EACN,MAAM,EACN,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAgB,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,GAAG,EAAE,IAAA,sCAAoB,EAAC,GAAG,CAAC,IAAI,0CAA0C,EAAE,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC;IAEF,WAAW,GAAG,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAErC,YAAY,CAAC,MAA8C;QACzD,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;gBAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAE/B,KAAK,IAAI,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,yBAAyB;oBAClC,SAAS,EAAE,EAAE;oBACb,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,CAAC;oBACX,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACpE,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,aAAa,EAAE,IAAI,CAAC,SAAS,CAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpB,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;wBAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC,CACJ;oBACD,cAAc,EAAE,IAAI,CAAC,SAAS,CAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAChE;oBACD,UAAU,EAAE,EAAgB;iBAC7B,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,GAAG,CAAC,MAA8C,EAAE,EAAE;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5C,GAAG,MAAM;YACT,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,WAAW,CAAiC;IAC5C,QAAQ,GAAG,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/B,OAAO,GAAG,CAAC,GAAG,IAAgC,EAAE,EAAE,CAChD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,iBAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEzD,MAAM,GAAG,CAAC,GAAG,IAA+B,EAAE,EAAE,CAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAExD,kBAAkB,GAAG,GAAgD,EAAE;QACrE,MAAM,eAAe,GAAgD,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;YACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1E,eAAe,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;IAEF;;UAEM;IACE,cAAc,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1D,eAAe,GAAG,GAAG,EAAE;QACrB,gFAAgF;QAChF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,iCAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC,CAAC;IAEF,+BAA+B;IACvB,cAAc,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAClD,2BAA2B,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClE,wBAAwB,CAKV;IACd,sBAAsB,GAAG,CAAC,gBAA6B,EAAE,EAAE;QACzD,IAAI,CAAC,wBAAwB,KAAK;YAChC,UAAU,EAAE,gBAAgB;YAC5B,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAyB,CAAC,UAAU,CAAC;gBAC7D,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;gBAC1C,gFAAgF;gBAChF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;oBACvC,IAAI,CAAC,cAAc;oBACnB,GAAG,IAAI,CAAC,2BAA2B;iBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,+CAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC,EAAE,IAAI,CAAC;SACT,CAAC;QAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAC3C,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,gBAAgB,GAAG,CAAI,QAA0B,EAAc,EAAE;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,aAAa,CAAM;IACnB,cAAc,GAA8B,SAAS,CAAC;IACtD,UAAU,GAAG,uBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AA9SrC,sCA+SC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteOrphanedTriggers.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,iBAgC/E"}
1
+ {"version":3,"file":"deleteOrphanedTriggers.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,iBAkC/E"}
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deleteOrphanedTriggers = deleteOrphanedTriggers;
4
4
  const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
5
5
  function deleteOrphanedTriggers(tableNames) {
6
+ const activeListeners = this.getActiveListeners();
6
7
  const conditions = tableNames.map((tableName) => {
7
- const activeTriggers = this.getActiveTriggers(tableName);
8
- const activeConditionHashes = activeTriggers.map((c) => c.hash);
9
- return `(at.table_name = ${(0, PubSubManagerUtils_1.asValue)(tableName)} ${activeConditionHashes.length ? `AND at.condition_hash NOT IN (${(0, PubSubManagerUtils_1.asValue)(activeConditionHashes, ":csv")})` : ""})`;
8
+ const activeConditions = activeListeners
9
+ .filter((listener) => listener.table_name === tableName)
10
+ .map((listener) => listener.condition);
11
+ return `(at.table_name = ${(0, PubSubManagerUtils_1.asValue)(tableName)} ${activeConditions.length ? `AND at.condition NOT IN (${(0, PubSubManagerUtils_1.asValue)(activeConditions, ":csv")})` : ""})`;
10
12
  });
11
13
  // log("deleteOrphanedTriggers", { appId: this.appId, conditions });
12
14
  return this.db
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"deleteOrphanedTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":";;AAGA,wDAkCC;AApCD,6DAAmF;AAEnF,SAAgB,sBAAsB,CAAsB,UAAoB;IAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,gBAAgB,GAAG,eAAe;aACrC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC;aACvD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,oBAAoB,IAAA,4BAAO,EAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,IAAA,4BAAO,EAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACtJ,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDataWatchFunctionQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,iCAAiC,UAAkB,CAAC;AACjE,eAAO,MAAM,yBAAyB,GAAI,WAAW,OAAO,GAAG,SAAS,WAoGvE,CAAC;AA0PF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
1
+ {"version":3,"file":"getDataWatchFunctionQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,iCAAiC,UAAkB,CAAC;AACjE,eAAO,MAAM,yBAAyB,GAAI,WAAW,OAAO,GAAG,SAAS,WAmGvE,CAAC;AA0PF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
@@ -15,8 +15,7 @@ const getDataWatchFunctionQuery = (debugMode) => {
15
15
  CREATE OR REPLACE FUNCTION ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.data_watch_func}() RETURNS TRIGGER
16
16
  AS $$
17
17
 
18
- DECLARE c_ids INTEGER[];
19
- DECLARE err_c_ids INTEGER[];
18
+ DECLARE c_ids BIGINT[];
20
19
  DECLARE condition_checks_union_query TEXT := '';
21
20
  DECLARE query TEXT := '';
22
21
  DECLARE v_trigger RECORD;
@@ -1 +1 @@
1
- {"version":3,"file":"getDataWatchFunctionQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":";;;AAAA,2EAA2D;AAC3D,8DAAyD;AACzD,8DAAsF;AAEtF;;;GAGG;AACU,QAAA,iCAAiC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1D,MAAM,yBAAyB,GAAG,CAAC,SAA8B,EAAE,EAAE;IAC1E,MAAM,sBAAsB,GAAG;;qCAEI,wCAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0B/C,sCAAsC;;kBAEtC,8BAA8B;;;;;;;;;;;;;0BAatB,IAAA,4BAAO,EAAC,kCAAa,CAAC,OAAO,CAAC;;4BAE5B,IAAA,4BAAO,EAAC,8BAAS,CAAC;;4BAElB,IAAA,4BAAO,EAAC,+BAAU,CAAC,IAAI,CAAC;;;;;;;;4BAQxB,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;kBAexF,IAAA,qCAAgB,GAAE;;;;;;;8BAON,wCAAY,CAAC,eAAe;;GAEvD,CAAC;IAEF,2GAA2G;IAC3G,MAAM,UAAU,GAAG,sBAAsB;SACtC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IACE,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACxC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yJAAyJ,IAAI,EAAE,CAChK,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AApGW,QAAA,yBAAyB,6BAoGpC;AAEF,MAAM,sCAAsC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4E9C,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EtC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
1
+ {"version":3,"file":"getDataWatchFunctionQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":";;;AAAA,2EAA2D;AAC3D,8DAAyD;AACzD,8DAAsF;AAEtF;;;GAGG;AACU,QAAA,iCAAiC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1D,MAAM,yBAAyB,GAAG,CAAC,SAA8B,EAAE,EAAE;IAC1E,MAAM,sBAAsB,GAAG;;qCAEI,wCAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;kBAyB/C,sCAAsC;;kBAEtC,8BAA8B;;;;;;;;;;;;;0BAatB,IAAA,4BAAO,EAAC,kCAAa,CAAC,OAAO,CAAC;;4BAE5B,IAAA,4BAAO,EAAC,8BAAS,CAAC;;4BAElB,IAAA,4BAAO,EAAC,+BAAU,CAAC,IAAI,CAAC;;;;;;;;4BAQxB,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;kBAexF,IAAA,qCAAgB,GAAE;;;;;;;8BAON,wCAAY,CAAC,eAAe;;GAEvD,CAAC;IAEF,2GAA2G;IAC3G,MAAM,UAAU,GAAG,sBAAsB;SACtC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IACE,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACxC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yJAAyJ,IAAI,EAAE,CAChK,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AAnGW,QAAA,yBAAyB,6BAmGpC;AAEF,MAAM,sCAAsC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4E9C,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EtC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAa9D,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AA0dX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,UAAU,KACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAyB5B,CAAC"}
1
+ {"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAa9D,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AA2dX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,UAAU,KACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAyB5B,CAAC"}
@@ -186,6 +186,8 @@ BEGIN
186
186
  COMMENT ON TABLE prostgles.apps IS 'Keep track of prostgles server apps connected to db to combine common triggers. Heartbeat used due to no logout triggers in postgres';
187
187
 
188
188
  CREATE TABLE IF NOT EXISTS prostgles.app_triggers (
189
+ /* Stable notification IDs, capped at JavaScript's maximum safe integer. */
190
+ table_condition_id BIGINT GENERATED BY DEFAULT AS IDENTITY (MAXVALUE 9007199254740991) UNIQUE,
189
191
  app_id TEXT NOT NULL,
190
192
  table_name TEXT NOT NULL,
191
193
  condition TEXT NOT NULL,
@@ -210,9 +212,8 @@ BEGIN
210
212
  CREATE OR REPLACE VIEW prostgles.v_triggers AS
211
213
  SELECT *
212
214
  , (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 table_condition_id
214
215
  FROM prostgles.app_triggers;
215
- COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs and per app IDs';
216
+ COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs';
216
217
 
217
218
  ${(0, getDataWatchFunctionQuery_1.getDataWatchFunctionQuery)(debugMode)}
218
219
 
@@ -1 +1 @@
1
- {"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
@@ -86,11 +86,11 @@ async function notifListener(data) {
86
86
  state = "ok";
87
87
  const firedTableConditions = tableTriggerConditions.filter(({ table_condition_id }) => conditionIds.includes(table_condition_id));
88
88
  const orphanedTableConditions = conditionIds.filter((condId) => {
89
- const tc = tableTriggerConditions.at(condId);
89
+ const tc = tableTriggerConditions.find((trigger) => trigger.table_condition_id === condId);
90
90
  return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
91
91
  });
92
92
  if (orphanedTableConditions.length) {
93
- void this.deleteOrphanedTriggers(new Set(table_name));
93
+ void this.deleteOrphanedTriggers(new Set([table_name]));
94
94
  }
95
95
  const triggeredSubs = new Set();
96
96
  firedTableConditions.map(({ table_condition_id, condition, subs, syncs }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"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"}
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,iBA2CxD"}
1
+ {"version":3,"file":"refreshTriggers.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/refreshTriggers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA2C,MAAM,iBAAiB,CAAC;AAE9F,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,iBA6CxD"}
@@ -9,10 +9,11 @@ async function refreshTriggers() {
9
9
  WHERE app_id = $1
10
10
  ORDER BY table_name, condition
11
11
  `, [this.dboBuilder.prostgles.appId]);
12
- const oldTriggers = new Map(this._triggers);
12
+ const oldTriggers = this._triggers;
13
+ const newTriggers = new Map();
13
14
  triggers.forEach((t) => {
14
- this._triggers.set(t.table_name, this._triggers.get(t.table_name) ?? new Map());
15
- const tableTriggers = this._triggers.get(t.table_name);
15
+ newTriggers.set(t.table_name, newTriggers.get(t.table_name) ?? new Map());
16
+ const tableTriggers = newTriggers.get(t.table_name);
16
17
  const table_condition_id = Number(t.table_condition_id);
17
18
  tableTriggers.set(table_condition_id, {
18
19
  condition: t.condition,
@@ -21,6 +22,7 @@ async function refreshTriggers() {
21
22
  table_condition_id,
22
23
  });
23
24
  });
25
+ this._triggers = newTriggers;
24
26
  await this._log({
25
27
  type: "syncOrSub",
26
28
  command: "refreshTriggers",
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"refreshTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/refreshTriggers.ts"],"names":[],"mappings":";;AAEA,0CA6CC;AA7CM,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,CAAC,SAAS,CAAC;IACnC,MAAM,WAAW,GAA0B,IAAI,GAAG,EAAE,CAAC;IAErD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,WAAW,CAAC,GAAG,CACb,CAAC,CAAC,UAAU,EACZ,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAA4B,CACrE,CAAC;QACF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAE,CAAC;QACrD,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;IACH,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IAE7B,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"}
@@ -278,16 +278,11 @@ export class PubSubManager {
278
278
  );
279
279
  const matchingSub = this.subs[matchingSubIdx];
280
280
  if (matchingSub) {
281
- /** Ensure we check and refresh related table/view triggers as well */
282
- const oldActiveTriggers = this.getAllActiveTriggers();
283
281
  this.subs.splice(matchingSubIdx, 1);
284
- const newActiveTriggers = this.getAllActiveTriggers();
285
- const tableNames = new Set(
286
- [...oldActiveTriggers, ...newActiveTriggers].map((t) => t.tableName),
282
+ // These are tables to recheck, not a snapshot of which triggers can be deleted.
283
+ this.deleteOrphanedTriggers(
284
+ new Set(matchingSub.triggers.map((trigger) => trigger.table_name)),
287
285
  );
288
- if (newActiveTriggers.length < oldActiveTriggers.length) {
289
- this.deleteOrphanedTriggers(tableNames);
290
- }
291
286
  } else {
292
287
  console.error("Could not unsubscribe. Subscription might not have initialised yet", {
293
288
  channelName,
@@ -314,22 +309,6 @@ export class PubSubManager {
314
309
  }));
315
310
  return tableTriggerConditions;
316
311
  };
317
- getActiveTriggers = (tableName: string) => {
318
- const activeTriggers = (this.getTriggerInfo(tableName) ?? []).filter(
319
- (c) => c.subs.length || c.syncs.length,
320
- );
321
- return activeTriggers;
322
- };
323
-
324
- getAllActiveTriggers = () => {
325
- return Array.from(this._triggers.keys()).flatMap((tableName) => {
326
- return this.getActiveTriggers(tableName).map((triggerInfo) => ({
327
- ...triggerInfo,
328
- tableName,
329
- }));
330
- });
331
- };
332
-
333
312
  getSubData = async (sub: Subscription) => {
334
313
  const {
335
314
  table_info,
@@ -418,9 +397,11 @@ export class PubSubManager {
418
397
  syncTimeout?: ReturnType<typeof setTimeout>;
419
398
  syncData = syncData.bind(this);
420
399
 
421
- addSync = addSync.bind(this);
400
+ addSync = (...args: Parameters<typeof addSync>) =>
401
+ this.registerTriggers(() => addSync.apply(this, args));
422
402
 
423
- addSub = addSub.bind(this);
403
+ addSub = (...args: Parameters<typeof addSub>) =>
404
+ this.registerTriggers(() => addSub.apply(this, args));
424
405
 
425
406
  getActiveListeners = (): { table_name: string; condition: string }[] => {
426
407
  const activeListeners: { table_name: string; condition: string }[] = [];
@@ -445,9 +426,17 @@ export class PubSubManager {
445
426
  /**
446
427
  * Sync triggers with database
447
428
  * */
448
- refreshTriggers = refreshTriggers.bind(this);
429
+ private triggerRefresh: Promise<void> = Promise.resolve();
430
+ refreshTriggers = () => {
431
+ // Apply database snapshots in order, including after a previous refresh failed.
432
+ const refresh = () => refreshTriggers.call(this);
433
+ this.triggerRefresh = this.triggerRefresh.then(refresh, refresh);
434
+ return this.triggerRefresh;
435
+ };
449
436
 
450
437
  /** Throttle trigger deletes */
438
+ private triggerCleanup: Promise<void> = Promise.resolve();
439
+ private pendingTriggerRegistrations = new Set<Promise<unknown>>();
451
440
  deletingOrphanedTriggers:
452
441
  | {
453
442
  tableNames: Set<string>;
@@ -460,7 +449,11 @@ export class PubSubManager {
460
449
  timeout: setTimeout(() => {
461
450
  const tableNames = this.deletingOrphanedTriggers!.tableNames;
462
451
  this.deletingOrphanedTriggers = undefined;
463
- void deleteOrphanedTriggers.bind(this)(Array.from(tableNames));
452
+ // Finish existing registrations before cleanup; new ones wait for this cleanup.
453
+ this.triggerCleanup = Promise.allSettled([
454
+ this.triggerCleanup,
455
+ ...this.pendingTriggerRegistrations,
456
+ ]).then(() => deleteOrphanedTriggers.call(this, Array.from(tableNames)));
464
457
  }, 1000),
465
458
  };
466
459
 
@@ -469,6 +462,16 @@ export class PubSubManager {
469
462
  });
470
463
  };
471
464
 
465
+ private registerTriggers = <T>(register: () => Promise<T>): Promise<T> => {
466
+ const result = this.triggerCleanup.then(register);
467
+ this.pendingTriggerRegistrations.add(result);
468
+ const settled = () => {
469
+ this.pendingTriggerRegistrations.delete(result);
470
+ };
471
+ void result.then(settled, settled);
472
+ return result;
473
+ };
474
+
472
475
  addingTrigger: any;
473
476
  addTriggerPool?: Record<string, string[]> = undefined;
474
477
  addTrigger = addTrigger.bind(this);
@@ -2,10 +2,12 @@ import type { PubSubManager } from "./PubSubManager";
2
2
  import { asValue, EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "./PubSubManagerUtils";
3
3
 
4
4
  export function deleteOrphanedTriggers(this: PubSubManager, tableNames: string[]) {
5
+ const activeListeners = this.getActiveListeners();
5
6
  const conditions = tableNames.map((tableName) => {
6
- const activeTriggers = this.getActiveTriggers(tableName);
7
- const activeConditionHashes = activeTriggers.map((c) => c.hash);
8
- return `(at.table_name = ${asValue(tableName)} ${activeConditionHashes.length ? `AND at.condition_hash NOT IN (${asValue(activeConditionHashes, ":csv")})` : ""})`;
7
+ const activeConditions = activeListeners
8
+ .filter((listener) => listener.table_name === tableName)
9
+ .map((listener) => listener.condition);
10
+ return `(at.table_name = ${asValue(tableName)} ${activeConditions.length ? `AND at.condition NOT IN (${asValue(activeConditions, ":csv")})` : ""})`;
9
11
  });
10
12
 
11
13
  // log("deleteOrphanedTriggers", { appId: this.appId, conditions });
@@ -13,8 +13,7 @@ export const getDataWatchFunctionQuery = (debugMode: boolean | undefined) => {
13
13
  CREATE OR REPLACE FUNCTION ${DB_OBJ_NAMES.data_watch_func}() RETURNS TRIGGER
14
14
  AS $$
15
15
 
16
- DECLARE c_ids INTEGER[];
17
- DECLARE err_c_ids INTEGER[];
16
+ DECLARE c_ids BIGINT[];
18
17
  DECLARE condition_checks_union_query TEXT := '';
19
18
  DECLARE query TEXT := '';
20
19
  DECLARE v_trigger RECORD;
@@ -195,6 +195,8 @@ BEGIN
195
195
  COMMENT ON TABLE prostgles.apps IS 'Keep track of prostgles server apps connected to db to combine common triggers. Heartbeat used due to no logout triggers in postgres';
196
196
 
197
197
  CREATE TABLE IF NOT EXISTS prostgles.app_triggers (
198
+ /* Stable notification IDs, capped at JavaScript's maximum safe integer. */
199
+ table_condition_id BIGINT GENERATED BY DEFAULT AS IDENTITY (MAXVALUE 9007199254740991) UNIQUE,
198
200
  app_id TEXT NOT NULL,
199
201
  table_name TEXT NOT NULL,
200
202
  condition TEXT NOT NULL,
@@ -219,9 +221,8 @@ BEGIN
219
221
  CREATE OR REPLACE VIEW prostgles.v_triggers AS
220
222
  SELECT *
221
223
  , (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 table_condition_id
223
224
  FROM prostgles.app_triggers;
224
- COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs and per app IDs';
225
+ COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs';
225
226
 
226
227
  ${getDataWatchFunctionQuery(debugMode)}
227
228
 
@@ -102,11 +102,11 @@ export async function notifListener(this: PubSubManager, data: { payload: string
102
102
  conditionIds.includes(table_condition_id),
103
103
  );
104
104
  const orphanedTableConditions = conditionIds.filter((condId) => {
105
- const tc = tableTriggerConditions.at(condId);
105
+ const tc = tableTriggerConditions.find((trigger) => trigger.table_condition_id === condId);
106
106
  return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
107
107
  });
108
108
  if (orphanedTableConditions.length) {
109
- void this.deleteOrphanedTriggers(new Set(table_name));
109
+ void this.deleteOrphanedTriggers(new Set([table_name]));
110
110
  }
111
111
 
112
112
  const triggeredSubs = new Set<Subscription>();