prostgles-server 4.2.66 → 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,CAqkB9E,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"}
@@ -242,7 +242,7 @@ BEGIN
242
242
  )
243
243
  ||
244
244
  COALESCE((
245
- 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), ', ')
246
246
  FROM (
247
247
  SELECT DISTINCT related_view_name, related_view_def
248
248
  FROM prostgles.v_triggers
@@ -354,7 +354,9 @@ BEGIN
354
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 ');
355
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 ');
356
356
 
357
- select count(*) from old_table into changed_triggers_count;
357
+ SELECT count(*)
358
+ FROM old_table
359
+ INTO changed_triggers_count;
358
360
 
359
361
  /* Disable actual triggers if needed */
360
362
  FOR trw IN
@@ -425,7 +427,7 @@ BEGIN
425
427
  'prostgles_triggers_' || trw.table_name || '_update',
426
428
  'prostgles_triggers_' || trw.table_name || '_delete'
427
429
  )
428
- ) = 3 AND false
430
+ ) = 3
429
431
  THEN
430
432
  query := concat_ws(E'\n',
431
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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"}
@@ -244,7 +244,7 @@ BEGIN
244
244
  )
245
245
  ||
246
246
  COALESCE((
247
- 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), ', ')
248
248
  FROM (
249
249
  SELECT DISTINCT related_view_name, related_view_def
250
250
  FROM prostgles.v_triggers
@@ -356,7 +356,9 @@ BEGIN
356
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 ');
357
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 ');
358
358
 
359
- select count(*) from old_table into changed_triggers_count;
359
+ SELECT count(*)
360
+ FROM old_table
361
+ INTO changed_triggers_count;
360
362
 
361
363
  /* Disable actual triggers if needed */
362
364
  FOR trw IN
@@ -427,7 +429,7 @@ BEGIN
427
429
  'prostgles_triggers_' || trw.table_name || '_update',
428
430
  'prostgles_triggers_' || trw.table_name || '_delete'
429
431
  )
430
- ) = 3 AND false
432
+ ) = 3
431
433
  THEN
432
434
  query := concat_ws(E'\n',
433
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.66",
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" });
@@ -1005,7 +1023,7 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
1005
1023
  if(runs < 2){
1006
1024
  return;
1007
1025
  }
1008
- await sub.unsubscribe();
1026
+ await testToEnsureTriggersAreDisabled(sub, `"""quoted0"""`);
1009
1027
  resolve(true);
1010
1028
  }
1011
1029
  });
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.2.65",
24
+ "version": "4.2.66",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "bluebird": "^3.7.2",