prostgles-server 4.2.64 → 4.2.66
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/getInitQuery.d.ts.map +1 -1
- package/dist/PubSubManager/getInitQuery.js +11 -8
- package/dist/PubSubManager/getInitQuery.js.map +1 -1
- package/lib/PubSubManager/getInitQuery.ts +11 -8
- package/package.json +1 -1
- package/tests/isomorphicQueries.spec.ts +20 -22
- package/tests/server/package-lock.json +1 -1
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAqkB9E,CAAA"}
|
|
@@ -199,9 +199,13 @@ BEGIN
|
|
|
199
199
|
|
|
200
200
|
DECLARE view_def_query TEXT := '';
|
|
201
201
|
|
|
202
|
+
DECLARE escaped_table TEXT;
|
|
203
|
+
|
|
202
204
|
BEGIN
|
|
203
205
|
|
|
204
206
|
--PERFORM pg_notify('debug', concat_ws(' ', 'TABLE', TG_TABLE_NAME, TG_OP));
|
|
207
|
+
|
|
208
|
+
escaped_table := format('%I', TG_TABLE_NAME);
|
|
205
209
|
|
|
206
210
|
SELECT string_agg(
|
|
207
211
|
format(
|
|
@@ -220,7 +224,7 @@ BEGIN
|
|
|
220
224
|
)
|
|
221
225
|
INTO unions
|
|
222
226
|
FROM prostgles.v_triggers
|
|
223
|
-
WHERE table_name =
|
|
227
|
+
WHERE table_name = escaped_table;
|
|
224
228
|
|
|
225
229
|
|
|
226
230
|
/* unions = 'old_table union new_table' or any one of the tables */
|
|
@@ -242,7 +246,7 @@ BEGIN
|
|
|
242
246
|
FROM (
|
|
243
247
|
SELECT DISTINCT related_view_name, related_view_def
|
|
244
248
|
FROM prostgles.v_triggers
|
|
245
|
-
WHERE table_name =
|
|
249
|
+
WHERE table_name = escaped_table
|
|
246
250
|
AND related_view_name IS NOT NULL
|
|
247
251
|
AND related_view_def IS NOT NULL
|
|
248
252
|
) t
|
|
@@ -295,7 +299,7 @@ BEGIN
|
|
|
295
299
|
${(0, PubSubManager_1.asValue)(PubSubManager_1.PubSubManager.DELIMITER)},
|
|
296
300
|
|
|
297
301
|
${(0, PubSubManager_1.asValue)(PubSubManager_1.NOTIF_TYPE.data)},
|
|
298
|
-
COALESCE(
|
|
302
|
+
COALESCE(escaped_table, 'MISSING'),
|
|
299
303
|
COALESCE(TG_OP, 'MISSING'),
|
|
300
304
|
CASE WHEN has_errors
|
|
301
305
|
THEN concat_ws('; ', 'error', err_text, err_detail, err_hint, 'query: ' || query )
|
|
@@ -385,11 +389,10 @@ BEGIN
|
|
|
385
389
|
/* If newly added listeners on table then CREATE table data watch triggers */
|
|
386
390
|
ELSIF TG_OP = 'INSERT' THEN
|
|
387
391
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
392
|
+
SELECT count(*)
|
|
393
|
+
FROM new_table
|
|
394
|
+
INTO changed_triggers_count;
|
|
395
|
+
|
|
393
396
|
/* Loop through newly added tables to add data watch triggers */
|
|
394
397
|
FOR trw IN
|
|
395
398
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":";;;AACA,mDAAoF;AACpF,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEA+BkB,IAAA,uBAAO,EAAC,OAAO,CAAC;yEACb,IAAA,uBAAO,EAAC,OAAO,CAAC;+BAC1D,IAAA,uBAAO,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BjC,IAAA,uBAAO,EAAC,OAAO,CAAC,KAAK,IAAA,uBAAO,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAsGpB,oBAAY,CAAC,eAAe
|
|
1
|
+
{"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -201,9 +201,13 @@ BEGIN
|
|
|
201
201
|
|
|
202
202
|
DECLARE view_def_query TEXT := '';
|
|
203
203
|
|
|
204
|
+
DECLARE escaped_table TEXT;
|
|
205
|
+
|
|
204
206
|
BEGIN
|
|
205
207
|
|
|
206
208
|
--PERFORM pg_notify('debug', concat_ws(' ', 'TABLE', TG_TABLE_NAME, TG_OP));
|
|
209
|
+
|
|
210
|
+
escaped_table := format('%I', TG_TABLE_NAME);
|
|
207
211
|
|
|
208
212
|
SELECT string_agg(
|
|
209
213
|
format(
|
|
@@ -222,7 +226,7 @@ BEGIN
|
|
|
222
226
|
)
|
|
223
227
|
INTO unions
|
|
224
228
|
FROM prostgles.v_triggers
|
|
225
|
-
WHERE table_name =
|
|
229
|
+
WHERE table_name = escaped_table;
|
|
226
230
|
|
|
227
231
|
|
|
228
232
|
/* unions = 'old_table union new_table' or any one of the tables */
|
|
@@ -244,7 +248,7 @@ BEGIN
|
|
|
244
248
|
FROM (
|
|
245
249
|
SELECT DISTINCT related_view_name, related_view_def
|
|
246
250
|
FROM prostgles.v_triggers
|
|
247
|
-
WHERE table_name =
|
|
251
|
+
WHERE table_name = escaped_table
|
|
248
252
|
AND related_view_name IS NOT NULL
|
|
249
253
|
AND related_view_def IS NOT NULL
|
|
250
254
|
) t
|
|
@@ -297,7 +301,7 @@ BEGIN
|
|
|
297
301
|
${asValue(PubSubManager.DELIMITER)},
|
|
298
302
|
|
|
299
303
|
${asValue(NOTIF_TYPE.data)},
|
|
300
|
-
COALESCE(
|
|
304
|
+
COALESCE(escaped_table, 'MISSING'),
|
|
301
305
|
COALESCE(TG_OP, 'MISSING'),
|
|
302
306
|
CASE WHEN has_errors
|
|
303
307
|
THEN concat_ws('; ', 'error', err_text, err_detail, err_hint, 'query: ' || query )
|
|
@@ -387,11 +391,10 @@ BEGIN
|
|
|
387
391
|
/* If newly added listeners on table then CREATE table data watch triggers */
|
|
388
392
|
ELSIF TG_OP = 'INSERT' THEN
|
|
389
393
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
394
|
+
SELECT count(*)
|
|
395
|
+
FROM new_table
|
|
396
|
+
INTO changed_triggers_count;
|
|
397
|
+
|
|
395
398
|
/* Loop through newly added tables to add data watch triggers */
|
|
396
399
|
FOR trw IN
|
|
397
400
|
|
package/package.json
CHANGED
|
@@ -991,28 +991,26 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
|
|
|
991
991
|
assert.deepStrictEqual(exists1, exists2)
|
|
992
992
|
});
|
|
993
993
|
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
// });
|
|
1015
|
-
// });
|
|
994
|
+
await test("subscribe to escaped table name", async () => {
|
|
995
|
+
await tryRunP("subscribe to escaped table name", async (resolve, reject) => {
|
|
996
|
+
const filter = { [`"text_col0"`]: "0" }
|
|
997
|
+
let runs = 0;
|
|
998
|
+
const sub = await db[`"""quoted0"""`].subscribe!(filter, { }, async items => {
|
|
999
|
+
const item = items[0];
|
|
1000
|
+
if(item && item[`"text_col0"`] === "0"){
|
|
1001
|
+
if(!runs){
|
|
1002
|
+
db[`"""quoted0"""`].update!(filter, filter);
|
|
1003
|
+
}
|
|
1004
|
+
runs++;
|
|
1005
|
+
if(runs < 2){
|
|
1006
|
+
return;
|
|
1007
|
+
}
|
|
1008
|
+
await sub.unsubscribe();
|
|
1009
|
+
resolve(true);
|
|
1010
|
+
}
|
|
1011
|
+
});
|
|
1012
|
+
});
|
|
1013
|
+
});
|
|
1016
1014
|
|
|
1017
1015
|
await test("Reverse join with agg", async () => {
|
|
1018
1016
|
const inserted = await db.tr1.insert!({ tr2: { t1: "a", t2: "b" } }, { returning: "*" });
|