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.
- package/dist/PubSubManager/PubSubManager.d.ts +15 -11
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +48 -61
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/getInitQuery.d.ts.map +1 -1
- package/dist/PubSubManager/getInitQuery.js +20 -7
- package/dist/PubSubManager/getInitQuery.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +1 -1
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +4 -1
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/lib/PubSubManager/PubSubManager.ts +58 -77
- package/lib/PubSubManager/getInitQuery.ts +20 -7
- package/lib/PubSubManager/initPubSubManager.ts +1 -1
- package/lib/PubSubManager/notifListener.ts +5 -1
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
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
|
-
|
|
415
|
-
this.
|
|
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,
|
|
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
|
|
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.
|
|
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,
|
|
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,
|
|
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":";;;AAAA,mDAA+D;AAE/D,mDAAmD;AAC5C,KAAK,UAAU,aAAa,CAAsB,IAAyB;IAChF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IAEzB,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACvC,OAAO;KACR;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,6BAAa,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAA,mBAAG,EAAC,GAAG,CAAC,CAAC;IAET,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QAExC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAExH,IAAI,KAAK,IAAI,OAAO,EAAE;gBACpB,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;aACxC;SACF;QAED,OAAO;KACR;IAED,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO;KACR;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,MAAM,mCAAmC,CAAA;KAC1C;IAED,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,OAAO,CAAC;IAC5D,MAAM,aAAa,GAAG,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAGjE,IAAG,CAAC,UAAU,EAAE;QACd,MAAM,kBAAkB,CAAC;KAC1B;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,KAAK,GAA6D,IAAI,CAAC;IAE3E,4KAA4K;IAC5K,+DAA+D;
|
|
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
|
-
|
|
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
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
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
|
-
|
|
590
|
-
|
|
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.
|
|
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
|
-
|
|
57
|
+
|
|
54
58
|
|
|
55
59
|
if(!tableTriggers?.length){
|
|
56
60
|
state = "no-triggers";
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
16396
|