prostgles-server 4.2.40 → 4.2.42
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/DboBuilder.d.ts +4 -1
- package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/DboBuilder.js +7 -18
- package/dist/DboBuilder/DboBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryStreamer.d.ts +1 -1
- package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
- package/dist/DboBuilder/QueryStreamer.js +2 -1
- package/dist/DboBuilder/QueryStreamer.js.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.d.ts +1 -1
- package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.js +3 -3
- package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
- package/dist/DboBuilder/runSQL.d.ts +0 -7
- package/dist/DboBuilder/runSQL.d.ts.map +1 -1
- package/dist/DboBuilder/runSQL.js +3 -18
- package/dist/DboBuilder/runSQL.js.map +1 -1
- package/dist/PostgresNotifListenManager.d.ts +1 -1
- package/dist/PostgresNotifListenManager.d.ts.map +1 -1
- package/dist/PostgresNotifListenManager.js +1 -1
- package/dist/PostgresNotifListenManager.js.map +1 -1
- package/dist/Prostgles.d.ts +8 -20
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +6 -57
- package/dist/Prostgles.js.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +13 -20
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +74 -80
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/addSub.js +0 -59
- package/dist/PubSubManager/addSub.js.map +1 -1
- package/dist/PubSubManager/getInitQuery.d.ts.map +1 -1
- package/dist/PubSubManager/getInitQuery.js +6 -6
- package/dist/PubSubManager/getInitQuery.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +13 -35
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +5 -5
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts +2 -0
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts.map +1 -0
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js +53 -0
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js.map +1 -0
- package/dist/SchemaWatch/SchemaWatch.d.ts +19 -0
- package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -0
- package/dist/SchemaWatch/SchemaWatch.js +71 -0
- package/dist/SchemaWatch/SchemaWatch.js.map +1 -0
- package/dist/SchemaWatch/getValidatedWatchSchemaType.d.ts +14 -0
- package/dist/SchemaWatch/getValidatedWatchSchemaType.d.ts.map +1 -0
- package/dist/SchemaWatch/getValidatedWatchSchemaType.js +38 -0
- package/dist/SchemaWatch/getValidatedWatchSchemaType.js.map +1 -0
- package/dist/SchemaWatch/getWatchSchemaTagList.d.ts +3 -0
- package/dist/SchemaWatch/getWatchSchemaTagList.d.ts.map +1 -0
- package/dist/SchemaWatch/getWatchSchemaTagList.js +29 -0
- package/dist/SchemaWatch/getWatchSchemaTagList.js.map +1 -0
- package/dist/SchemaWatch.d.ts +26 -9
- package/dist/SchemaWatch.d.ts.map +1 -1
- package/dist/SchemaWatch.js +116 -25
- package/dist/SchemaWatch.js.map +1 -1
- package/dist/initProstgles.d.ts.map +1 -1
- package/dist/initProstgles.js +3 -2
- package/dist/initProstgles.js.map +1 -1
- package/lib/DboBuilder/DboBuilder.ts +12 -21
- package/lib/DboBuilder/QueryStreamer.ts +2 -2
- package/lib/DboBuilder/dboBuilderUtils.ts +1 -1
- package/lib/DboBuilder/runSQL.ts +1 -18
- package/lib/PostgresNotifListenManager.ts +1 -1
- package/lib/Prostgles.ts +8 -69
- package/lib/PubSubManager/PubSubManager.ts +75 -83
- package/lib/PubSubManager/addSub.ts +0 -63
- package/lib/PubSubManager/getInitQuery.ts +7 -7
- package/lib/PubSubManager/initPubSubManager.ts +16 -41
- package/lib/PubSubManager/notifListener.ts +6 -6
- package/lib/PublishParser/PublishParser.ts +1 -1
- package/lib/SchemaWatch/SchemaWatch.ts +79 -0
- package/lib/SchemaWatch/getValidatedWatchSchemaType.ts +45 -0
- package/lib/SchemaWatch/getWatchSchemaTagList.ts +27 -0
- package/lib/initProstgles.ts +6 -4
- package/package.json +1 -1
- package/tests/client/hooks.spec.ts +1 -42
- package/tests/client/package-lock.json +4 -4
- package/tests/client/package.json +1 -1
- package/tests/client/renderReactHook.ts +68 -6
- package/tests/client/useProstgles.spec.ts +71 -6
- package/tests/server/DBoGenerated.d.ts +2 -0
- package/tests/server/package-lock.json +1 -1
- package/lib/SchemaWatch.ts +0 -40
- package/lib/SchemaWatchManager.ts +0 -72
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.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,
|
|
1
|
+
{"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGpF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,YAAY,SAAwB,aAAa,KAAG,QAAQ,MAAM,CAwjB9E,CAAA"}
|
|
@@ -287,11 +287,11 @@ BEGIN
|
|
|
287
287
|
LOOP
|
|
288
288
|
|
|
289
289
|
PERFORM pg_notify(
|
|
290
|
-
${(0, PubSubManager_1.asValue)(
|
|
290
|
+
${(0, PubSubManager_1.asValue)(PubSubManager_1.NOTIF_CHANNEL.preffix)} || v_trigger.app_id ,
|
|
291
291
|
LEFT(concat_ws(
|
|
292
292
|
${(0, PubSubManager_1.asValue)(PubSubManager_1.PubSubManager.DELIMITER)},
|
|
293
293
|
|
|
294
|
-
${(0, PubSubManager_1.asValue)(
|
|
294
|
+
${(0, PubSubManager_1.asValue)(PubSubManager_1.NOTIF_TYPE.data)},
|
|
295
295
|
COALESCE(TG_TABLE_NAME, 'MISSING'),
|
|
296
296
|
COALESCE(TG_OP, 'MISSING'),
|
|
297
297
|
CASE WHEN has_errors
|
|
@@ -485,10 +485,10 @@ BEGIN
|
|
|
485
485
|
SELECT * FROM prostgles.apps
|
|
486
486
|
LOOP
|
|
487
487
|
PERFORM pg_notify(
|
|
488
|
-
${(0, PubSubManager_1.asValue)(
|
|
488
|
+
${(0, PubSubManager_1.asValue)(PubSubManager_1.NOTIF_CHANNEL.preffix)} || app.id,
|
|
489
489
|
LEFT(concat_ws(
|
|
490
490
|
${(0, PubSubManager_1.asValue)(PubSubManager_1.PubSubManager.DELIMITER)},
|
|
491
|
-
${(0, PubSubManager_1.asValue)(
|
|
491
|
+
${(0, PubSubManager_1.asValue)(PubSubManager_1.NOTIF_TYPE.data_trigger_change)},
|
|
492
492
|
json_build_object(
|
|
493
493
|
'TG_OP', TG_OP,
|
|
494
494
|
'duration', (EXTRACT(EPOCH FROM now()) * 1000) - start_time,
|
|
@@ -549,10 +549,10 @@ BEGIN
|
|
|
549
549
|
WHERE tg_tag = ANY(watching_schema_tag_names)
|
|
550
550
|
LOOP
|
|
551
551
|
PERFORM pg_notify(
|
|
552
|
-
${(0, PubSubManager_1.asValue)(
|
|
552
|
+
${(0, PubSubManager_1.asValue)(PubSubManager_1.NOTIF_CHANNEL.preffix)} || app.id,
|
|
553
553
|
LEFT(concat_ws(
|
|
554
554
|
${(0, PubSubManager_1.asValue)(PubSubManager_1.PubSubManager.DELIMITER)},
|
|
555
|
-
${(0, PubSubManager_1.asValue)(
|
|
555
|
+
${(0, PubSubManager_1.asValue)(PubSubManager_1.NOTIF_TYPE.schema)}, tg_tag , TG_event, curr_query
|
|
556
556
|
), 7999/4)
|
|
557
557
|
);
|
|
558
558
|
END LOOP;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAI7E,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA2J/F"}
|
|
@@ -1,47 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.initPubSubManager = void 0;
|
|
4
|
-
const prostgles_types_1 = require("prostgles-types");
|
|
5
4
|
const PostgresNotifListenManager_1 = require("../PostgresNotifListenManager");
|
|
5
|
+
const getWatchSchemaTagList_1 = require("../SchemaWatch/getWatchSchemaTagList");
|
|
6
6
|
const PubSubManager_1 = require("./PubSubManager");
|
|
7
7
|
const REALTIME_TRIGGER_CHECK_QUERY = "prostgles-server internal query used to manage realtime triggers";
|
|
8
8
|
const getInitQuery_1 = require("./getInitQuery");
|
|
9
|
-
const Event_Trigger_Tags_1 = require("../Event_Trigger_Tags");
|
|
10
|
-
const getWatchSchemaTagList = (watchSchema) => {
|
|
11
|
-
if (!watchSchema)
|
|
12
|
-
return undefined;
|
|
13
|
-
if (watchSchema === "*") {
|
|
14
|
-
return Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS.slice(0);
|
|
15
|
-
}
|
|
16
|
-
if ((0, prostgles_types_1.isObject)(watchSchema) && typeof watchSchema !== "function") {
|
|
17
|
-
const watchSchemaKeys = (0, prostgles_types_1.getKeys)(watchSchema);
|
|
18
|
-
const isInclusive = Object.values(watchSchema).every(v => v);
|
|
19
|
-
return Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS
|
|
20
|
-
.slice(0)
|
|
21
|
-
.filter(v => {
|
|
22
|
-
const matches = watchSchemaKeys.includes(v);
|
|
23
|
-
return isInclusive ? matches : !matches;
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
const coreTags = [
|
|
27
|
-
'COMMENT', 'CREATE TABLE', 'ALTER TABLE', 'DROP TABLE', 'CREATE VIEW',
|
|
28
|
-
'DROP VIEW', 'ALTER VIEW', 'CREATE TABLE AS', 'SELECT INTO', 'CREATE POLICY'
|
|
29
|
-
];
|
|
30
|
-
return coreTags;
|
|
31
|
-
};
|
|
32
9
|
async function initPubSubManager() {
|
|
33
|
-
if (!this.
|
|
10
|
+
if (!this.getIsDestroyed())
|
|
34
11
|
return undefined;
|
|
35
12
|
let tries = 5;
|
|
36
13
|
try {
|
|
37
14
|
const initQuery = await getInitQuery_1.getInitQuery.bind(this)();
|
|
38
15
|
await this.db.any(initQuery);
|
|
39
|
-
if (!this.
|
|
16
|
+
if (!this.getIsDestroyed())
|
|
40
17
|
return;
|
|
41
18
|
/* Prepare App id */
|
|
42
19
|
if (!this.appID) {
|
|
43
20
|
const check_frequency_ms = this.appCheckFrequencyMS;
|
|
44
|
-
const watching_schema_tag_names = this.
|
|
21
|
+
const watching_schema_tag_names = this.dboBuilder.prostgles.schemaWatch?.type.watchType !== "NONE" ? (0, getWatchSchemaTagList_1.getWatchSchemaTagList)(this.dboBuilder.prostgles.opts.watchSchema) : null;
|
|
45
22
|
const raw = await this.db.one("INSERT INTO prostgles.apps (check_frequency_ms, watching_schema_tag_names, application_name) \
|
|
46
23
|
VALUES($1, $2, current_setting('application_name')) \
|
|
47
24
|
RETURNING *; ", [
|
|
@@ -55,6 +32,13 @@ async function initPubSubManager() {
|
|
|
55
32
|
try { // drop owned by api
|
|
56
33
|
this.appChecking = true;
|
|
57
34
|
const listeners = this.getActiveListeners();
|
|
35
|
+
const updateCurrentlyUsedTriggersQuery = !listeners.length ? "" : `
|
|
36
|
+
UPDATE prostgles.app_triggers
|
|
37
|
+
SET last_used = CASE WHEN (table_name, condition) IN (
|
|
38
|
+
${listeners.map(l => ` ( ${(0, PubSubManager_1.asValue)(l.table_name)}, ${(0, PubSubManager_1.asValue)(l.condition)} ) `).join(", ")}
|
|
39
|
+
) THEN NOW() ELSE last_used END
|
|
40
|
+
WHERE app_id = ${(0, PubSubManager_1.asValue)(this.appID)};
|
|
41
|
+
`;
|
|
58
42
|
const checkedListenerTableCond = listeners.map(l => `${l.table_name}.${l.condition}`);
|
|
59
43
|
let dataTriggerCheckQuery = "";
|
|
60
44
|
if (this.checkedListenerTableCond?.sort().join() !== checkedListenerTableCond.sort().join()) {
|
|
@@ -69,13 +53,7 @@ async function initPubSubManager() {
|
|
|
69
53
|
--LOCK TABLE prostgles.app_triggers IN ACCESS EXCLUSIVE MODE;
|
|
70
54
|
|
|
71
55
|
/* UPDATE currently used triggers */
|
|
72
|
-
${
|
|
73
|
-
UPDATE prostgles.app_triggers
|
|
74
|
-
SET last_used = CASE WHEN (table_name, condition) IN (
|
|
75
|
-
${listeners.map(l => ` ( ${(0, PubSubManager_1.asValue)(l.table_name)}, ${(0, PubSubManager_1.asValue)(l.condition)} ) `).join(", ")}
|
|
76
|
-
) THEN NOW() ELSE last_used END
|
|
77
|
-
WHERE app_id = ${(0, PubSubManager_1.asValue)(this.appID)};
|
|
78
|
-
`}
|
|
56
|
+
${updateCurrentlyUsedTriggersQuery}
|
|
79
57
|
|
|
80
58
|
/* DELETE stale triggers for current app. Other triggers will be deleted on app startup */
|
|
81
59
|
DELETE FROM prostgles.app_triggers
|
|
@@ -156,7 +134,7 @@ async function initPubSubManager() {
|
|
|
156
134
|
}, 0.8 * this.appCheckFrequencyMS);
|
|
157
135
|
}
|
|
158
136
|
}
|
|
159
|
-
this.postgresNotifListenManager = new PostgresNotifListenManager_1.PostgresNotifListenManager(this.db, this.notifListener,
|
|
137
|
+
this.postgresNotifListenManager = new PostgresNotifListenManager_1.PostgresNotifListenManager(this.db, this.notifListener, PubSubManager_1.NOTIF_CHANNEL.getFull(this.appID));
|
|
160
138
|
await this.initialiseEventTriggers();
|
|
161
139
|
return this;
|
|
162
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,gFAA6E;AAC7E,mDAA6E;AAC7E,MAAM,4BAA4B,GAAG,kEAA2E,CAAC;AACjH,iDAA8C;AAEvC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IAE7C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACjD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAAE,OAAO;QAEnC,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACpD,MAAM,yBAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,6CAAqB,EAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9K,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC3B;;sBAEc,EACZ;gBACA,kBAAkB;gBAClB,yBAAyB;aAC1B,CACF,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YAEpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEnB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;oBACrC,IAAI,qBAAqB,GAAG,EAAE,CAAC;oBAC/B,IAAI,CAAC,CAAG,qBAAqB;wBAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBAExB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5C,MAAM,gCAAgC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;kBAG3D,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;;+BAE3E,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;aACrC,CAAC;wBAEF,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,CAAC;4BAC1F,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;4BACzD,qBAAqB,GAAG;;;;;;;;;;sBAUhB,gCAAgC;;;;qCAIjB,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;kDACN,IAAA,uBAAO,EAAC,IAAI,CAAC,mBAAmB,CAAC;;;;eAIpE,CAAA;wBACH,CAAC;wBAED,MAAM,eAAe,GAAG,sFAAsF,CAAA;wBAC9G,qBAAqB,GAAG;;;;oBAIhB,eAAe;oBACf,4BAA4B;oBAC5B,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;iCAenC,IAAA,uBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;;sBAE9B,qBAAqB;;;sBAGrB,CAAA;wBAEV,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAC,CAAC,CAAC,CAAC,CAAC;wBACjF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;4BAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;kBAER,eAAe;kBACf,4BAA4B;kBAC5B,6BAAa,CAAC,kCAAkC;;;;;;;;;;aAUrD,EAAE,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC,CAAA;wBAC3C,CAAC,EAAE,kBAAkB,CAAC,CAAC;wBACvB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;wBACzC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAEtB,KAAK,GAAG,CAAC,CAAC;wBACV,IAAA,mBAAG,EAAC,oBAAoB,CAAC,CAAC;oBAC5B,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,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,CAAC,CAAC,+CAA+C;4BACpF,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC/B,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;oBACjE,CAAC;oBAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC3B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,6BAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjI,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,OAAO,IAAI,CAAC;IAEd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AA3JD,8CA2JC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3E,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAyIjF"}
|
|
@@ -12,21 +12,21 @@ async function notifListener(data) {
|
|
|
12
12
|
const dataArr = str.split(PubSubManager_1.PubSubManager.DELIMITER);
|
|
13
13
|
const notifType = dataArr[0];
|
|
14
14
|
(0, PubSubManager_1.log)(str);
|
|
15
|
-
if (notifType ===
|
|
16
|
-
if (this.onSchemaChange) {
|
|
15
|
+
if (notifType === PubSubManager_1.NOTIF_TYPE.schema) {
|
|
16
|
+
if (this.dboBuilder.prostgles.schemaWatch?.onSchemaChange) {
|
|
17
17
|
const [_, command, _event_type, query] = dataArr;
|
|
18
18
|
await this.dboBuilder.prostgles.opts.onLog?.({ type: "debug", command: "schemaChangeNotif", duration: 0, data: { command, query } });
|
|
19
19
|
if (query && command) {
|
|
20
|
-
this.onSchemaChange({ command, query });
|
|
20
|
+
this.dboBuilder.prostgles.schemaWatch.onSchemaChange({ command, query });
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
else if (notifType ===
|
|
25
|
+
else if (notifType === PubSubManager_1.NOTIF_TYPE.data_trigger_change) {
|
|
26
26
|
await this.refreshTriggers();
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
|
-
if (notifType !==
|
|
29
|
+
if (notifType !== PubSubManager_1.NOTIF_TYPE.data) {
|
|
30
30
|
console.error("Unexpected notif type: ", notifType);
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":";;;AAAA,mDAA2E;AAE3E,mDAAmD;AAC5C,KAAK,UAAU,aAAa,CAAsB,IAAyB;IAChF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACvC,OAAO;IACT,CAAC;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,0BAAU,CAAC,MAAM,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;YAC1D,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,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAErI,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;QAED,OAAO;IACT,CAAC;SAAM,IAAG,SAAS,KAAK,0BAAU,CAAC,mBAAmB,EAAE,CAAC;QAEvD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,SAAS,KAAK,0BAAU,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,mCAAmC,CAAA;IAC3C,CAAC;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,CAAC;QACf,MAAM,kBAAkB,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,KAAK,GAA6D,IAAI,CAAC;IAE3E,4KAA4K;IAC5K,+DAA+D;IAG/D,IAAG,CAAC,aAAa,EAAE,MAAM,EAAC,CAAC;QACzB,KAAK,GAAG,aAAa,CAAC;QAEtB,mBAAmB;IACrB,CAAC;SAAM,IACL,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC,EACtC,CAAC;QACD,KAAK,GAAG,OAAO,CAAC;QAChB,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,wBAAwB,iBAAiB,EAAE,CAAC,CAAA;QACjE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACX,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,gDAAgD,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC;QAEH,gBAAgB;IAClB,CAAC;SAAM,IACL,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAChD,CAAC;QAED,KAAK,GAAG,IAAI,CAAC;QACb,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7E,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEnD,IAAA,mBAAG,EAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;YAEnF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBACxB,GAAG,CAAC,QAAQ;gBACZ,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CACjE,CACF,CAAC;YACF,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/B,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;gBAC3C,IAAI,CAAC,YAAY,EAAE,SAAS,IAAI,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAC5E,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEhC,4DAA4D;oBAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBAE9B,IAAA,mBAAG,EAAC,gBAAgB,CAAC,CAAA;oBACrB,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAClC,IAAA,mBAAG,EAAC,qCAAqC,CAAC,CAAA;wBAC1C,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;wBACzB,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,2BAA2B;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,uBAAuB,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,eAAe;QACxB,KAAK;QACL,SAAS,EAAE,UAAU;QACrB,OAAO;QACP,iBAAiB;QACjB,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC;QAC3C,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,wBAAQ,EAAC,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACjI,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC,CAAC;AAEL,CAAC;AAzID,sCAyIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SCHEMA_WATCH_QUERIES.d.ts","sourceRoot":"","sources":["../../lib/SchemaWatch/SCHEMA_WATCH_QUERIES.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gCAAgC,QA8C5C,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SCHEMA_WATCH_EVENT_TRIGGER_QUERY = void 0;
|
|
4
|
+
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
5
|
+
const getInitQuery_1 = require("../PubSubManager/getInitQuery");
|
|
6
|
+
exports.SCHEMA_WATCH_EVENT_TRIGGER_QUERY = `
|
|
7
|
+
/* DROP the old buggy schema watch trigger */
|
|
8
|
+
IF EXISTS (
|
|
9
|
+
SELECT 1 FROM pg_catalog.pg_event_trigger
|
|
10
|
+
WHERE evtname = 'prostgles_schema_watch_trigger'
|
|
11
|
+
) AND is_super_user IS TRUE
|
|
12
|
+
THEN
|
|
13
|
+
DROP EVENT TRIGGER IF EXISTS prostgles_schema_watch_trigger;
|
|
14
|
+
END IF;
|
|
15
|
+
|
|
16
|
+
ev_trg_needed := EXISTS (
|
|
17
|
+
SELECT 1 FROM prostgles.apps
|
|
18
|
+
WHERE watching_schema_tag_names IS NOT NULL
|
|
19
|
+
);
|
|
20
|
+
ev_trg_exists := EXISTS (
|
|
21
|
+
SELECT 1 FROM pg_catalog.pg_event_trigger
|
|
22
|
+
WHERE evtname = ${(0, PubSubManager_1.asValue)(getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger)}
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
/* DROP stale event trigger */
|
|
26
|
+
IF
|
|
27
|
+
is_super_user IS TRUE
|
|
28
|
+
AND ev_trg_needed IS FALSE
|
|
29
|
+
AND ev_trg_exists IS TRUE
|
|
30
|
+
THEN
|
|
31
|
+
|
|
32
|
+
SELECT format(
|
|
33
|
+
$$ DROP EVENT TRIGGER IF EXISTS %I ; $$
|
|
34
|
+
, ${(0, PubSubManager_1.asValue)(getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger)}
|
|
35
|
+
)
|
|
36
|
+
INTO q;
|
|
37
|
+
EXECUTE q;
|
|
38
|
+
|
|
39
|
+
/* CREATE event trigger */
|
|
40
|
+
ELSIF
|
|
41
|
+
is_super_user IS TRUE
|
|
42
|
+
AND ev_trg_needed IS TRUE
|
|
43
|
+
AND ev_trg_exists IS FALSE
|
|
44
|
+
THEN
|
|
45
|
+
|
|
46
|
+
DROP EVENT TRIGGER IF EXISTS ${getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger};
|
|
47
|
+
CREATE EVENT TRIGGER ${getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger} ON ddl_command_end
|
|
48
|
+
WHEN TAG IN (\${EVENT_TRIGGER_TAGS:csv})
|
|
49
|
+
EXECUTE PROCEDURE ${getInitQuery_1.DB_OBJ_NAMES.schema_watch_func}();
|
|
50
|
+
|
|
51
|
+
END IF;
|
|
52
|
+
`;
|
|
53
|
+
//# sourceMappingURL=SCHEMA_WATCH_QUERIES.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SCHEMA_WATCH_QUERIES.js","sourceRoot":"","sources":["../../lib/SchemaWatch/SCHEMA_WATCH_QUERIES.ts"],"names":[],"mappings":";;;AAAA,kEAAyD;AACzD,gEAA6D;AAEhD,QAAA,gCAAgC,GAAG;;;;;;;;;;;;;;;;sBAgB1B,IAAA,uBAAO,EAAC,2BAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;YAYpD,IAAA,uBAAO,EAAC,2BAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;qCAYjB,2BAAY,CAAC,oBAAoB;6BACzC,2BAAY,CAAC,oBAAoB;;0BAEpC,2BAAY,CAAC,iBAAiB;;;CAGvD,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DboBuilder } from "../DboBuilder/DboBuilder";
|
|
2
|
+
import { OnSchemaChangeCallback } from "../Prostgles";
|
|
3
|
+
import { ValidatedWatchSchemaType } from "./getValidatedWatchSchemaType";
|
|
4
|
+
export type VoidFunction = () => void;
|
|
5
|
+
export declare class SchemaWatch {
|
|
6
|
+
dboBuilder: DboBuilder;
|
|
7
|
+
type: ValidatedWatchSchemaType;
|
|
8
|
+
private constructor();
|
|
9
|
+
static create: (dboBuilder: DboBuilder) => Promise<SchemaWatch>;
|
|
10
|
+
onSchemaChange: OnSchemaChangeCallback | undefined;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Fallback for watchSchema in case of not a superuser (cannot add db event listener)
|
|
14
|
+
*/
|
|
15
|
+
export declare const watchSchemaFallback: (this: DboBuilder, { queryWithoutRLS, command }: {
|
|
16
|
+
queryWithoutRLS: string;
|
|
17
|
+
command: string;
|
|
18
|
+
}) => Promise<void>;
|
|
19
|
+
//# sourceMappingURL=SchemaWatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaWatch.d.ts","sourceRoot":"","sources":["../../lib/SchemaWatch/SchemaWatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,wBAAwB,EAA+B,MAAM,+BAA+B,CAAC;AAEtG,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAEtC,qBAAa,WAAW;IAEtB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO;IAQP,MAAM,CAAC,MAAM,eAAsB,UAAU,0BAM5C;IAED,cAAc,EAAE,sBAAsB,GAAG,SAAS,CA+BhD;CACH;AAGD;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAAwB,UAAU;qBAAmD,MAAM;aAAW,MAAM;mBAY3I,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.watchSchemaFallback = exports.SchemaWatch = void 0;
|
|
4
|
+
const Event_Trigger_Tags_1 = require("../Event_Trigger_Tags");
|
|
5
|
+
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
6
|
+
const getValidatedWatchSchemaType_1 = require("./getValidatedWatchSchemaType");
|
|
7
|
+
class SchemaWatch {
|
|
8
|
+
dboBuilder;
|
|
9
|
+
type;
|
|
10
|
+
constructor(dboBuilder) {
|
|
11
|
+
this.dboBuilder = dboBuilder;
|
|
12
|
+
this.type = (0, getValidatedWatchSchemaType_1.getValidatedWatchSchemaType)(dboBuilder);
|
|
13
|
+
if (this.type.watchType === "NONE") {
|
|
14
|
+
this.onSchemaChange = undefined;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static create = async (dboBuilder) => {
|
|
18
|
+
const instance = new SchemaWatch(dboBuilder);
|
|
19
|
+
if (instance.type.watchType === "DDL_trigger") {
|
|
20
|
+
await dboBuilder.getPubSubManager();
|
|
21
|
+
}
|
|
22
|
+
return instance;
|
|
23
|
+
};
|
|
24
|
+
onSchemaChange = async (event) => {
|
|
25
|
+
if (this.type.watchType === "NONE")
|
|
26
|
+
return;
|
|
27
|
+
const { watchSchema, onReady, tsGeneratedTypesDir } = this.dboBuilder.prostgles.opts;
|
|
28
|
+
if (watchSchema && this.dboBuilder.prostgles.loaded) {
|
|
29
|
+
(0, PubSubManager_1.log)("Schema changed");
|
|
30
|
+
const { query, command } = event;
|
|
31
|
+
if (typeof query === "string" && query.includes(PubSubManager_1.PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID)) {
|
|
32
|
+
(0, PubSubManager_1.log)("Schema change event excluded from triggers due to EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (typeof watchSchema === "function") {
|
|
36
|
+
/* Only call the provided func */
|
|
37
|
+
watchSchema(event);
|
|
38
|
+
}
|
|
39
|
+
else if (watchSchema === "hotReloadMode") {
|
|
40
|
+
if (tsGeneratedTypesDir) {
|
|
41
|
+
/* Hot reload integration. Will only touch tsGeneratedTypesDir */
|
|
42
|
+
console.log("watchSchema: Re-writing TS schema");
|
|
43
|
+
await this.dboBuilder.prostgles.refreshDBO();
|
|
44
|
+
this.dboBuilder.prostgles.writeDBSchema(true);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (watchSchema) {
|
|
48
|
+
/* Full re-init. Sockets must reconnect */
|
|
49
|
+
console.log("watchSchema: Full re-initialisation", { query });
|
|
50
|
+
this.dboBuilder.prostgles.init(onReady, { type: "schema change", query, command });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
exports.SchemaWatch = SchemaWatch;
|
|
56
|
+
/**
|
|
57
|
+
* Fallback for watchSchema in case of not a superuser (cannot add db event listener)
|
|
58
|
+
*/
|
|
59
|
+
const watchSchemaFallback = async function ({ queryWithoutRLS, command }) {
|
|
60
|
+
const SCHEMA_ALTERING_COMMANDS = Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS; // ["CREATE", "ALTER", "DROP", "REVOKE", "GRANT"];
|
|
61
|
+
const isNotPickedUpByDDLTrigger = ["REVOKE", "GRANT"].includes(command);
|
|
62
|
+
const { watchSchema, watchSchemaType } = this.prostgles?.opts || {};
|
|
63
|
+
if (watchSchema &&
|
|
64
|
+
(!this.prostgles.isSuperUser || watchSchemaType === "prostgles_queries" || isNotPickedUpByDDLTrigger)) {
|
|
65
|
+
if (SCHEMA_ALTERING_COMMANDS.includes(command)) {
|
|
66
|
+
this.prostgles.schemaWatch?.onSchemaChange?.({ command, query: queryWithoutRLS });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
exports.watchSchemaFallback = watchSchemaFallback;
|
|
71
|
+
//# sourceMappingURL=SchemaWatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaWatch.js","sourceRoot":"","sources":["../../lib/SchemaWatch/SchemaWatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DboBuilder } from "../DboBuilder/DboBuilder";
|
|
2
|
+
import { OnSchemaChangeCallback } from "../Prostgles";
|
|
3
|
+
export type ValidatedWatchSchemaType = {
|
|
4
|
+
watchType: "NONE";
|
|
5
|
+
} | {
|
|
6
|
+
watchType: "DDL_trigger";
|
|
7
|
+
onChange?: OnSchemaChangeCallback;
|
|
8
|
+
} | {
|
|
9
|
+
watchType: "prostgles_queries";
|
|
10
|
+
onChange?: OnSchemaChangeCallback;
|
|
11
|
+
isFallbackFromDDL: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const getValidatedWatchSchemaType: (dboBuilder: DboBuilder) => ValidatedWatchSchemaType;
|
|
14
|
+
//# sourceMappingURL=getValidatedWatchSchemaType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getValidatedWatchSchemaType.d.ts","sourceRoot":"","sources":["../../lib/SchemaWatch/getValidatedWatchSchemaType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,wBAAwB,GAClC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CAAE,GAChE;IAAE,SAAS,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAC;CAAE,CAAA;AAEpG,eAAO,MAAM,2BAA2B,eAAgB,UAAU,KAAG,wBAoCpE,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getValidatedWatchSchemaType = void 0;
|
|
4
|
+
const getValidatedWatchSchemaType = (dboBuilder) => {
|
|
5
|
+
const { watchSchema, watchSchemaType, tsGeneratedTypesDir } = dboBuilder.prostgles.opts;
|
|
6
|
+
if (!watchSchema)
|
|
7
|
+
return { watchType: "NONE" };
|
|
8
|
+
if (watchSchema === "hotReloadMode" && !tsGeneratedTypesDir) {
|
|
9
|
+
throw "tsGeneratedTypesDir option is needed for watchSchema: hotReloadMode to work ";
|
|
10
|
+
}
|
|
11
|
+
const onChange = typeof watchSchema === "function" ? watchSchema : undefined;
|
|
12
|
+
if (watchSchemaType === "DDL_trigger" || !watchSchemaType) {
|
|
13
|
+
if (!dboBuilder.prostgles.isSuperUser) {
|
|
14
|
+
if (watchSchemaType === "DDL_trigger") {
|
|
15
|
+
console.error(`watchSchemaType "DDL_trigger" cannot be used because db user is not a superuser. Will fallback to watchSchemaType "prostgles_queries" `);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
console.warn(`watchSchema fallback to watchSchemaType "prostgles_queries" due to non-superuser`);
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
watchType: "prostgles_queries",
|
|
22
|
+
onChange,
|
|
23
|
+
isFallbackFromDDL: true
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
watchType: "DDL_trigger",
|
|
28
|
+
onChange
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
watchType: watchSchemaType,
|
|
33
|
+
isFallbackFromDDL: false,
|
|
34
|
+
onChange
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.getValidatedWatchSchemaType = getValidatedWatchSchemaType;
|
|
38
|
+
//# sourceMappingURL=getValidatedWatchSchemaType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getValidatedWatchSchemaType.js","sourceRoot":"","sources":["../../lib/SchemaWatch/getValidatedWatchSchemaType.ts"],"names":[],"mappings":";;;AAQO,MAAM,2BAA2B,GAAG,CAAC,UAAsB,EAA4B,EAAE;IAC9F,MAAM,EAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAC,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;IACtF,IAAG,CAAC,WAAW;QAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAE9C,IAAI,WAAW,KAAK,eAAe,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5D,MAAM,8EAA8E,CAAC;IACvF,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,UAAU,CAAA,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,IAAG,eAAe,KAAK,aAAa,IAAI,CAAC,eAAe,EAAC,CAAC;QACxD,IAAG,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAC,CAAC;YAEpC,IAAG,eAAe,KAAK,aAAa,EAAC,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,wIAAwI,CAAC,CAAA;YACzJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;YAClG,CAAC;YACD,OAAO;gBACL,SAAS,EAAE,mBAAmB;gBAC9B,QAAQ;gBACR,iBAAiB,EAAE,IAAI;aACxB,CAAA;QACH,CAAC;QAED,OAAO;YACL,SAAS,EAAE,aAAa;YACxB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,eAAe;QAC1B,iBAAiB,EAAE,KAAK;QACxB,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AApCY,QAAA,2BAA2B,+BAoCvC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ProstglesInitOptions } from "../Prostgles";
|
|
2
|
+
export declare const getWatchSchemaTagList: (watchSchema: ProstglesInitOptions["watchSchema"]) => ("ALTER AGGREGATE" | "ALTER COLLATION" | "ALTER CONVERSION" | "ALTER DOMAIN" | "ALTER DEFAULT PRIVILEGES" | "ALTER EXTENSION" | "ALTER FOREIGN DATA WRAPPER" | "ALTER FOREIGN TABLE" | "ALTER FUNCTION" | "ALTER LANGUAGE" | "ALTER LARGE OBJECT" | "ALTER MATERIALIZED VIEW" | "ALTER OPERATOR" | "ALTER OPERATOR CLASS" | "ALTER OPERATOR FAMILY" | "ALTER POLICY" | "ALTER PROCEDURE" | "ALTER PUBLICATION" | "ALTER ROUTINE" | "ALTER SCHEMA" | "ALTER SEQUENCE" | "ALTER SERVER" | "ALTER STATISTICS" | "ALTER SUBSCRIPTION" | "ALTER TABLE" | "ALTER TEXT SEARCH CONFIGURATION" | "ALTER TEXT SEARCH DICTIONARY" | "ALTER TEXT SEARCH PARSER" | "ALTER TEXT SEARCH TEMPLATE" | "ALTER TRIGGER" | "ALTER TYPE" | "ALTER USER MAPPING" | "ALTER VIEW" | "COMMENT" | "CREATE ACCESS METHOD" | "CREATE AGGREGATE" | "CREATE CAST" | "CREATE COLLATION" | "CREATE CONVERSION" | "CREATE DOMAIN" | "CREATE EXTENSION" | "CREATE FOREIGN DATA WRAPPER" | "CREATE FOREIGN TABLE" | "CREATE FUNCTION" | "CREATE INDEX" | "CREATE LANGUAGE" | "CREATE MATERIALIZED VIEW" | "CREATE OPERATOR" | "CREATE OPERATOR CLASS" | "CREATE OPERATOR FAMILY" | "CREATE POLICY" | "CREATE PROCEDURE" | "CREATE PUBLICATION" | "CREATE RULE" | "CREATE SCHEMA" | "CREATE SEQUENCE" | "CREATE SERVER" | "CREATE STATISTICS" | "CREATE SUBSCRIPTION" | "CREATE TABLE" | "CREATE TABLE AS" | "CREATE TEXT SEARCH CONFIGURATION" | "CREATE TEXT SEARCH DICTIONARY" | "CREATE TEXT SEARCH PARSER" | "CREATE TEXT SEARCH TEMPLATE" | "CREATE TRIGGER" | "CREATE TYPE" | "CREATE USER MAPPING" | "CREATE VIEW" | "DROP ACCESS METHOD" | "DROP AGGREGATE" | "DROP CAST" | "DROP COLLATION" | "DROP CONVERSION" | "DROP DOMAIN" | "DROP EXTENSION" | "DROP FOREIGN DATA WRAPPER" | "DROP FOREIGN TABLE" | "DROP FUNCTION" | "DROP INDEX" | "DROP LANGUAGE" | "DROP MATERIALIZED VIEW" | "DROP OPERATOR" | "DROP OPERATOR CLASS" | "DROP OPERATOR FAMILY" | "DROP OWNED" | "DROP POLICY" | "DROP PROCEDURE" | "DROP PUBLICATION" | "DROP ROUTINE" | "DROP RULE" | "DROP SCHEMA" | "DROP SEQUENCE" | "DROP SERVER" | "DROP STATISTICS" | "DROP SUBSCRIPTION" | "DROP TABLE" | "DROP TEXT SEARCH CONFIGURATION" | "DROP TEXT SEARCH DICTIONARY" | "DROP TEXT SEARCH PARSER" | "DROP TEXT SEARCH TEMPLATE" | "DROP TRIGGER" | "DROP TYPE" | "DROP USER MAPPING" | "DROP VIEW" | "GRANT" | "IMPORT FOREIGN SCHEMA" | "REFRESH MATERIALIZED VIEW" | "REVOKE" | "SECURITY LABEL" | "SELECT INTO")[] | undefined;
|
|
3
|
+
//# sourceMappingURL=getWatchSchemaTagList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getWatchSchemaTagList.d.ts","sourceRoot":"","sources":["../../lib/SchemaWatch/getWatchSchemaTagList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,qBAAqB,gBAAiB,oBAAoB,CAAC,aAAa,CAAC,m1EAsBrF,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWatchSchemaTagList = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const Event_Trigger_Tags_1 = require("../Event_Trigger_Tags");
|
|
6
|
+
const getWatchSchemaTagList = (watchSchema) => {
|
|
7
|
+
if (!watchSchema)
|
|
8
|
+
return undefined;
|
|
9
|
+
if (watchSchema === "*") {
|
|
10
|
+
return Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS.slice(0);
|
|
11
|
+
}
|
|
12
|
+
if ((0, prostgles_types_1.isObject)(watchSchema) && typeof watchSchema !== "function") {
|
|
13
|
+
const watchSchemaKeys = (0, prostgles_types_1.getKeys)(watchSchema);
|
|
14
|
+
const isInclusive = Object.values(watchSchema).every(v => v);
|
|
15
|
+
return Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS
|
|
16
|
+
.slice(0)
|
|
17
|
+
.filter(v => {
|
|
18
|
+
const matches = watchSchemaKeys.includes(v);
|
|
19
|
+
return isInclusive ? matches : !matches;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const coreTags = [
|
|
23
|
+
'COMMENT', 'CREATE TABLE', 'ALTER TABLE', 'DROP TABLE', 'CREATE VIEW',
|
|
24
|
+
'DROP VIEW', 'ALTER VIEW', 'CREATE TABLE AS', 'SELECT INTO', 'CREATE POLICY'
|
|
25
|
+
];
|
|
26
|
+
return coreTags;
|
|
27
|
+
};
|
|
28
|
+
exports.getWatchSchemaTagList = getWatchSchemaTagList;
|
|
29
|
+
//# sourceMappingURL=getWatchSchemaTagList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getWatchSchemaTagList.js","sourceRoot":"","sources":["../../lib/SchemaWatch/getWatchSchemaTagList.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AACpD,8DAA2D;AAGpD,MAAM,qBAAqB,GAAG,CAAC,WAAgD,EAAE,EAAE;IACxF,IAAG,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAElC,IAAG,WAAW,KAAK,GAAG,EAAC,CAAC;QACtB,OAAO,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAA,0BAAQ,EAAC,WAAW,CAAC,IAAI,OAAO,WAAW,KAAK,UAAU,EAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,IAAA,yBAAO,EAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,uCAAkB;aACtB,KAAK,CAAC,CAAC,CAAC;aACR,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO,WAAW,CAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAwC;QACpD,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa;QACrE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe;KAC7E,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA;AAtBY,QAAA,qBAAqB,yBAsBjC"}
|
package/dist/SchemaWatch.d.ts
CHANGED
|
@@ -1,13 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { ProstglesInitOptions } from "./Prostgles";
|
|
1
|
+
import type { DboBuilder } from "./DboBuilder/DboBuilder";
|
|
2
|
+
import { OnSchemaChangeCallback, ProstglesInitOptions } from "./Prostgles";
|
|
4
3
|
export type VoidFunction = () => void;
|
|
5
4
|
export declare class SchemaWatch {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
});
|
|
5
|
+
dboBuilder: DboBuilder;
|
|
6
|
+
type: ValidatedWatchSchemaType;
|
|
7
|
+
private constructor();
|
|
8
|
+
static create: (dboBuilder: DboBuilder) => Promise<SchemaWatch>;
|
|
9
|
+
onSchemaChange: OnSchemaChangeCallback | undefined;
|
|
12
10
|
}
|
|
11
|
+
type ValidatedWatchSchemaType = {
|
|
12
|
+
watchType: "NONE";
|
|
13
|
+
} | {
|
|
14
|
+
watchType: "DDL_trigger";
|
|
15
|
+
onChange?: OnSchemaChangeCallback;
|
|
16
|
+
} | {
|
|
17
|
+
watchType: "prostgles_queries";
|
|
18
|
+
onChange?: OnSchemaChangeCallback;
|
|
19
|
+
isFallbackFromDDL: boolean;
|
|
20
|
+
};
|
|
21
|
+
export declare const getWatchSchemaTagList: (watchSchema: ProstglesInitOptions["watchSchema"]) => ("ALTER AGGREGATE" | "ALTER COLLATION" | "ALTER CONVERSION" | "ALTER DOMAIN" | "ALTER DEFAULT PRIVILEGES" | "ALTER EXTENSION" | "ALTER FOREIGN DATA WRAPPER" | "ALTER FOREIGN TABLE" | "ALTER FUNCTION" | "ALTER LANGUAGE" | "ALTER LARGE OBJECT" | "ALTER MATERIALIZED VIEW" | "ALTER OPERATOR" | "ALTER OPERATOR CLASS" | "ALTER OPERATOR FAMILY" | "ALTER POLICY" | "ALTER PROCEDURE" | "ALTER PUBLICATION" | "ALTER ROUTINE" | "ALTER SCHEMA" | "ALTER SEQUENCE" | "ALTER SERVER" | "ALTER STATISTICS" | "ALTER SUBSCRIPTION" | "ALTER TABLE" | "ALTER TEXT SEARCH CONFIGURATION" | "ALTER TEXT SEARCH DICTIONARY" | "ALTER TEXT SEARCH PARSER" | "ALTER TEXT SEARCH TEMPLATE" | "ALTER TRIGGER" | "ALTER TYPE" | "ALTER USER MAPPING" | "ALTER VIEW" | "COMMENT" | "CREATE ACCESS METHOD" | "CREATE AGGREGATE" | "CREATE CAST" | "CREATE COLLATION" | "CREATE CONVERSION" | "CREATE DOMAIN" | "CREATE EXTENSION" | "CREATE FOREIGN DATA WRAPPER" | "CREATE FOREIGN TABLE" | "CREATE FUNCTION" | "CREATE INDEX" | "CREATE LANGUAGE" | "CREATE MATERIALIZED VIEW" | "CREATE OPERATOR" | "CREATE OPERATOR CLASS" | "CREATE OPERATOR FAMILY" | "CREATE POLICY" | "CREATE PROCEDURE" | "CREATE PUBLICATION" | "CREATE RULE" | "CREATE SCHEMA" | "CREATE SEQUENCE" | "CREATE SERVER" | "CREATE STATISTICS" | "CREATE SUBSCRIPTION" | "CREATE TABLE" | "CREATE TABLE AS" | "CREATE TEXT SEARCH CONFIGURATION" | "CREATE TEXT SEARCH DICTIONARY" | "CREATE TEXT SEARCH PARSER" | "CREATE TEXT SEARCH TEMPLATE" | "CREATE TRIGGER" | "CREATE TYPE" | "CREATE USER MAPPING" | "CREATE VIEW" | "DROP ACCESS METHOD" | "DROP AGGREGATE" | "DROP CAST" | "DROP COLLATION" | "DROP CONVERSION" | "DROP DOMAIN" | "DROP EXTENSION" | "DROP FOREIGN DATA WRAPPER" | "DROP FOREIGN TABLE" | "DROP FUNCTION" | "DROP INDEX" | "DROP LANGUAGE" | "DROP MATERIALIZED VIEW" | "DROP OPERATOR" | "DROP OPERATOR CLASS" | "DROP OPERATOR FAMILY" | "DROP OWNED" | "DROP POLICY" | "DROP PROCEDURE" | "DROP PUBLICATION" | "DROP ROUTINE" | "DROP RULE" | "DROP SCHEMA" | "DROP SEQUENCE" | "DROP SERVER" | "DROP STATISTICS" | "DROP SUBSCRIPTION" | "DROP TABLE" | "DROP TEXT SEARCH CONFIGURATION" | "DROP TEXT SEARCH DICTIONARY" | "DROP TEXT SEARCH PARSER" | "DROP TEXT SEARCH TEMPLATE" | "DROP TRIGGER" | "DROP TYPE" | "DROP USER MAPPING" | "DROP VIEW" | "GRANT" | "IMPORT FOREIGN SCHEMA" | "REFRESH MATERIALIZED VIEW" | "REVOKE" | "SECURITY LABEL" | "SELECT INTO")[] | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Fallback for watchSchema in case of not a superuser (cannot add db event listener)
|
|
24
|
+
*/
|
|
25
|
+
export declare const watchSchemaFallback: (this: DboBuilder, { queryWithoutRLS, command }: {
|
|
26
|
+
queryWithoutRLS: string;
|
|
27
|
+
command: string;
|
|
28
|
+
}) => Promise<void>;
|
|
29
|
+
export {};
|
|
13
30
|
//# sourceMappingURL=SchemaWatch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaWatch.d.ts","sourceRoot":"","sources":["../lib/SchemaWatch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SchemaWatch.d.ts","sourceRoot":"","sources":["../lib/SchemaWatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAI3E,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAEtC,qBAAa,WAAW;IAEtB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO;IAQP,MAAM,CAAC,MAAM,eAAsB,UAAU,0BAM5C;IAED,cAAc,EAAE,sBAAsB,GAAG,SAAS,CA+BhD;CACH;AAED,KAAK,wBAAwB,GAC3B;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CAAE,GAChE;IAAE,SAAS,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAC;CAAE,CAAA;AAwCpG,eAAO,MAAM,qBAAqB,gBAAiB,oBAAoB,CAAC,aAAa,CAAC,m1EAsBrF,CAAA;AAID;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAAwB,UAAU;qBAAmD,MAAM;aAAW,MAAM;mBAY3I,CAAA"}
|