prostgles-server 4.2.235 → 4.2.236
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/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
- package/dist/Logging.d.ts +6 -3
- package/dist/Logging.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +12 -3
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +20 -237
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/addTrigger.d.ts +21 -0
- package/dist/PubSubManager/addTrigger.d.ts.map +1 -0
- package/dist/PubSubManager/addTrigger.js +83 -0
- package/dist/PubSubManager/addTrigger.js.map +1 -0
- package/dist/PubSubManager/deleteOrphanedTriggers.d.ts +3 -0
- package/dist/PubSubManager/deleteOrphanedTriggers.d.ts.map +1 -0
- package/dist/PubSubManager/deleteOrphanedTriggers.js +32 -0
- package/dist/PubSubManager/deleteOrphanedTriggers.js.map +1 -0
- package/dist/PubSubManager/initialiseEventTriggers.d.ts +3 -0
- package/dist/PubSubManager/initialiseEventTriggers.d.ts.map +1 -0
- package/dist/PubSubManager/initialiseEventTriggers.js +150 -0
- package/dist/PubSubManager/initialiseEventTriggers.js.map +1 -0
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +5 -26
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/dist/PubSubManager/refreshTriggers.d.ts +3 -0
- package/dist/PubSubManager/refreshTriggers.d.ts.map +1 -0
- package/dist/PubSubManager/refreshTriggers.js +31 -0
- package/dist/PubSubManager/refreshTriggers.js.map +1 -0
- package/lib/DboBuilder/ViewHandler/subscribe.ts +0 -1
- package/lib/Logging.ts +7 -3
- package/lib/PubSubManager/PubSubManager.ts +27 -266
- package/lib/PubSubManager/addTrigger.ts +94 -0
- package/lib/PubSubManager/deleteOrphanedTriggers.ts +31 -0
- package/lib/PubSubManager/initialiseEventTriggers.ts +156 -0
- package/lib/PubSubManager/notifListener.ts +5 -29
- package/lib/PubSubManager/refreshTriggers.ts +38 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EACL,MAAM,EACN,WAAW,
|
|
1
|
+
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EACL,MAAM,EACN,WAAW,EAGZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC;AAC1C,MAAM,MAAM,UAAU,GAClB;IACE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,GACD,MAAM,CAAC;AAEX,eAAO,MAAM,aAAa,eAAgB,UAAU,GAAG,SAAS,KAAG,MAAM,GAAG,SAE3E,CAAC;AACF,eAAO,MAAM,iBAAiB,gBACf,UAAU,GAAG,SAAS,eACtB,UAAU,GAAG,SAAS,wBAGpC,CAAC;AACF,eAAO,MAAM,eAAe,gBACb,UAAU,GAAG,SAAS,KAClC,QAAQ,UAAU,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAS5C,CAAC;AAEF,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAC;AACvC,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,SAAS,EACrB,WAAW,EAAE,SAAS,GAAG,SAAS,EAClC,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAsHjC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"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"}
|
package/dist/Logging.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyObject, ClientSchema, TableHandler } from "prostgles-types";
|
|
2
2
|
import { LocalParams } from "./DboBuilder/DboBuilder";
|
|
3
|
-
import { NotifTypeName } from "./PubSubManager/PubSubManager";
|
|
3
|
+
import { NotifTypeName, PubSubManagerTriggers } from "./PubSubManager/PubSubManager";
|
|
4
4
|
type ClientInfo = {
|
|
5
5
|
socketId: string | undefined;
|
|
6
6
|
sid: string | undefined;
|
|
@@ -48,7 +48,7 @@ export declare namespace EventTypes {
|
|
|
48
48
|
export type SyncOrSub = DebugInfo & {
|
|
49
49
|
type: "syncOrSub";
|
|
50
50
|
connectedSocketIds: string[];
|
|
51
|
-
triggers:
|
|
51
|
+
triggers: PubSubManagerTriggers | undefined;
|
|
52
52
|
} & ((SyncOrSubWithClientInfo & {
|
|
53
53
|
command: "addTrigger";
|
|
54
54
|
state: "ok" | "fail";
|
|
@@ -66,7 +66,7 @@ export declare namespace EventTypes {
|
|
|
66
66
|
command: "notifListener.Finished";
|
|
67
67
|
op_name: string | undefined;
|
|
68
68
|
condition_ids_str: string | undefined;
|
|
69
|
-
tableTriggers: string
|
|
69
|
+
tableTriggers: PubSubManagerTriggers[string] | undefined;
|
|
70
70
|
tableSyncs: string;
|
|
71
71
|
state: "ok" | "error" | "no-triggers" | "invalid_condition_ids";
|
|
72
72
|
}) | {
|
|
@@ -75,6 +75,9 @@ export declare namespace EventTypes {
|
|
|
75
75
|
state: "sub_not_found" | "error" | "Emiting to socket" | "pushed to local client" | "no client to push data to" | "fetch data error";
|
|
76
76
|
} | {
|
|
77
77
|
command: "postgresNotifListenManager.create" | "postgresNotifListenManager.destroy";
|
|
78
|
+
} | {
|
|
79
|
+
command: "refreshTriggers";
|
|
80
|
+
oldTriggers: PubSubManagerTriggers;
|
|
78
81
|
});
|
|
79
82
|
export type Connection = (ClientInfo & {
|
|
80
83
|
type: "connect" | "disconnect";
|
package/dist/Logging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../lib/Logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../lib/Logging.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,14 @@
|
|
|
2
2
|
import { DBHandlerServer, DboBuilder, PRGLIOSocket, TableInfo, TableOrViewInfo } from "../DboBuilder/DboBuilder";
|
|
3
3
|
import { PostgresNotifListenManager } from "../PostgresNotifListenManager";
|
|
4
4
|
import { DB } from "../Prostgles";
|
|
5
|
+
import * as pgPromise from "pg-promise";
|
|
6
|
+
import pg from "pg-promise/typescript/pg-subset";
|
|
5
7
|
import { AnyObject, FieldFilter, SelectParams, SubscribeParams, WAL } from "prostgles-types";
|
|
6
8
|
import { LocalFuncs } from "../DboBuilder/ViewHandler/subscribe";
|
|
7
9
|
import { EventTypes } from "../Logging";
|
|
8
10
|
import { TableRule } from "../PublishParser/PublishParser";
|
|
11
|
+
type PGP = pgPromise.IMain<{}, pg.IClient>;
|
|
12
|
+
export declare const pgp: PGP;
|
|
9
13
|
export declare const asValue: (v: any) => string;
|
|
10
14
|
export declare const DEFAULT_SYNC_BATCH_SIZE = 50;
|
|
11
15
|
export declare const log: (...args: any[]) => void;
|
|
@@ -84,6 +88,10 @@ export type Subscription = Pick<SubscriptionParams, "throttle" | "is_throttling"
|
|
|
84
88
|
is_related: boolean;
|
|
85
89
|
}[];
|
|
86
90
|
};
|
|
91
|
+
export type PubSubManagerTriggers = Record<string, {
|
|
92
|
+
condition: string;
|
|
93
|
+
hash: string;
|
|
94
|
+
}[]>;
|
|
87
95
|
/**
|
|
88
96
|
* Used to facilitate table subscribe and sync
|
|
89
97
|
*/
|
|
@@ -96,7 +104,7 @@ export declare class PubSubManager {
|
|
|
96
104
|
get db(): DB;
|
|
97
105
|
get dbo(): DBHandlerServer;
|
|
98
106
|
dboBuilder: DboBuilder;
|
|
99
|
-
_triggers:
|
|
107
|
+
_triggers: PubSubManagerTriggers | undefined;
|
|
100
108
|
sockets: AnyObject;
|
|
101
109
|
subs: Subscription[];
|
|
102
110
|
syncs: SyncParams[];
|
|
@@ -164,12 +172,13 @@ export declare class PubSubManager {
|
|
|
164
172
|
* Sync triggers with database
|
|
165
173
|
* */
|
|
166
174
|
refreshTriggers: () => Promise<void>;
|
|
175
|
+
deleteOrphanedTriggers: (tableName: string) => void;
|
|
167
176
|
addingTrigger: any;
|
|
168
177
|
addTriggerPool?: Record<string, string[]>;
|
|
169
|
-
addTrigger(params: {
|
|
178
|
+
addTrigger: (params: {
|
|
170
179
|
table_name: string;
|
|
171
180
|
condition: string;
|
|
172
|
-
}, viewOptions: ViewSubscriptionOptions | undefined, socket: PRGLIOSocket | undefined)
|
|
181
|
+
}, viewOptions: ViewSubscriptionOptions | undefined, socket: PRGLIOSocket | undefined) => Promise<{
|
|
173
182
|
data?: undefined;
|
|
174
183
|
hasError: true;
|
|
175
184
|
error: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,24 +4,23 @@
|
|
|
4
4
|
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.pickKeys = exports.omitKeys = exports.parseCondition = exports.NOTIF_CHANNEL = exports.NOTIF_TYPE = exports.PubSubManager = exports.log = exports.DEFAULT_SYNC_BATCH_SIZE = exports.asValue = void 0;
|
|
8
|
-
const crypto = require("crypto");
|
|
9
|
-
const Prostgles_1 = require("../Prostgles");
|
|
7
|
+
exports.pickKeys = exports.omitKeys = exports.parseCondition = exports.NOTIF_CHANNEL = exports.NOTIF_TYPE = exports.PubSubManager = exports.log = exports.DEFAULT_SYNC_BATCH_SIZE = exports.asValue = exports.pgp = void 0;
|
|
10
8
|
const addSync_1 = require("./addSync");
|
|
9
|
+
const addTrigger_1 = require("./addTrigger");
|
|
10
|
+
const initialiseEventTriggers_1 = require("./initialiseEventTriggers");
|
|
11
11
|
const initPubSubManager_1 = require("./initPubSubManager");
|
|
12
|
+
const refreshTriggers_1 = require("./refreshTriggers");
|
|
13
|
+
const deleteOrphanedTriggers_1 = require("./deleteOrphanedTriggers");
|
|
12
14
|
const pgPromise = require("pg-promise");
|
|
13
15
|
const prostgles_types_1 = require("prostgles-types");
|
|
14
16
|
const util_1 = require("prostgles-types/dist/util");
|
|
15
17
|
const subscribe_1 = require("../DboBuilder/ViewHandler/subscribe");
|
|
16
|
-
const Event_Trigger_Tags_1 = require("../Event_Trigger_Tags");
|
|
17
18
|
const SyncReplication_1 = require("../SyncReplication");
|
|
18
19
|
const addSub_1 = require("./addSub");
|
|
19
|
-
const getPubSubManagerInitQuery_1 = require("./getPubSubManagerInitQuery");
|
|
20
20
|
const notifListener_1 = require("./notifListener");
|
|
21
|
-
const orphanTriggerCheck_1 = require("./orphanTriggerCheck");
|
|
22
21
|
const pushSubData_1 = require("./pushSubData");
|
|
23
|
-
|
|
24
|
-
const asValue = (v) => pgp.as.format("$1", [v]);
|
|
22
|
+
exports.pgp = pgPromise({});
|
|
23
|
+
const asValue = (v) => exports.pgp.as.format("$1", [v]);
|
|
25
24
|
exports.asValue = asValue;
|
|
26
25
|
exports.DEFAULT_SYNC_BATCH_SIZE = 50;
|
|
27
26
|
const log = (...args) => {
|
|
@@ -95,83 +94,7 @@ class PubSubManager {
|
|
|
95
94
|
};
|
|
96
95
|
appChecking = false;
|
|
97
96
|
checkedListenerTableCond;
|
|
98
|
-
initialiseEventTriggers =
|
|
99
|
-
const { watchSchema } = this.dboBuilder.prostgles.opts;
|
|
100
|
-
if (watchSchema && !(await (0, Prostgles_1.getIsSuperUser)(this.db))) {
|
|
101
|
-
console.warn("prostgles watchSchema requires superuser db user. Will not watch using event triggers");
|
|
102
|
-
}
|
|
103
|
-
try {
|
|
104
|
-
/** We use these names because they include schema where necessary */
|
|
105
|
-
const allTableNames = Object.keys(this.dbo).filter((k) => this.dbo[k]?.tableOrViewInfo);
|
|
106
|
-
const tableFilterQuery = allTableNames.length ?
|
|
107
|
-
`OR table_name NOT IN (${allTableNames.map((tblName) => (0, exports.asValue)(tblName)).join(", ")})`
|
|
108
|
-
: "";
|
|
109
|
-
const query = pgp.as.format(`
|
|
110
|
-
BEGIN;-- ISOLATION LEVEL SERIALIZABLE;
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* ${PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
|
|
114
|
-
* Drop stale triggers
|
|
115
|
-
* */
|
|
116
|
-
DO
|
|
117
|
-
$do$
|
|
118
|
-
DECLARE trg RECORD;
|
|
119
|
-
q TEXT;
|
|
120
|
-
ev_trg_needed BOOLEAN := FALSE;
|
|
121
|
-
ev_trg_exists BOOLEAN := FALSE;
|
|
122
|
-
is_super_user BOOLEAN := FALSE;
|
|
123
|
-
BEGIN
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Delete disconnected app records, this will delete related triggers
|
|
127
|
-
* */
|
|
128
|
-
${orphanTriggerCheck_1.DELETE_DISCONNECTED_APPS_QUERY};
|
|
129
|
-
|
|
130
|
-
DELETE FROM prostgles.app_triggers
|
|
131
|
-
WHERE app_id NOT IN (SELECT id FROM prostgles.apps)
|
|
132
|
-
${tableFilterQuery}
|
|
133
|
-
;
|
|
134
|
-
|
|
135
|
-
/** IS THIS STILL NEEDED? Delete existing triggers without locking
|
|
136
|
-
*/
|
|
137
|
-
LOCK TABLE prostgles.app_triggers IN ACCESS EXCLUSIVE MODE;
|
|
138
|
-
EXECUTE format(
|
|
139
|
-
$q$
|
|
140
|
-
|
|
141
|
-
CREATE TEMP TABLE %1$I AS --ON COMMIT DROP AS
|
|
142
|
-
SELECT * FROM prostgles.app_triggers;
|
|
143
|
-
|
|
144
|
-
DELETE FROM prostgles.app_triggers;
|
|
145
|
-
|
|
146
|
-
INSERT INTO prostgles.app_triggers
|
|
147
|
-
SELECT * FROM %1$I;
|
|
148
|
-
|
|
149
|
-
DROP TABLE IF EXISTS %1$I;
|
|
150
|
-
$q$,
|
|
151
|
-
${(0, exports.asValue)("triggers_" + this.appId)}
|
|
152
|
-
);
|
|
153
|
-
|
|
154
|
-
${SCHEMA_WATCH_EVENT_TRIGGER_QUERY}
|
|
155
|
-
|
|
156
|
-
END
|
|
157
|
-
$do$;
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
COMMIT;
|
|
161
|
-
`, { EVENT_TRIGGER_TAGS: Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS });
|
|
162
|
-
await this.db
|
|
163
|
-
.tx((t) => t.any(query))
|
|
164
|
-
.catch((e) => {
|
|
165
|
-
console.error("prepareTriggers failed: ", e);
|
|
166
|
-
throw e;
|
|
167
|
-
});
|
|
168
|
-
return true;
|
|
169
|
-
}
|
|
170
|
-
catch (e) {
|
|
171
|
-
console.error("prepareTriggers failed: ", e);
|
|
172
|
-
throw e;
|
|
173
|
-
}
|
|
174
|
-
};
|
|
97
|
+
initialiseEventTriggers = initialiseEventTriggers_1.initialiseEventTriggers.bind(this);
|
|
175
98
|
getClientSubs({ channel_name, localFuncs, socket_id, }) {
|
|
176
99
|
return this.subs.filter((s) => {
|
|
177
100
|
return (s.channel_name === channel_name &&
|
|
@@ -274,162 +197,13 @@ class PubSubManager {
|
|
|
274
197
|
/**
|
|
275
198
|
* Sync triggers with database
|
|
276
199
|
* */
|
|
277
|
-
refreshTriggers =
|
|
278
|
-
|
|
279
|
-
SELECT *
|
|
280
|
-
FROM prostgles.v_triggers
|
|
281
|
-
WHERE app_id = $1
|
|
282
|
-
ORDER BY table_name, condition
|
|
283
|
-
`, [this.dboBuilder.prostgles.appId]);
|
|
284
|
-
this._triggers = {};
|
|
285
|
-
triggers.map((t) => {
|
|
286
|
-
this._triggers ??= {};
|
|
287
|
-
this._triggers[t.table_name] ??= [];
|
|
288
|
-
if (!this._triggers[t.table_name]?.includes(t.condition)) {
|
|
289
|
-
this._triggers[t.table_name]?.push(t.condition);
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
};
|
|
200
|
+
refreshTriggers = refreshTriggers_1.refreshTriggers.bind(this);
|
|
201
|
+
deleteOrphanedTriggers = debounce(deleteOrphanedTriggers_1.deleteOrphanedTriggers.bind(this), 1000);
|
|
293
202
|
addingTrigger;
|
|
294
203
|
addTriggerPool = undefined;
|
|
295
|
-
|
|
296
|
-
const addedTrigger = await (0, util_1.tryCatchV2)(async () => {
|
|
297
|
-
const { table_name } = { ...params };
|
|
298
|
-
let { condition } = { ...params };
|
|
299
|
-
if (!table_name)
|
|
300
|
-
throw "MISSING table_name";
|
|
301
|
-
if (!condition || !condition.trim().length) {
|
|
302
|
-
condition = "TRUE";
|
|
303
|
-
}
|
|
304
|
-
if (this.dbo[table_name]?.tableOrViewInfo?.isHyperTable) {
|
|
305
|
-
throw "Triggers do not work on timescaledb hypertables due to bug:\nhttps://github.com/timescale/timescaledb/issues/1084";
|
|
306
|
-
}
|
|
307
|
-
const trgVals = {
|
|
308
|
-
tbl: (0, exports.asValue)(table_name),
|
|
309
|
-
cond: (0, exports.asValue)(condition),
|
|
310
|
-
condHash: (0, exports.asValue)(crypto.createHash("md5").update(condition).digest("hex")),
|
|
311
|
-
};
|
|
312
|
-
await this.db.tx((t) => t.any(`
|
|
313
|
-
BEGIN WORK;
|
|
314
|
-
/* ${PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
|
|
315
|
-
/* why is this lock level needed? */
|
|
316
|
-
--LOCK TABLE prostgles.app_triggers IN ACCESS EXCLUSIVE MODE;
|
|
317
|
-
|
|
318
|
-
/** app_triggers is not refreshed when tables are dropped */
|
|
319
|
-
DELETE FROM prostgles.app_triggers at
|
|
320
|
-
WHERE app_id = ${(0, exports.asValue)(this.appId)}
|
|
321
|
-
AND NOT EXISTS (
|
|
322
|
-
SELECT 1
|
|
323
|
-
FROM pg_catalog.pg_trigger t
|
|
324
|
-
WHERE tgname like format('prostgles_triggers_%s_', at.table_name) || '%'
|
|
325
|
-
AND tgenabled = 'O'
|
|
326
|
-
);
|
|
327
|
-
|
|
328
|
-
INSERT INTO prostgles.app_triggers (
|
|
329
|
-
table_name,
|
|
330
|
-
condition,
|
|
331
|
-
condition_hash,
|
|
332
|
-
app_id,
|
|
333
|
-
related_view_name,
|
|
334
|
-
related_view_def
|
|
335
|
-
)
|
|
336
|
-
VALUES (
|
|
337
|
-
${trgVals.tbl},
|
|
338
|
-
${trgVals.cond},
|
|
339
|
-
${trgVals.condHash},
|
|
340
|
-
${(0, exports.asValue)(this.appId)},
|
|
341
|
-
${(0, exports.asValue)(viewOptions?.viewName ?? null)},
|
|
342
|
-
${(0, exports.asValue)(viewOptions?.definition ?? null)}
|
|
343
|
-
)
|
|
344
|
-
ON CONFLICT DO NOTHING;
|
|
345
|
-
|
|
346
|
-
COMMIT WORK;
|
|
347
|
-
`));
|
|
348
|
-
/** This might be redundant due to trigger on app_triggers */
|
|
349
|
-
await this.refreshTriggers();
|
|
350
|
-
return trgVals;
|
|
351
|
-
});
|
|
352
|
-
await this._log({
|
|
353
|
-
type: "syncOrSub",
|
|
354
|
-
command: "addTrigger",
|
|
355
|
-
condition: addedTrigger.data?.cond ?? params.condition,
|
|
356
|
-
duration: addedTrigger.duration,
|
|
357
|
-
socketId: socket?.id,
|
|
358
|
-
state: !addedTrigger.data?.tbl ? "fail" : "ok",
|
|
359
|
-
error: addedTrigger.error,
|
|
360
|
-
sid: socket && this.dboBuilder.prostgles.authHandler?.getSIDNoError({ socket }),
|
|
361
|
-
tableName: addedTrigger.data?.tbl ?? params.table_name,
|
|
362
|
-
connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map((s) => s.id),
|
|
363
|
-
localParams: socket && { clientReq: { socket } },
|
|
364
|
-
triggers: this._triggers,
|
|
365
|
-
});
|
|
366
|
-
if (addedTrigger.error)
|
|
367
|
-
throw addedTrigger.error;
|
|
368
|
-
return addedTrigger;
|
|
369
|
-
}
|
|
204
|
+
addTrigger = addTrigger_1.addTrigger.bind(this);
|
|
370
205
|
}
|
|
371
206
|
exports.PubSubManager = PubSubManager;
|
|
372
|
-
const SCHEMA_WATCH_EVENT_TRIGGER_QUERY = `
|
|
373
|
-
|
|
374
|
-
is_super_user := EXISTS (select 1 from pg_user where usename = CURRENT_USER AND usesuper IS TRUE);
|
|
375
|
-
|
|
376
|
-
/* DROP the old buggy schema watch trigger */
|
|
377
|
-
IF EXISTS (
|
|
378
|
-
SELECT 1 FROM pg_catalog.pg_event_trigger
|
|
379
|
-
WHERE evtname = 'prostgles_schema_watch_trigger'
|
|
380
|
-
) AND is_super_user IS TRUE
|
|
381
|
-
THEN
|
|
382
|
-
DROP EVENT TRIGGER IF EXISTS prostgles_schema_watch_trigger;
|
|
383
|
-
END IF;
|
|
384
|
-
|
|
385
|
-
ev_trg_needed := EXISTS (
|
|
386
|
-
SELECT 1 FROM prostgles.apps
|
|
387
|
-
WHERE watching_schema_tag_names IS NOT NULL
|
|
388
|
-
);
|
|
389
|
-
ev_trg_exists := EXISTS (
|
|
390
|
-
SELECT 1 FROM pg_catalog.pg_event_trigger
|
|
391
|
-
WHERE evtname = ${(0, exports.asValue)(getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger)}
|
|
392
|
-
);
|
|
393
|
-
|
|
394
|
-
/* DROP stale event trigger */
|
|
395
|
-
IF
|
|
396
|
-
is_super_user IS TRUE
|
|
397
|
-
AND ev_trg_needed IS FALSE
|
|
398
|
-
AND ev_trg_exists IS TRUE
|
|
399
|
-
THEN
|
|
400
|
-
|
|
401
|
-
SELECT format(
|
|
402
|
-
$$
|
|
403
|
-
DROP EVENT TRIGGER IF EXISTS %I ;
|
|
404
|
-
DROP EVENT TRIGGER IF EXISTS %I ;
|
|
405
|
-
$$
|
|
406
|
-
, ${(0, exports.asValue)(getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger)}
|
|
407
|
-
, ${(0, exports.asValue)(getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger_drop)}
|
|
408
|
-
)
|
|
409
|
-
INTO q;
|
|
410
|
-
EXECUTE q;
|
|
411
|
-
|
|
412
|
-
/* CREATE event trigger */
|
|
413
|
-
ELSIF
|
|
414
|
-
is_super_user IS TRUE
|
|
415
|
-
AND ev_trg_needed IS TRUE
|
|
416
|
-
AND ev_trg_exists IS FALSE
|
|
417
|
-
THEN
|
|
418
|
-
|
|
419
|
-
DROP EVENT TRIGGER IF EXISTS ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger};
|
|
420
|
-
CREATE EVENT TRIGGER ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger}
|
|
421
|
-
ON ddl_command_end
|
|
422
|
-
WHEN TAG IN (\${EVENT_TRIGGER_TAGS:csv})
|
|
423
|
-
EXECUTE PROCEDURE ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_func}();
|
|
424
|
-
|
|
425
|
-
DROP EVENT TRIGGER IF EXISTS ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger_drop};
|
|
426
|
-
CREATE EVENT TRIGGER ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger_drop}
|
|
427
|
-
ON sql_drop
|
|
428
|
-
--WHEN TAG IN (\${EVENT_TRIGGER_TAGS:csv})
|
|
429
|
-
EXECUTE PROCEDURE ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.schema_watch_func}();
|
|
430
|
-
|
|
431
|
-
END IF;
|
|
432
|
-
`;
|
|
433
207
|
exports.NOTIF_TYPE = {
|
|
434
208
|
data: "data_has_changed",
|
|
435
209
|
data_trigger_change: "data_watch_triggers_have_changed",
|
|
@@ -443,6 +217,15 @@ exports.NOTIF_CHANNEL = {
|
|
|
443
217
|
return exports.NOTIF_CHANNEL.preffix + appID;
|
|
444
218
|
},
|
|
445
219
|
};
|
|
220
|
+
function debounce(func, timeout) {
|
|
221
|
+
let timer;
|
|
222
|
+
return (...args) => {
|
|
223
|
+
clearTimeout(timer);
|
|
224
|
+
timer = setTimeout(() => {
|
|
225
|
+
func(...args);
|
|
226
|
+
}, timeout);
|
|
227
|
+
};
|
|
228
|
+
}
|
|
446
229
|
const parseCondition = (condition) => condition && condition.trim().length ? condition : "TRUE";
|
|
447
230
|
exports.parseCondition = parseCondition;
|
|
448
231
|
var prostgles_types_2 = require("prostgles-types");
|
|
@@ -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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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PubSubManager, ViewSubscriptionOptions } from "./PubSubManager";
|
|
2
|
+
import { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
3
|
+
export declare function addTrigger(this: PubSubManager, params: {
|
|
4
|
+
table_name: string;
|
|
5
|
+
condition: string;
|
|
6
|
+
}, viewOptions: ViewSubscriptionOptions | undefined, socket: PRGLIOSocket | undefined): Promise<{
|
|
7
|
+
data?: undefined;
|
|
8
|
+
hasError: true;
|
|
9
|
+
error: unknown;
|
|
10
|
+
duration: number;
|
|
11
|
+
} | {
|
|
12
|
+
data: {
|
|
13
|
+
tbl: string;
|
|
14
|
+
cond: string;
|
|
15
|
+
condHash: string;
|
|
16
|
+
};
|
|
17
|
+
hasError?: false | undefined;
|
|
18
|
+
error?: undefined;
|
|
19
|
+
duration: number;
|
|
20
|
+
}>;
|
|
21
|
+
//# sourceMappingURL=addTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addTrigger.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACjD,WAAW,EAAE,uBAAuB,GAAG,SAAS,EAChD,MAAM,EAAE,YAAY,GAAG,SAAS;;;;;;;;;;;;;;GAoFjC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addTrigger = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const PubSubManager_1 = require("./PubSubManager");
|
|
6
|
+
const crypto = require("crypto");
|
|
7
|
+
async function addTrigger(params, viewOptions, socket) {
|
|
8
|
+
const addedTrigger = await (0, prostgles_types_1.tryCatchV2)(async () => {
|
|
9
|
+
const { table_name } = { ...params };
|
|
10
|
+
let { condition } = { ...params };
|
|
11
|
+
if (!table_name)
|
|
12
|
+
throw "MISSING table_name";
|
|
13
|
+
if (!condition || !condition.trim().length) {
|
|
14
|
+
condition = "TRUE";
|
|
15
|
+
}
|
|
16
|
+
if (this.dbo[table_name]?.tableOrViewInfo?.isHyperTable) {
|
|
17
|
+
throw "Triggers do not work on timescaledb hypertables due to bug:\nhttps://github.com/timescale/timescaledb/issues/1084";
|
|
18
|
+
}
|
|
19
|
+
const trgVals = {
|
|
20
|
+
tbl: (0, PubSubManager_1.asValue)(table_name),
|
|
21
|
+
cond: (0, PubSubManager_1.asValue)(condition),
|
|
22
|
+
condHash: (0, PubSubManager_1.asValue)(crypto.createHash("md5").update(condition).digest("hex")),
|
|
23
|
+
};
|
|
24
|
+
await this.db.tx((t) => t.any(`
|
|
25
|
+
BEGIN WORK;
|
|
26
|
+
/* ${PubSubManager_1.PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
|
|
27
|
+
/* why is this lock level needed? */
|
|
28
|
+
--LOCK TABLE prostgles.app_triggers IN ACCESS EXCLUSIVE MODE;
|
|
29
|
+
|
|
30
|
+
/** app_triggers is not refreshed when tables are dropped */
|
|
31
|
+
DELETE FROM prostgles.app_triggers at
|
|
32
|
+
WHERE app_id = ${(0, PubSubManager_1.asValue)(this.appId)}
|
|
33
|
+
AND NOT EXISTS (
|
|
34
|
+
SELECT 1
|
|
35
|
+
FROM pg_catalog.pg_trigger t
|
|
36
|
+
WHERE tgname like format('prostgles_triggers_%s_', at.table_name) || '%'
|
|
37
|
+
AND tgenabled = 'O'
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
INSERT INTO prostgles.app_triggers (
|
|
41
|
+
table_name,
|
|
42
|
+
condition,
|
|
43
|
+
condition_hash,
|
|
44
|
+
app_id,
|
|
45
|
+
related_view_name,
|
|
46
|
+
related_view_def
|
|
47
|
+
)
|
|
48
|
+
VALUES (
|
|
49
|
+
${trgVals.tbl},
|
|
50
|
+
${trgVals.cond},
|
|
51
|
+
${trgVals.condHash},
|
|
52
|
+
${(0, PubSubManager_1.asValue)(this.appId)},
|
|
53
|
+
${(0, PubSubManager_1.asValue)(viewOptions?.viewName ?? null)},
|
|
54
|
+
${(0, PubSubManager_1.asValue)(viewOptions?.definition ?? null)}
|
|
55
|
+
)
|
|
56
|
+
ON CONFLICT DO NOTHING;
|
|
57
|
+
|
|
58
|
+
COMMIT WORK;
|
|
59
|
+
`));
|
|
60
|
+
/** This might be redundant due to trigger on app_triggers */
|
|
61
|
+
await this.refreshTriggers();
|
|
62
|
+
return trgVals;
|
|
63
|
+
});
|
|
64
|
+
await this._log({
|
|
65
|
+
type: "syncOrSub",
|
|
66
|
+
command: "addTrigger",
|
|
67
|
+
condition: addedTrigger.data?.cond ?? params.condition,
|
|
68
|
+
duration: addedTrigger.duration,
|
|
69
|
+
socketId: socket?.id,
|
|
70
|
+
state: !addedTrigger.data?.tbl ? "fail" : "ok",
|
|
71
|
+
error: addedTrigger.error,
|
|
72
|
+
sid: socket && this.dboBuilder.prostgles.authHandler?.getSIDNoError({ socket }),
|
|
73
|
+
tableName: addedTrigger.data?.tbl ?? params.table_name,
|
|
74
|
+
connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map((s) => s.id),
|
|
75
|
+
localParams: socket && { clientReq: { socket } },
|
|
76
|
+
triggers: this._triggers,
|
|
77
|
+
});
|
|
78
|
+
if (addedTrigger.error)
|
|
79
|
+
throw addedTrigger.error;
|
|
80
|
+
return addedTrigger;
|
|
81
|
+
}
|
|
82
|
+
exports.addTrigger = addTrigger;
|
|
83
|
+
//# sourceMappingURL=addTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteOrphanedTriggers.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBA4BlF"}
|