prostgles-server 4.1.12 → 4.1.13
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 -5
- 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 -5
- 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,CA6iB9E,CAAA"}
|
|
@@ -340,13 +340,15 @@ BEGIN
|
|
|
340
340
|
DECLARE op TEXT;
|
|
341
341
|
DECLARE query TEXT;
|
|
342
342
|
DECLARE trw RECORD;
|
|
343
|
+
DECLARE start_time BIGINT;
|
|
343
344
|
|
|
344
345
|
BEGIN
|
|
345
|
-
|
|
346
|
+
|
|
347
|
+
start_time := EXTRACT(EPOCH FROM TIMESTAMP now()) * 1000;
|
|
346
348
|
|
|
347
349
|
--RAISE NOTICE 'prostgles.app_triggers % ', TG_OP;
|
|
348
350
|
|
|
349
|
-
/* 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 */
|
|
350
352
|
IF TG_OP = 'DELETE' THEN
|
|
351
353
|
|
|
352
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 ');
|
|
@@ -370,14 +372,14 @@ BEGIN
|
|
|
370
372
|
|
|
371
373
|
END LOOP;
|
|
372
374
|
|
|
373
|
-
/* If newly added listeners on table then CREATE triggers */
|
|
375
|
+
/* If newly added listeners on table then CREATE table data watch triggers */
|
|
374
376
|
ELSIF TG_OP = 'INSERT' THEN
|
|
375
377
|
|
|
376
378
|
|
|
377
379
|
--RAISE NOTICE 'INSERT trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.triggers) , ' 0 ');
|
|
378
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 ');
|
|
379
381
|
|
|
380
|
-
/* Loop through newly added tables */
|
|
382
|
+
/* Loop through newly added tables to add data watch triggers */
|
|
381
383
|
FOR trw IN
|
|
382
384
|
|
|
383
385
|
SELECT DISTINCT table_name
|
|
@@ -473,6 +475,20 @@ BEGIN
|
|
|
473
475
|
|
|
474
476
|
END IF;
|
|
475
477
|
|
|
478
|
+
/** Notify all apps about trigger table change
|
|
479
|
+
PERFORM pg_notify(
|
|
480
|
+
${(0, PubSubManager_1.asValue)(this.NOTIF_CHANNEL.preffix)},
|
|
481
|
+
LEFT(concat_ws(
|
|
482
|
+
${(0, PubSubManager_1.asValue)(PubSubManager_1.PubSubManager.DELIMITER)},
|
|
483
|
+
${(0, PubSubManager_1.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 TIMESTAMP now()) * 1000) - start_time
|
|
489
|
+
)
|
|
490
|
+
), 7999/4)
|
|
491
|
+
);
|
|
476
492
|
|
|
477
493
|
RETURN NULL;
|
|
478
494
|
END;
|
|
@@ -520,7 +536,6 @@ BEGIN
|
|
|
520
536
|
|
|
521
537
|
FOR app IN
|
|
522
538
|
SELECT * FROM prostgles.apps WHERE watching_schema IS TRUE
|
|
523
|
-
|
|
524
539
|
LOOP
|
|
525
540
|
PERFORM pg_notify(
|
|
526
541
|
${(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
|
|
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":"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
|
|
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
|
});
|
|
@@ -342,13 +342,15 @@ BEGIN
|
|
|
342
342
|
DECLARE op TEXT;
|
|
343
343
|
DECLARE query TEXT;
|
|
344
344
|
DECLARE trw RECORD;
|
|
345
|
+
DECLARE start_time BIGINT;
|
|
345
346
|
|
|
346
347
|
BEGIN
|
|
347
|
-
|
|
348
|
+
|
|
349
|
+
start_time := EXTRACT(EPOCH FROM TIMESTAMP now()) * 1000;
|
|
348
350
|
|
|
349
351
|
--RAISE NOTICE 'prostgles.app_triggers % ', TG_OP;
|
|
350
352
|
|
|
351
|
-
/* If no other listeners on table then DROP triggers */
|
|
353
|
+
/* If no other listeners (app_triggers) left on table then DROP actual table data watch triggers */
|
|
352
354
|
IF TG_OP = 'DELETE' THEN
|
|
353
355
|
|
|
354
356
|
--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 +374,14 @@ BEGIN
|
|
|
372
374
|
|
|
373
375
|
END LOOP;
|
|
374
376
|
|
|
375
|
-
/* If newly added listeners on table then CREATE triggers */
|
|
377
|
+
/* If newly added listeners on table then CREATE table data watch triggers */
|
|
376
378
|
ELSIF TG_OP = 'INSERT' THEN
|
|
377
379
|
|
|
378
380
|
|
|
379
381
|
--RAISE NOTICE 'INSERT trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.triggers) , ' 0 ');
|
|
380
382
|
--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
383
|
|
|
382
|
-
/* Loop through newly added tables */
|
|
384
|
+
/* Loop through newly added tables to add data watch triggers */
|
|
383
385
|
FOR trw IN
|
|
384
386
|
|
|
385
387
|
SELECT DISTINCT table_name
|
|
@@ -475,6 +477,20 @@ BEGIN
|
|
|
475
477
|
|
|
476
478
|
END IF;
|
|
477
479
|
|
|
480
|
+
/** Notify all apps about trigger table change
|
|
481
|
+
PERFORM pg_notify(
|
|
482
|
+
${asValue(this.NOTIF_CHANNEL.preffix)},
|
|
483
|
+
LEFT(concat_ws(
|
|
484
|
+
${asValue(PubSubManager.DELIMITER)},
|
|
485
|
+
${asValue(this.NOTIF_TYPE.data_trigger_change)},
|
|
486
|
+
json_build_object(
|
|
487
|
+
'TG_OP',TG_OP,
|
|
488
|
+
'TG_TAG',TG_TAG,
|
|
489
|
+
'TG_event',TG_event,
|
|
490
|
+
'duration', (EXTRACT(EPOCH FROM TIMESTAMP now()) * 1000) - start_time
|
|
491
|
+
)
|
|
492
|
+
), 7999/4)
|
|
493
|
+
);
|
|
478
494
|
|
|
479
495
|
RETURN NULL;
|
|
480
496
|
END;
|
|
@@ -522,7 +538,6 @@ BEGIN
|
|
|
522
538
|
|
|
523
539
|
FOR app IN
|
|
524
540
|
SELECT * FROM prostgles.apps WHERE watching_schema IS TRUE
|
|
525
|
-
|
|
526
541
|
LOOP
|
|
527
542
|
PERFORM pg_notify(
|
|
528
543
|
${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
|
+
10144
|