prostgles-server 4.2.64 → 4.2.67

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.
@@ -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,CAkkB9E,CAAA"}
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,CAukB9E,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 = format(TG_TABLE_NAME, '%I');
227
+ WHERE table_name = escaped_table;
224
228
 
225
229
 
226
230
  /* unions = 'old_table union new_table' or any one of the tables */
@@ -238,11 +242,11 @@ BEGIN
238
242
  )
239
243
  ||
240
244
  COALESCE((
241
- SELECT ', ' || string_agg(format(E' %I AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
245
+ SELECT ', ' || string_agg(format(E' %s AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
242
246
  FROM (
243
247
  SELECT DISTINCT related_view_name, related_view_def
244
248
  FROM prostgles.v_triggers
245
- WHERE table_name = format(TG_TABLE_NAME, '%I')
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(TG_TABLE_NAME, 'MISSING'),
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 )
@@ -350,7 +354,9 @@ BEGIN
350
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 ');
351
355
  --RAISE NOTICE 'DELETE trigger_add_remove_func old_table: % ', '' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM old_table), ' 0 ');
352
356
 
353
- select count(*) from old_table into changed_triggers_count;
357
+ SELECT count(*)
358
+ FROM old_table
359
+ INTO changed_triggers_count;
354
360
 
355
361
  /* Disable actual triggers if needed */
356
362
  FOR trw IN
@@ -385,11 +391,10 @@ BEGIN
385
391
  /* If newly added listeners on table then CREATE table data watch triggers */
386
392
  ELSIF TG_OP = 'INSERT' THEN
387
393
 
388
- select count(*) from new_table into changed_triggers_count;
389
-
390
- --RAISE NOTICE 'INSERT trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.triggers) , ' 0 ');
391
- --RAISE NOTICE 'INSERT trigger_add_remove_func new_table: % ', '' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM new_table), ' 0 ');
392
-
394
+ SELECT count(*)
395
+ FROM new_table
396
+ INTO changed_triggers_count;
397
+
393
398
  /* Loop through newly added tables to add data watch triggers */
394
399
  FOR trw IN
395
400
 
@@ -422,7 +427,7 @@ BEGIN
422
427
  'prostgles_triggers_' || trw.table_name || '_update',
423
428
  'prostgles_triggers_' || trw.table_name || '_delete'
424
429
  )
425
- ) = 3 AND false
430
+ ) = 3
426
431
  THEN
427
432
  query := concat_ws(E'\n',
428
433
  format(' ALTER TABLE %s ENABLE TRIGGER %I ;', trw.table_name, 'prostgles_triggers_' || trw.table_name || '_insert'),
@@ -1 +1 @@
1
- {"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"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"}
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 = format(TG_TABLE_NAME, '%I');
229
+ WHERE table_name = escaped_table;
226
230
 
227
231
 
228
232
  /* unions = 'old_table union new_table' or any one of the tables */
@@ -240,11 +244,11 @@ BEGIN
240
244
  )
241
245
  ||
242
246
  COALESCE((
243
- SELECT ', ' || string_agg(format(E' %I AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
247
+ SELECT ', ' || string_agg(format(E' %s AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
244
248
  FROM (
245
249
  SELECT DISTINCT related_view_name, related_view_def
246
250
  FROM prostgles.v_triggers
247
- WHERE table_name = format(TG_TABLE_NAME, '%I')
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(TG_TABLE_NAME, 'MISSING'),
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 )
@@ -352,7 +356,9 @@ BEGIN
352
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 ');
353
357
  --RAISE NOTICE 'DELETE trigger_add_remove_func old_table: % ', '' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM old_table), ' 0 ');
354
358
 
355
- select count(*) from old_table into changed_triggers_count;
359
+ SELECT count(*)
360
+ FROM old_table
361
+ INTO changed_triggers_count;
356
362
 
357
363
  /* Disable actual triggers if needed */
358
364
  FOR trw IN
@@ -387,11 +393,10 @@ BEGIN
387
393
  /* If newly added listeners on table then CREATE table data watch triggers */
388
394
  ELSIF TG_OP = 'INSERT' THEN
389
395
 
390
- select count(*) from new_table into changed_triggers_count;
391
-
392
- --RAISE NOTICE 'INSERT trigger_add_remove_func table: % ', ' ' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM prostgles.triggers) , ' 0 ');
393
- --RAISE NOTICE 'INSERT trigger_add_remove_func new_table: % ', '' || COALESCE((SELECT concat_ws(' ', string_agg(table_name, ' & '), count(*), min(inserted) ) FROM new_table), ' 0 ');
394
-
396
+ SELECT count(*)
397
+ FROM new_table
398
+ INTO changed_triggers_count;
399
+
395
400
  /* Loop through newly added tables to add data watch triggers */
396
401
  FOR trw IN
397
402
 
@@ -424,7 +429,7 @@ BEGIN
424
429
  'prostgles_triggers_' || trw.table_name || '_update',
425
430
  'prostgles_triggers_' || trw.table_name || '_delete'
426
431
  )
427
- ) = 3 AND false
432
+ ) = 3
428
433
  THEN
429
434
  query := concat_ws(E'\n',
430
435
  format(' ALTER TABLE %s ENABLE TRIGGER %I ;', trw.table_name, 'prostgles_triggers_' || trw.table_name || '_insert'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.64",
3
+ "version": "4.2.67",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -7,7 +7,7 @@ import {
7
7
  //@ts-ignore
8
8
  describe
9
9
  } from "node:test";
10
- import { pickKeys } from "prostgles-types";
10
+ import { SubscriptionHandler, pickKeys } from "prostgles-types";
11
11
 
12
12
 
13
13
  export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log: (msg: string, extra?: any) => void) => {
@@ -466,6 +466,27 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
466
466
  assert.equal(+res, 1)
467
467
  });
468
468
 
469
+
470
+ const testToEnsureTriggersAreDisabled = async (sub: SubscriptionHandler, table_name: string) => {
471
+ const getTableTriggers = async (table_name: string) => {
472
+ return await db.sql?.(`
473
+ SELECT tgname, tgenabled = 'O' as enabled
474
+ FROM pg_catalog.pg_trigger
475
+ WHERE tgname like format('prostgles_triggers_%s_', \${table_name}) || '%'
476
+ `,
477
+ { table_name },
478
+ { returnType: "rows" }
479
+ ) as { tgname: string; enabled: boolean; }[];
480
+ }
481
+ await sub.unsubscribe();
482
+ let validTriggers = await getTableTriggers(table_name)
483
+ assert.equal(validTriggers.filter(t => t.enabled).length, 3);
484
+ await db.sql?.(`DELETE FROM prostgles.app_triggers`, []); // WHERE table_name = $1
485
+ validTriggers = await getTableTriggers(table_name)
486
+ assert.equal(validTriggers.length, 3);
487
+ assert.equal(validTriggers.filter(t => t.enabled).length, 0);
488
+ }
489
+
469
490
  await test("subscribe", async () => {
470
491
  await tryRunP("subscribe", async (resolve, reject) => {
471
492
  await db.various.insert!({ id: 99 });
@@ -474,7 +495,7 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
474
495
 
475
496
  if(item && item.name === "zz3zz3"){
476
497
  await db.various.delete!({ name: "zz3zz3" });
477
- await sub.unsubscribe();
498
+ await testToEnsureTriggersAreDisabled(sub, "various");
478
499
  resolve(true)
479
500
  }
480
501
  });
@@ -490,9 +511,6 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
490
511
  await db.various.insert!({ id: 99 });
491
512
  const start = Date.now(); // name: "zz3zz"
492
513
  const sub = await db.various.subscribeOne!({ id: 99 }, { throttle: 1700 }, async item => {
493
- // const item = items[0]
494
- // console.log(item)
495
-
496
514
  const now = Date.now();
497
515
  if(item && item.name === "zz3zz2" && now - start > 1600 && now - start < 1800){
498
516
  await db.various.delete!({ name: "zz3zz2" });
@@ -991,28 +1009,26 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
991
1009
  assert.deepStrictEqual(exists1, exists2)
992
1010
  });
993
1011
 
994
- // await test("subscribe to escaped table name", async () => {
995
- // await tryRunP("subscribe to escaped table name", async (resolve, reject) => {
996
- // // await tout(11000);
997
- // const filter = { [`"text_col0"`]: "0" }
998
- // let runs = 0;
999
- // const sub = await db[`"""quoted0"""`].subscribe!(filter, { }, async items => {
1000
- // const item = items[0];
1001
- // if(item && item[`"text_col0"`] === "0"){
1002
- // if(!runs){
1003
- // db[`"""quoted0"""`].update!(filter, filter);
1004
- // log(JSON.stringify(items))
1005
- // }
1006
- // runs++;
1007
- // if(runs < 2){
1008
- // return;
1009
- // }
1010
- // await sub.unsubscribe();
1011
- // resolve(true);
1012
- // }
1013
- // });
1014
- // });
1015
- // });
1012
+ await test("subscribe to escaped table name", async () => {
1013
+ await tryRunP("subscribe to escaped table name", async (resolve, reject) => {
1014
+ const filter = { [`"text_col0"`]: "0" }
1015
+ let runs = 0;
1016
+ const sub = await db[`"""quoted0"""`].subscribe!(filter, { }, async items => {
1017
+ const item = items[0];
1018
+ if(item && item[`"text_col0"`] === "0"){
1019
+ if(!runs){
1020
+ db[`"""quoted0"""`].update!(filter, filter);
1021
+ }
1022
+ runs++;
1023
+ if(runs < 2){
1024
+ return;
1025
+ }
1026
+ await testToEnsureTriggersAreDisabled(sub, `"""quoted0"""`);
1027
+ resolve(true);
1028
+ }
1029
+ });
1030
+ });
1031
+ });
1016
1032
 
1017
1033
  await test("Reverse join with agg", async () => {
1018
1034
  const inserted = await db.tr1.insert!({ tr2: { t1: "a", t2: "b" } }, { returning: "*" });
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.2.63",
24
+ "version": "4.2.66",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "bluebird": "^3.7.2",