prostgles-server 4.1.12 → 4.1.14

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.
@@ -96,9 +96,17 @@ export type Subscription = Pick<SubscriptionParams, "throttle" | "is_throttling"
96
96
  };
97
97
  export declare class PubSubManager {
98
98
  static DELIMITER: "|$prstgls$|";
99
- dboBuilder: DboBuilder;
99
+ static SCHEMA_ALTERING_QUERIES: readonly ["CREATE TABLE", "ALTER TABLE", "DROP TABLE", "CREATE VIEW", "DROP VIEW", "ALTER VIEW", "CREATE TABLE AS", "SELECT INTO", "REVOKE", "GRANT", "CREATE POLICY", "DROP POLICY"];
100
+ static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID: "prostgles internal query that should be excluded from schema watch ";
101
+ static canCreate: (db: DB) => Promise<{
102
+ canExecute: boolean;
103
+ isSuperUs: boolean;
104
+ yes: boolean;
105
+ }>;
106
+ static create: (options: PubSubManagerOptions) => Promise<PubSubManager | undefined>;
100
107
  get db(): DB;
101
108
  get dbo(): DBHandlerServer;
109
+ dboBuilder: DboBuilder;
102
110
  _triggers?: Record<string, string[]>;
103
111
  sockets: AnyObject;
104
112
  subs: Subscription[];
@@ -112,6 +120,7 @@ export declare class PubSubManager {
112
120
  private constructor();
113
121
  NOTIF_TYPE: {
114
122
  readonly data: "data_has_changed";
123
+ readonly data_trigger_change: "data_watch_triggers_have_changed";
115
124
  readonly schema: "schema_has_changed";
116
125
  };
117
126
  NOTIF_CHANNEL: {
@@ -124,21 +133,13 @@ export declare class PubSubManager {
124
133
  appID?: string;
125
134
  appCheckFrequencyMS: number;
126
135
  appCheck?: ReturnType<typeof setInterval>;
127
- static canCreate: (db: DB) => Promise<{
128
- canExecute: boolean;
129
- isSuperUs: boolean;
130
- yes: boolean;
131
- }>;
132
- static create: (options: PubSubManagerOptions) => Promise<PubSubManager | undefined>;
133
136
  destroyed: boolean;
134
137
  destroy: () => void;
135
138
  canContinue: () => boolean;
136
139
  appChecking: boolean;
137
140
  checkedListenerTableCond?: string[];
138
141
  init: () => Promise<PubSubManager | undefined>;
139
- static SCHEMA_ALTERING_QUERIES: readonly ["CREATE TABLE", "ALTER TABLE", "DROP TABLE", "CREATE VIEW", "DROP VIEW", "ALTER VIEW", "CREATE TABLE AS", "SELECT INTO", "REVOKE", "GRANT", "CREATE POLICY", "DROP POLICY"];
140
- static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID: "prostgles internal query that should be excluded from schema watch ";
141
- prepareEventTriggers: () => Promise<boolean>;
142
+ initialiseEventTriggers: () => Promise<boolean>;
142
143
  isReady(): any;
143
144
  getClientSubs(client: Pick<Subscription, "localFuncs" | "socket_id" | "channel_name">): Subscription[];
144
145
  getTriggerSubs(table_name: string, condition: string): Subscription[];
@@ -185,7 +186,10 @@ export declare class PubSubManager {
185
186
  table_name: string;
186
187
  condition: string;
187
188
  }[];
188
- getMyTriggerQuery: () => Promise<string>;
189
+ /**
190
+ * Sync triggers with database
191
+ * */
192
+ refreshTriggers: () => Promise<void>;
189
193
  addingTrigger: any;
190
194
  addTriggerPool?: Record<string, string[]>;
191
195
  addTrigger(params: {
@@ -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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"}
@@ -34,13 +34,37 @@ const log = (...args) => {
34
34
  exports.log = log;
35
35
  class PubSubManager {
36
36
  static DELIMITER = '|$prstgls$|';
37
- dboBuilder;
37
+ static SCHEMA_ALTERING_QUERIES = [
38
+ 'CREATE TABLE',
39
+ 'ALTER TABLE',
40
+ 'DROP TABLE',
41
+ 'CREATE VIEW',
42
+ 'DROP VIEW',
43
+ 'ALTER VIEW',
44
+ 'CREATE TABLE AS',
45
+ 'SELECT INTO',
46
+ 'REVOKE',
47
+ 'GRANT',
48
+ 'CREATE POLICY',
49
+ 'DROP POLICY',
50
+ ];
51
+ static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch ";
52
+ static canCreate = async (db) => {
53
+ const canExecute = await (0, DboBuilder_1.canEXECUTE)(db);
54
+ const isSuperUs = await (0, Prostgles_1.isSuperUser)(db);
55
+ return { canExecute, isSuperUs, yes: canExecute && isSuperUs };
56
+ };
57
+ static create = async (options) => {
58
+ const res = new PubSubManager(options);
59
+ return await res.init();
60
+ };
38
61
  get db() {
39
62
  return this.dboBuilder.db;
40
63
  }
41
64
  get dbo() {
42
65
  return this.dboBuilder.dbo;
43
66
  }
67
+ dboBuilder;
44
68
  _triggers;
45
69
  sockets = {};
46
70
  subs = [];
@@ -60,6 +84,7 @@ class PubSubManager {
60
84
  }
61
85
  NOTIF_TYPE = {
62
86
  data: "data_has_changed",
87
+ data_trigger_change: "data_watch_triggers_have_changed",
63
88
  schema: "schema_has_changed"
64
89
  };
65
90
  NOTIF_CHANNEL = {
@@ -77,28 +102,6 @@ class PubSubManager {
77
102
  appID;
78
103
  appCheckFrequencyMS = 10 * 1000;
79
104
  appCheck;
80
- // ,datname
81
- // ,usename
82
- // ,client_hostname
83
- // ,client_port
84
- // ,backend_start
85
- // ,query_start
86
- // ,query
87
- // ,state
88
- // console.log(await _db.any(`
89
- // SELECT pid, application_name, state
90
- // FROM pg_stat_activity
91
- // WHERE application_name IS NOT NULL AND application_name != '' -- state = 'active';
92
- // `))
93
- static canCreate = async (db) => {
94
- const canExecute = await (0, DboBuilder_1.canEXECUTE)(db);
95
- const isSuperUs = await (0, Prostgles_1.isSuperUser)(db);
96
- return { canExecute, isSuperUs, yes: canExecute && isSuperUs };
97
- };
98
- static create = async (options) => {
99
- const res = new PubSubManager(options);
100
- return await res.init();
101
- };
102
105
  destroyed = false;
103
106
  destroy = () => {
104
107
  this.destroyed = true;
@@ -122,22 +125,7 @@ class PubSubManager {
122
125
  appChecking = false;
123
126
  checkedListenerTableCond;
124
127
  init = initPubSubManager_1.initPubSubManager.bind(this);
125
- static SCHEMA_ALTERING_QUERIES = [
126
- 'CREATE TABLE',
127
- 'ALTER TABLE',
128
- 'DROP TABLE',
129
- 'CREATE VIEW',
130
- 'DROP VIEW',
131
- 'ALTER VIEW',
132
- 'CREATE TABLE AS',
133
- 'SELECT INTO',
134
- 'REVOKE',
135
- 'GRANT',
136
- 'CREATE POLICY',
137
- 'DROP POLICY',
138
- ];
139
- static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch ";
140
- prepareEventTriggers = async () => {
128
+ initialiseEventTriggers = async () => {
141
129
  // SELECT * FROM pg_catalog.pg_event_trigger WHERE evtname
142
130
  if (!this.appID)
143
131
  throw "prepareTriggers failed: this.appID missing";
@@ -175,6 +163,7 @@ class PubSubManager {
175
163
  BEGIN
176
164
  --SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
177
165
 
166
+ /** Delete existing triggers without locking */
178
167
  LOCK TABLE prostgles.app_triggers IN ACCESS EXCLUSIVE MODE;
179
168
  EXECUTE format(
180
169
  $q$
@@ -366,18 +355,24 @@ class PubSubManager {
366
355
  });
367
356
  return result;
368
357
  };
369
- /*
370
- A table will only have a trigger with all conditions (for different subs)
371
- conditions = ["user_id = 1"]
372
- fields = ["user_id"]
373
- */
374
- getMyTriggerQuery = async () => {
375
- return pgp.as.format(`
376
- SELECT * --, ROW_NUMBER() OVER(PARTITION BY table_name ORDER BY table_name, condition ) - 1 as id
377
- FROM prostgles.v_triggers
378
- WHERE app_id = $1
379
- ORDER BY table_name, condition
380
- `, [this.appID]);
358
+ /**
359
+ * Sync triggers with database
360
+ * */
361
+ refreshTriggers = async () => {
362
+ const triggers = await this.db.any(`
363
+ SELECT *
364
+ FROM prostgles.v_triggers
365
+ WHERE app_id = $1
366
+ ORDER BY table_name, condition
367
+ `, [this.appID]);
368
+ this._triggers = {};
369
+ triggers.map(t => {
370
+ this._triggers ??= {};
371
+ this._triggers[t.table_name] ??= [];
372
+ if (!this._triggers[t.table_name]?.includes(t.condition)) {
373
+ this._triggers[t.table_name]?.push(t.condition);
374
+ }
375
+ });
381
376
  };
382
377
  // waitingTriggers: { [key: string]: string[] } = undefined;
383
378
  addingTrigger;
@@ -411,16 +406,8 @@ class PubSubManager {
411
406
 
412
407
  COMMIT WORK;
413
408
  `);
414
- const triggers = await this.db.any(await this.getMyTriggerQuery());
415
- this._triggers = {};
416
- triggers.map(t => {
417
- this._triggers ??= {};
418
- this._triggers[t.table_name] ??= [];
419
- /** Why not also remove missing triggers?! */
420
- if (!this._triggers[t.table_name]?.includes(t.condition)) {
421
- this._triggers[t.table_name]?.push(t.condition);
422
- }
423
- });
409
+ /** This might be redundant due to trigger on app_triggers */
410
+ await this.refreshTriggers();
424
411
  return trgVals;
425
412
  });
426
413
  await this._log({
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,YAAY,SAAwB,aAAa,KAAG,QAAQ,MAAM,CA8hB9E,CAAA"}
1
+ {"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,YAAY,SAAwB,aAAa,KAAG,QAAQ,MAAM,CA2iB9E,CAAA"}
@@ -331,8 +331,6 @@ BEGIN
331
331
  $$ LANGUAGE plpgsql;
332
332
  COMMENT ON FUNCTION ${exports.DB_OBJ_NAMES.data_watch_func} IS 'Prostgles internal function used to notify when data in the table changed';
333
333
 
334
-
335
-
336
334
  CREATE OR REPLACE FUNCTION ${exports.DB_OBJ_NAMES.trigger_add_remove_func}() RETURNS TRIGGER
337
335
  AS $$
338
336
 
@@ -340,13 +338,15 @@ BEGIN
340
338
  DECLARE op TEXT;
341
339
  DECLARE query TEXT;
342
340
  DECLARE trw RECORD;
341
+ DECLARE start_time BIGINT;
343
342
 
344
343
  BEGIN
345
-
344
+
345
+ start_time := EXTRACT(EPOCH FROM now()) * 1000;
346
346
 
347
347
  --RAISE NOTICE 'prostgles.app_triggers % ', TG_OP;
348
348
 
349
- /* If no other listeners on table then DROP triggers */
349
+ /* If no other listeners (app_triggers) left on table then DROP actual table data watch triggers */
350
350
  IF TG_OP = 'DELETE' THEN
351
351
 
352
352
  --RAISE NOTICE 'DELETE trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.app_triggers) , ' 0 ');
@@ -370,14 +370,14 @@ BEGIN
370
370
 
371
371
  END LOOP;
372
372
 
373
- /* If newly added listeners on table then CREATE triggers */
373
+ /* If newly added listeners on table then CREATE table data watch triggers */
374
374
  ELSIF TG_OP = 'INSERT' THEN
375
375
 
376
376
 
377
377
  --RAISE NOTICE 'INSERT trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.triggers) , ' 0 ');
378
378
  --RAISE NOTICE 'INSERT trigger_add_remove_func new_table: % ', '' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM new_table), ' 0 ');
379
379
 
380
- /* Loop through newly added tables */
380
+ /* Loop through newly added tables to add data watch triggers */
381
381
  FOR trw IN
382
382
 
383
383
  SELECT DISTINCT table_name
@@ -473,6 +473,20 @@ BEGIN
473
473
 
474
474
  END IF;
475
475
 
476
+ /** Notify all apps about trigger table change
477
+ PERFORM pg_notify(
478
+ ${(0, PubSubManager_1.asValue)(this.NOTIF_CHANNEL.preffix)},
479
+ LEFT(concat_ws(
480
+ ${(0, PubSubManager_1.asValue)(PubSubManager_1.PubSubManager.DELIMITER)},
481
+ ${(0, PubSubManager_1.asValue)(this.NOTIF_TYPE.data_trigger_change)},
482
+ json_build_object(
483
+ 'TG_OP',TG_OP,
484
+ 'TG_TAG',TG_TAG,
485
+ 'TG_event',TG_event,
486
+ 'duration', (EXTRACT(EPOCH FROM now()) * 1000) - start_time
487
+ )
488
+ ), 7999/4)
489
+ );
476
490
 
477
491
  RETURN NULL;
478
492
  END;
@@ -520,7 +534,6 @@ BEGIN
520
534
 
521
535
  FOR app IN
522
536
  SELECT * FROM prostgles.apps WHERE watching_schema IS TRUE
523
-
524
537
  LOOP
525
538
  PERFORM pg_notify(
526
539
  ${(0, PubSubManager_1.asValue)(this.NOTIF_CHANNEL.preffix)} || app.id,
@@ -1 +1 @@
1
- {"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":";;;AACA,mDAAyD;AACzD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAErC,QAAA,YAAY,GAAG;IAC1B,uBAAuB,EAAE,mCAAmC;IAC5D,eAAe,EAAE,sCAAsC;IACvD,iBAAiB,EAAE,6BAA6B;IAChD,oBAAoB,EAAE,oCAAoC;CAClD,CAAC;AAEJ,MAAM,YAAY,GAAG,KAAK;IAE/B,MAAM,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAmB,EAAE;QAC9D,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,WAAW,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,8BAA8B,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElI,OAAO;;;;;;;IAOP,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA8BpB,IAAA,uBAAO,EAAC,UAAU,CAAC;2BACxB,IAAA,uBAAO,EAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4B1B,IAAA,uBAAO,EAAC,OAAO,CAAC,KAAK,IAAA,uBAAO,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAsGpB,oBAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyGjC,IAAA,uBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;kCAEjC,IAAA,uBAAO,EAAC,6BAAa,CAAC,SAAS,CAAC;;kCAEhC,IAAA,uBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;;;;;;;kCAO7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC,CAAC,qHAAqH,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;kBAuBvL,uDAAuD;;;;;;;;;;8BAU3C,oBAAY,CAAC,eAAe;;;;qCAIrB,oBAAY,CAAC,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEAkFF,oBAAY,CAAC,eAAe;;;;;;;;;;uEAU5B,oBAAY,CAAC,eAAe;;;;;;;;;;uEAU5B,oBAAY,CAAC,eAAe;;;;;;;;;;;;;yCAazD,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8B5D,oBAAY,CAAC,uBAAuB;;;;;;+CAMnB,oBAAY,CAAC,uBAAuB;;;;;;+CAMpC,oBAAY,CAAC,uBAAuB;;;qCAG9C,oBAAY,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA8BzC,IAAA,uBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;4BAEjC,IAAA,uBAAO,EAAC,6BAAa,CAAC,SAAS,CAAC;4BAChC,IAAA,uBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;;;;;;;;;8BAS7B,oBAAY,CAAC,iBAAiB;;;;;;;;;CAS3D,CAAA;IAAA,CAAC,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IAEvB,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AA9hBY,QAAA,YAAY,gBA8hBxB"}
1
+ {"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ async function initPubSubManager() {
106
106
  }
107
107
  }
108
108
  this.postgresNotifListenManager = new PostgresNotifListenManager_1.PostgresNotifListenManager(this.db, this.notifListener, this.NOTIF_CHANNEL.getFull());
109
- await this.prepareEventTriggers();
109
+ await this.initialiseEventTriggers();
110
110
  return this;
111
111
  }
112
112
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,mDAA8D;AAC9D,MAAM,4BAA4B,GAAG,kEAA2E,CAAC;AACjH,iDAA8C;AAEvC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAGhC,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC3B,sJAAsJ,EACpJ,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAC3D,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YAEpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAElB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;oBACrC,IAAI,qBAAqB,GAAG,EAAE,CAAC;oBAC/B,IAAI,EAAI,qBAAqB;wBAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBAExB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5C,MAAM,wBAAwB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;wBACtF,IAAI,qBAAqB,GAAG,EAAE,CAAC;wBAC/B,IAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,wBAAwB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAC;4BACzF,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;4BACzD,qBAAqB,GAAG;;;;;;;;;;sBAUhB,CAAC,SAAS,CAAC,MAAM,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;0BAGpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAA,uBAAO,EAAC,CAAC,CAAC,UAAU,CAAC,KAAK,IAAA,uBAAO,EAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;uCAE3E,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;qBACrC;;;;qCAIgB,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;kDACN,IAAA,uBAAO,EAAC,IAAI,CAAC,mBAAmB,CAAC;;;;eAIpE,CAAA;yBACF;wBAED,qBAAqB,GAAG;;;2CAGO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAC,CAAC,CAAC,CAAC;;oBAE5E,4BAA4B;oBAC5B,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;iCAenC,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;;sBAE9B,qBAAqB;;;;WAIhC,CAAA;wBACC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;wBACzC,KAAK,GAAG,CAAC,CAAC;wBACV,IAAA,mBAAG,EAAC,oBAAoB,CAAC,CAAC;qBAC3B;oBAAC,OAAO,CAAM,EAAE;wBACf,KAAK,EAAG,CAAC;wBAET,4FAA4F;wBAC5F,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,sHAAsH,EACtH,EAAE,GAAG,EAAE,GAAG,GAAG,4BAA4B,GAAG,GAAG,EAAE,CAClD,CAAC;wBAEF;;;;;6BAKK;wBACL,IAAG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,EAAC,EAAE,+CAA+C;4BACpF,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBAC9B;wBACD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;qBAChE;oBAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC3B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACpC;SACF;QAED,IAAI,CAAC,0BAA0B,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5H,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAEjC,OAAO,IAAI,CAAC;KAEb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;KACjD;AACH,CAAC;AA7HD,8CA6HC"}
1
+ {"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG/D,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAsIjF"}
1
+ {"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG/D,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBA0IjF"}
@@ -22,6 +22,10 @@ async function notifListener(data) {
22
22
  }
23
23
  return;
24
24
  }
25
+ else if (notifType === this.NOTIF_TYPE.data_trigger_change) {
26
+ await this.refreshTriggers();
27
+ return;
28
+ }
25
29
  if (notifType !== this.NOTIF_TYPE.data) {
26
30
  console.error("Unexpected notif type: ", notifType);
27
31
  return;
@@ -38,7 +42,6 @@ async function notifListener(data) {
38
42
  let state = "ok";
39
43
  // const triggers = await this.db.any("SELECT * FROM prostgles.triggers WHERE table_name = $1 AND id IN ($2:csv)", [table_name, condition_ids_str.split(",").map(v => +v)]);
40
44
  // const conditions: string[] = triggers.map(t => t.condition);
41
- (0, PubSubManager_1.log)("notifListener", dataArr.join("__"));
42
45
  if (!tableTriggers?.length) {
43
46
  state = "no-triggers";
44
47
  /* Trigger error */
@@ -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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"}
@@ -151,7 +151,34 @@ export type Subscription = Pick<SubscriptionParams,
151
151
  export class PubSubManager {
152
152
  static DELIMITER = '|$prstgls$|' as const;
153
153
 
154
- dboBuilder: DboBuilder;
154
+ static SCHEMA_ALTERING_QUERIES = [
155
+ 'CREATE TABLE',
156
+ 'ALTER TABLE',
157
+ 'DROP TABLE',
158
+ 'CREATE VIEW',
159
+ 'DROP VIEW',
160
+ 'ALTER VIEW',
161
+ 'CREATE TABLE AS',
162
+ 'SELECT INTO',
163
+ 'REVOKE',
164
+ 'GRANT',
165
+ 'CREATE POLICY',
166
+ 'DROP POLICY',
167
+ ] as const;
168
+
169
+ static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch " as const;
170
+
171
+ public static canCreate = async (db: DB) => {
172
+ const canExecute = await canEXECUTE(db);
173
+ const isSuperUs = await isSuperUser(db);
174
+ return { canExecute, isSuperUs, yes: canExecute && isSuperUs };
175
+ }
176
+
177
+ public static create = async (options: PubSubManagerOptions) => {
178
+ const res = new PubSubManager(options);
179
+ return await res.init();
180
+ }
181
+
155
182
  get db(): DB {
156
183
  return this.dboBuilder.db;
157
184
  }
@@ -159,6 +186,7 @@ export class PubSubManager {
159
186
  return this.dboBuilder.dbo;
160
187
  }
161
188
 
189
+ dboBuilder: DboBuilder;
162
190
  _triggers?: Record<string, string[]>;
163
191
  sockets: AnyObject = {};
164
192
 
@@ -185,6 +213,7 @@ export class PubSubManager {
185
213
 
186
214
  NOTIF_TYPE = {
187
215
  data: "data_has_changed",
216
+ data_trigger_change: "data_watch_triggers_have_changed",
188
217
  schema: "schema_has_changed"
189
218
  } as const;
190
219
  NOTIF_CHANNEL = {
@@ -204,35 +233,6 @@ export class PubSubManager {
204
233
  appCheckFrequencyMS = 10 * 1000;
205
234
  appCheck?: ReturnType<typeof setInterval>;
206
235
 
207
-
208
-
209
- // ,datname
210
- // ,usename
211
- // ,client_hostname
212
- // ,client_port
213
- // ,backend_start
214
- // ,query_start
215
- // ,query
216
- // ,state
217
-
218
- // console.log(await _db.any(`
219
- // SELECT pid, application_name, state
220
- // FROM pg_stat_activity
221
- // WHERE application_name IS NOT NULL AND application_name != '' -- state = 'active';
222
- // `))
223
-
224
- public static canCreate = async (db: DB) => {
225
-
226
- const canExecute = await canEXECUTE(db);
227
- const isSuperUs = await isSuperUser(db);
228
- return { canExecute, isSuperUs, yes: canExecute && isSuperUs };
229
- }
230
-
231
- public static create = async (options: PubSubManagerOptions) => {
232
- const res = new PubSubManager(options);
233
- return await res.init();
234
- }
235
-
236
236
  destroyed = false;
237
237
  destroy = () => {
238
238
  this.destroyed = true;
@@ -259,24 +259,7 @@ export class PubSubManager {
259
259
  checkedListenerTableCond?: string[];
260
260
  init = initPubSubManager.bind(this);
261
261
 
262
-
263
- static SCHEMA_ALTERING_QUERIES = [
264
- 'CREATE TABLE',
265
- 'ALTER TABLE',
266
- 'DROP TABLE',
267
- 'CREATE VIEW',
268
- 'DROP VIEW',
269
- 'ALTER VIEW',
270
- 'CREATE TABLE AS',
271
- 'SELECT INTO',
272
- 'REVOKE',
273
- 'GRANT',
274
- 'CREATE POLICY',
275
- 'DROP POLICY',
276
- ] as const;
277
-
278
- static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch " as const;
279
- prepareEventTriggers = async () => {
262
+ initialiseEventTriggers = async () => {
280
263
  // SELECT * FROM pg_catalog.pg_event_trigger WHERE evtname
281
264
  if (!this.appID) throw "prepareTriggers failed: this.appID missing";
282
265
 
@@ -314,6 +297,7 @@ export class PubSubManager {
314
297
  BEGIN
315
298
  --SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
316
299
 
300
+ /** Delete existing triggers without locking */
317
301
  LOCK TABLE prostgles.app_triggers IN ACCESS EXCLUSIVE MODE;
318
302
  EXECUTE format(
319
303
  $q$
@@ -533,20 +517,30 @@ export class PubSubManager {
533
517
  return result;
534
518
  }
535
519
 
536
- /*
537
- A table will only have a trigger with all conditions (for different subs)
538
- conditions = ["user_id = 1"]
539
- fields = ["user_id"]
540
- */
541
-
542
- getMyTriggerQuery = async () => {
543
- return pgp.as.format(`
544
- SELECT * --, ROW_NUMBER() OVER(PARTITION BY table_name ORDER BY table_name, condition ) - 1 as id
545
- FROM prostgles.v_triggers
546
- WHERE app_id = $1
547
- ORDER BY table_name, condition
548
- `, [this.appID]
549
- )
520
+ /**
521
+ * Sync triggers with database
522
+ * */
523
+ refreshTriggers = async () => {
524
+
525
+ const triggers: {
526
+ table_name: string;
527
+ condition: string;
528
+ }[] = await this.db.any(`
529
+ SELECT *
530
+ FROM prostgles.v_triggers
531
+ WHERE app_id = $1
532
+ ORDER BY table_name, condition
533
+ `, [this.appID]
534
+ );
535
+
536
+ this._triggers = {};
537
+ triggers.map(t => {
538
+ this._triggers ??= {};
539
+ this._triggers[t.table_name] ??= [];
540
+ if (!this._triggers[t.table_name]?.includes(t.condition)) {
541
+ this._triggers[t.table_name]?.push(t.condition)
542
+ }
543
+ });
550
544
  }
551
545
 
552
546
  // waitingTriggers: { [key: string]: string[] } = undefined;
@@ -586,21 +580,8 @@ export class PubSubManager {
586
580
  COMMIT WORK;
587
581
  `);
588
582
 
589
- const triggers: {
590
- table_name: string;
591
- condition: string;
592
- }[] = await this.db.any(await this.getMyTriggerQuery());
593
-
594
-
595
- this._triggers = {};
596
- triggers.map(t => {
597
- this._triggers ??= {};
598
- this._triggers[t.table_name] ??= [];
599
- /** Why not also remove missing triggers?! */
600
- if (!this._triggers[t.table_name]?.includes(t.condition)) {
601
- this._triggers[t.table_name]?.push(t.condition)
602
- }
603
- });
583
+ /** This might be redundant due to trigger on app_triggers */
584
+ await this.refreshTriggers();
604
585
 
605
586
  return trgVals;
606
587
  });
@@ -333,8 +333,6 @@ BEGIN
333
333
  $$ LANGUAGE plpgsql;
334
334
  COMMENT ON FUNCTION ${DB_OBJ_NAMES.data_watch_func} IS 'Prostgles internal function used to notify when data in the table changed';
335
335
 
336
-
337
-
338
336
  CREATE OR REPLACE FUNCTION ${DB_OBJ_NAMES.trigger_add_remove_func}() RETURNS TRIGGER
339
337
  AS $$
340
338
 
@@ -342,13 +340,15 @@ BEGIN
342
340
  DECLARE op TEXT;
343
341
  DECLARE query TEXT;
344
342
  DECLARE trw RECORD;
343
+ DECLARE start_time BIGINT;
345
344
 
346
345
  BEGIN
347
-
346
+
347
+ start_time := EXTRACT(EPOCH FROM now()) * 1000;
348
348
 
349
349
  --RAISE NOTICE 'prostgles.app_triggers % ', TG_OP;
350
350
 
351
- /* If no other listeners on table then DROP triggers */
351
+ /* If no other listeners (app_triggers) left on table then DROP actual table data watch triggers */
352
352
  IF TG_OP = 'DELETE' THEN
353
353
 
354
354
  --RAISE NOTICE 'DELETE trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.app_triggers) , ' 0 ');
@@ -372,14 +372,14 @@ BEGIN
372
372
 
373
373
  END LOOP;
374
374
 
375
- /* If newly added listeners on table then CREATE triggers */
375
+ /* If newly added listeners on table then CREATE table data watch triggers */
376
376
  ELSIF TG_OP = 'INSERT' THEN
377
377
 
378
378
 
379
379
  --RAISE NOTICE 'INSERT trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.triggers) , ' 0 ');
380
380
  --RAISE NOTICE 'INSERT trigger_add_remove_func new_table: % ', '' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM new_table), ' 0 ');
381
381
 
382
- /* Loop through newly added tables */
382
+ /* Loop through newly added tables to add data watch triggers */
383
383
  FOR trw IN
384
384
 
385
385
  SELECT DISTINCT table_name
@@ -475,6 +475,20 @@ BEGIN
475
475
 
476
476
  END IF;
477
477
 
478
+ /** Notify all apps about trigger table change
479
+ PERFORM pg_notify(
480
+ ${asValue(this.NOTIF_CHANNEL.preffix)},
481
+ LEFT(concat_ws(
482
+ ${asValue(PubSubManager.DELIMITER)},
483
+ ${asValue(this.NOTIF_TYPE.data_trigger_change)},
484
+ json_build_object(
485
+ 'TG_OP',TG_OP,
486
+ 'TG_TAG',TG_TAG,
487
+ 'TG_event',TG_event,
488
+ 'duration', (EXTRACT(EPOCH FROM now()) * 1000) - start_time
489
+ )
490
+ ), 7999/4)
491
+ );
478
492
 
479
493
  RETURN NULL;
480
494
  END;
@@ -522,7 +536,6 @@ BEGIN
522
536
 
523
537
  FOR app IN
524
538
  SELECT * FROM prostgles.apps WHERE watching_schema IS TRUE
525
-
526
539
  LOOP
527
540
  PERFORM pg_notify(
528
541
  ${asValue(this.NOTIF_CHANNEL.preffix)} || app.id,
@@ -121,7 +121,7 @@ export async function initPubSubManager(this: PubSubManager): Promise<PubSubMana
121
121
 
122
122
  this.postgresNotifListenManager = new PostgresNotifListenManager(this.db, this.notifListener, this.NOTIF_CHANNEL.getFull());
123
123
 
124
- await this.prepareEventTriggers()
124
+ await this.initialiseEventTriggers()
125
125
 
126
126
  return this;
127
127
 
@@ -25,6 +25,10 @@ export async function notifListener(this: PubSubManager, data: { payload: string
25
25
  }
26
26
  }
27
27
 
28
+ return;
29
+ } else if(notifType === this.NOTIF_TYPE.data_trigger_change) {
30
+
31
+ await this.refreshTriggers();
28
32
  return;
29
33
  }
30
34
 
@@ -50,7 +54,7 @@ export async function notifListener(this: PubSubManager, data: { payload: string
50
54
 
51
55
  // const triggers = await this.db.any("SELECT * FROM prostgles.triggers WHERE table_name = $1 AND id IN ($2:csv)", [table_name, condition_ids_str.split(",").map(v => +v)]);
52
56
  // const conditions: string[] = triggers.map(t => t.condition);
53
- log("notifListener", dataArr.join("__"));
57
+
54
58
 
55
59
  if(!tableTriggers?.length){
56
60
  state = "no-triggers";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.1.12",
3
+ "version": "4.1.14",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 87227
1
+ 16396
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.1.11",
24
+ "version": "4.1.13",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@types/express": "^4.17.13",