prostgles-server 4.2.494 → 4.2.496

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":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,gDAuGxC"}
1
+ {"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,gDA6GxC"}
@@ -24,13 +24,7 @@ async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
24
24
  if (!relatedTableOrViewHandler) {
25
25
  throw `Table ${relatedTableName} not found`;
26
26
  }
27
- const alreadyPushed = viewOptions?.relatedTables.find((rt) => rt.tableName === relatedTableName);
28
- if (alreadyPushed || relatedTableOrViewHandler.is_view) {
29
- console.warn({
30
- selectedColumnNames,
31
- alreadyPushed,
32
- is_view: relatedTableOrViewHandler.is_view,
33
- });
27
+ if (relatedTableOrViewHandler.is_view) {
34
28
  return;
35
29
  }
36
30
  viewOptions ??= {
@@ -54,11 +48,19 @@ async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
54
48
  const relatedTableJoinPathItem = joinPath.at(-1);
55
49
  const joinColumns = relatedTableJoinPathItem?.on.map((columnPair) => Object.values(columnPair)).flat() ?? [];
56
50
  const [firstField, ...otherFields] = Array.from(new Set([...(selectedColumnNames ?? []), ...joinColumns, ...joinConditionInfo.columnsUsed]));
51
+ const tracked_columns = !firstField ? undefined : [firstField, ...otherFields];
52
+ const condition = joinConditionInfo.where;
53
+ const alreadyPushed = viewOptions.relatedTables.find((rt) => rt.tableName === relatedTableName && rt.condition === condition);
54
+ if (alreadyPushed) {
55
+ const [firstMerged, ...others] = Array.from(new Set([...(alreadyPushed.tracked_columns ?? []), ...(tracked_columns ?? [])]));
56
+ alreadyPushed.tracked_columns = firstMerged ? [firstMerged, ...others] : undefined;
57
+ return;
58
+ }
57
59
  viewOptions.relatedTables.push({
58
60
  tableName: relatedTableName,
59
61
  tableNameEscaped: (0, prostgles_types_1.asName)(relatedTableName),
60
- tracked_columns: !firstField ? undefined : [firstField, ...otherFields],
61
- condition: joinConditionInfo.where,
62
+ tracked_columns,
63
+ condition,
62
64
  });
63
65
  };
64
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"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"}
@@ -206,9 +206,15 @@ export declare class PubSubManager {
206
206
  addingTrigger: any;
207
207
  addTriggerPool?: Record<string, string[]>;
208
208
  addTrigger: (params: AddTriggerParams, viewOptions: ViewSubscriptionOptions | undefined, socket: PRGLIOSocket | undefined) => Promise<import("prostgles-types").TryCatchResult<{
209
- tbl: string;
210
- cond: string;
211
- condHash: string;
209
+ tableName: string;
210
+ condition: string;
211
+ conditionHash: string;
212
+ relatedViewName: string | null;
213
+ relatedViewDef: string | null;
214
+ columnsInfo: {
215
+ join_condition: string;
216
+ tracked_columns: Record<string, number>;
217
+ } | null;
212
218
  }>>;
213
219
  }
214
220
  //# sourceMappingURL=PubSubManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,20 @@
1
+ import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
1
2
  import type { ViewSubscriptionOptions } from "./PubSubManager";
2
3
  import { type PubSubManager } from "./PubSubManager";
3
- import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
4
4
  export type AddTriggerParams = {
5
5
  table_name: string;
6
6
  condition: string;
7
7
  tracked_columns: [string, ...string[]] | undefined;
8
8
  };
9
9
  export declare function addTrigger(this: PubSubManager, params: AddTriggerParams, viewOptions: ViewSubscriptionOptions | undefined, socket: PRGLIOSocket | undefined): Promise<import("prostgles-types").TryCatchResult<{
10
- tbl: string;
11
- cond: string;
12
- condHash: string;
10
+ tableName: string;
11
+ condition: string;
12
+ conditionHash: string;
13
+ relatedViewName: string | null;
14
+ relatedViewDef: string | null;
15
+ columnsInfo: {
16
+ join_condition: string;
17
+ tracked_columns: Record<string, number>;
18
+ } | null;
13
19
  }>>;
14
20
  //# sourceMappingURL=addTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addTrigger.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAKlE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC;AACF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,uBAAuB,GAAG,SAAS,EAChD,MAAM,EAAE,YAAY,GAAG,SAAS;;;;IAoGjC"}
1
+ {"version":3,"file":"addTrigger.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC;AACF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,uBAAuB,GAAG,SAAS,EAChD,MAAM,EAAE,YAAY,GAAG,SAAS;;;;;;;;;;IA8GjC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addTrigger = addTrigger;
4
- const prostgles_types_1 = require("prostgles-types");
5
4
  const crypto = require("crypto");
5
+ const prostgles_types_1 = require("prostgles-types");
6
6
  const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
7
7
  const getDataWatchFunctionQuery_1 = require("./init/getDataWatchFunctionQuery");
8
8
  async function addTrigger(params, viewOptions, socket) {
@@ -17,16 +17,20 @@ async function addTrigger(params, viewOptions, socket) {
17
17
  if (this.dbo[table_name]?.tableOrViewInfo?.isHyperTable) {
18
18
  throw "Triggers do not work on timescaledb hypertables due to bug:\nhttps://github.com/timescale/timescaledb/issues/1084";
19
19
  }
20
- const trgVals = {
21
- tbl: (0, PubSubManagerUtils_1.asValue)(table_name),
22
- cond: (0, PubSubManagerUtils_1.asValue)(condition),
23
- condHash: (0, PubSubManagerUtils_1.asValue)(crypto.createHash("md5").update(condition).digest("hex")),
24
- };
25
20
  const tableHandler = this.dbo[table_name];
26
21
  if (!tableHandler) {
27
22
  throw `Cannot add trigger. Tablehandler for ${table_name} not found`;
28
23
  }
29
- await this.db.tx((t) => t.any(`
24
+ const trgVals = {
25
+ tableName: table_name,
26
+ condition: condition,
27
+ conditionHash: crypto.createHash("md5").update(condition).digest("hex"),
28
+ relatedViewName: viewOptions?.viewName ?? null,
29
+ relatedViewDef: viewOptions?.definition ?? null,
30
+ columnsInfo: getColumnsInfo(params, tableHandler),
31
+ };
32
+ const TRACKED_COLUMNS = "tracked_columns";
33
+ await this.db.any(`
30
34
  BEGIN WORK;
31
35
  /* ${PubSubManagerUtils_1.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
32
36
  /* why is this lock level needed? */
@@ -34,7 +38,7 @@ async function addTrigger(params, viewOptions, socket) {
34
38
 
35
39
  /** app_triggers is not refreshed when tables are dropped */
36
40
  DELETE FROM prostgles.app_triggers at
37
- WHERE app_id = ${(0, PubSubManagerUtils_1.asValue)(this.appId)}
41
+ WHERE app_id = \${appId}
38
42
  AND NOT EXISTS (
39
43
  SELECT 1
40
44
  FROM pg_catalog.pg_trigger t
@@ -52,28 +56,32 @@ async function addTrigger(params, viewOptions, socket) {
52
56
  columns_info
53
57
  )
54
58
  VALUES (
55
- ${trgVals.tbl},
56
- ${trgVals.cond},
57
- ${trgVals.condHash},
58
- ${(0, PubSubManagerUtils_1.asValue)(this.appId)},
59
- ${(0, PubSubManagerUtils_1.asValue)(viewOptions?.viewName ?? null)},
60
- ${(0, PubSubManagerUtils_1.asValue)(viewOptions?.definition ?? null)},
61
- ${(0, PubSubManagerUtils_1.asValue)(getColumnsInfo(params, tableHandler))}
59
+ \${tableName},
60
+ \${condition},
61
+ \${conditionHash},
62
+ \${appId} ,
63
+ \${relatedViewName},
64
+ \${relatedViewDef},
65
+ \${columnsInfo}
62
66
  )
63
67
  ON CONFLICT (app_id, table_name, condition_hash)
64
- DO UPDATE /* upsert tracked_columns where necessary */
65
- SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL THEN
68
+ DO UPDATE /* upsert ${TRACKED_COLUMNS} where necessary */
69
+ SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL AND prostgles.app_triggers.columns_info IS NOT NULL THEN
66
70
  jsonb_set(
67
71
  prostgles.app_triggers.columns_info,
68
- '{tracked_columns}',
69
- prostgles.app_triggers.columns_info->'tracked_columns' || EXCLUDED.columns_info->'tracked_columns'
72
+ '{${TRACKED_COLUMNS}}',
73
+ /* THE PARENTHESES ARE CRUCIAL IN ENSURING THE MERGE WORKS */
74
+ (prostgles.app_triggers.columns_info->'${TRACKED_COLUMNS}') || (EXCLUDED.columns_info->'${TRACKED_COLUMNS}')
70
75
  )
71
76
  END
72
77
  WHERE prostgles.app_triggers.columns_info IS NOT NULL
73
78
  ;
74
79
 
75
80
  COMMIT WORK;
76
- `));
81
+ `, {
82
+ appId: this.appId,
83
+ ...trgVals,
84
+ });
77
85
  /** This might be redundant due to trigger on app_triggers */
78
86
  await this.refreshTriggers();
79
87
  return trgVals;
@@ -81,13 +89,13 @@ async function addTrigger(params, viewOptions, socket) {
81
89
  await this._log({
82
90
  type: "syncOrSub",
83
91
  command: "addTrigger",
84
- condition: addedTrigger.data?.cond ?? params.condition,
92
+ condition: addedTrigger.data?.condition ?? params.condition,
85
93
  duration: addedTrigger.duration,
86
94
  socketId: socket?.id,
87
- state: !addedTrigger.data?.tbl ? "fail" : "ok",
95
+ state: !addedTrigger.data?.tableName ? "fail" : "ok",
88
96
  error: addedTrigger.error,
89
97
  sid: socket && this.dboBuilder.prostgles.authHandler.getSIDNoError({ socket }),
90
- tableName: addedTrigger.data?.tbl ?? params.table_name,
98
+ tableName: params.table_name,
91
99
  connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map((s) => s.id),
92
100
  localParams: socket && { clientReq: { socket } },
93
101
  triggers: this._triggers,
@@ -105,7 +113,8 @@ const getColumnsInfo = ({ tracked_columns, table_name }, tableHandler) => {
105
113
  cast_to: getDataWatchFunctionQuery_1.udtNamesWithoutEqualityComparison.includes(c.udt_name) ? "::TEXT" : "",
106
114
  };
107
115
  });
108
- if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
116
+ // if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
117
+ if (!hasPkey || !cols || !tracked_columns?.length) {
109
118
  return null;
110
119
  }
111
120
  const trackedColumnsWithInfo = tracked_columns.map((name) => {
@@ -1 +1 @@
1
- {"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteOrphanedTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":";;AAGA,wDAgCC;AAlCD,6DAAwF;AAExF,SAAgB,sBAAsB,CAAsB,UAAoB;IAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,oBAAoB,IAAA,4BAAO,EAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC,IAAA,4BAAO,EAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACrK,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,OAAO,IAAI,CAAC,EAAE;SACX,GAAG,CACF;;aAEO,uDAAkC;;;gBAG/B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;;SAE9B,EACH,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACtB;SACA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpB,kDAAkD;QAClD,iCAAiC;QACjC,qEAAqE;QACrE,0BAA0B;QAC1B,KAAK;QACL,oCAAoC;QACpC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"deleteOrphanedTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/deleteOrphanedTriggers.ts"],"names":[],"mappings":";;AAGA,wDAgCC;AAlCD,6DAAmF;AAEnF,SAAgB,sBAAsB,CAAsB,UAAoB;IAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,oBAAoB,IAAA,4BAAO,EAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC,IAAA,4BAAO,EAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACrK,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,OAAO,IAAI,CAAC,EAAE;SACX,GAAG,CACF;;aAEO,uDAAkC;;;gBAG/B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;;SAE9B,EACH,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACtB;SACA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpB,kDAAkD;QAClD,iCAAiC;QACjC,qEAAqE;QACrE,0BAA0B;QAC1B,KAAK;QACL,oCAAoC;QACpC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -7,6 +7,7 @@ import type { NewQuery } from "./QueryBuilder/QueryBuilder";
7
7
  import type { TableHandler } from "./TableHandler/TableHandler";
8
8
  import type { ViewHandler } from "./ViewHandler/ViewHandler";
9
9
  import { getViewRelatedTables } from "./ViewRelatedTables/getViewRelatedTables";
10
+ import type { AddTriggerParams } from "../PubSubManager/addTrigger";
10
11
 
11
12
  type Args = {
12
13
  selectParams: Omit<SubscribeParams, "throttle">;
@@ -46,15 +47,7 @@ export async function getSubscribeRelatedTables(
46
47
  throw `Table ${relatedTableName} not found`;
47
48
  }
48
49
 
49
- const alreadyPushed = viewOptions?.relatedTables.find(
50
- (rt) => rt.tableName === relatedTableName,
51
- );
52
- if (alreadyPushed || relatedTableOrViewHandler.is_view) {
53
- console.warn({
54
- selectedColumnNames,
55
- alreadyPushed,
56
- is_view: relatedTableOrViewHandler.is_view,
57
- });
50
+ if (relatedTableOrViewHandler.is_view) {
58
51
  return;
59
52
  }
60
53
 
@@ -89,11 +82,25 @@ export async function getSubscribeRelatedTables(
89
82
  new Set([...(selectedColumnNames ?? []), ...joinColumns, ...joinConditionInfo.columnsUsed]),
90
83
  );
91
84
 
85
+ const tracked_columns: AddTriggerParams["tracked_columns"] =
86
+ !firstField ? undefined : [firstField, ...otherFields];
87
+ const condition = joinConditionInfo.where;
88
+
89
+ const alreadyPushed = viewOptions.relatedTables.find(
90
+ (rt) => rt.tableName === relatedTableName && rt.condition === condition,
91
+ );
92
+ if (alreadyPushed) {
93
+ const [firstMerged, ...others] = Array.from(
94
+ new Set([...(alreadyPushed.tracked_columns ?? []), ...(tracked_columns ?? [])]),
95
+ );
96
+ alreadyPushed.tracked_columns = firstMerged ? [firstMerged, ...others] : undefined;
97
+ return;
98
+ }
92
99
  viewOptions.relatedTables.push({
93
100
  tableName: relatedTableName,
94
101
  tableNameEscaped: asName(relatedTableName),
95
- tracked_columns: !firstField ? undefined : [firstField, ...otherFields],
96
- condition: joinConditionInfo.where,
102
+ tracked_columns,
103
+ condition,
97
104
  });
98
105
  };
99
106
 
@@ -1,11 +1,11 @@
1
+ import * as crypto from "crypto";
1
2
  import { asName, pickKeys, tryCatchV2 } from "prostgles-types";
3
+ import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
4
+ import type { TableHandler } from "../DboBuilder/TableHandler/TableHandler";
2
5
  import type { ViewSubscriptionOptions } from "./PubSubManager";
3
6
  import { type PubSubManager } from "./PubSubManager";
4
- import * as crypto from "crypto";
5
- import type { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
6
- import { asValue, EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "./PubSubManagerUtils";
7
+ import { EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "./PubSubManagerUtils";
7
8
  import { udtNamesWithoutEqualityComparison } from "./init/getDataWatchFunctionQuery";
8
- import type { TableHandler } from "../DboBuilder/TableHandler/TableHandler";
9
9
 
10
10
  export type AddTriggerParams = {
11
11
  table_name: string;
@@ -30,19 +30,24 @@ export async function addTrigger(
30
30
  throw "Triggers do not work on timescaledb hypertables due to bug:\nhttps://github.com/timescale/timescaledb/issues/1084";
31
31
  }
32
32
 
33
- const trgVals = {
34
- tbl: asValue(table_name),
35
- cond: asValue(condition),
36
- condHash: asValue(crypto.createHash("md5").update(condition).digest("hex")),
37
- };
38
-
39
33
  const tableHandler = this.dbo[table_name];
40
34
  if (!tableHandler) {
41
35
  throw `Cannot add trigger. Tablehandler for ${table_name} not found`;
42
36
  }
43
37
 
44
- await this.db.tx((t) =>
45
- t.any(`
38
+ const trgVals = {
39
+ tableName: table_name,
40
+ condition: condition,
41
+ conditionHash: crypto.createHash("md5").update(condition).digest("hex"),
42
+ relatedViewName: viewOptions?.viewName ?? null,
43
+ relatedViewDef: viewOptions?.definition ?? null,
44
+ columnsInfo: getColumnsInfo(params, tableHandler),
45
+ };
46
+
47
+ const TRACKED_COLUMNS = "tracked_columns" as const satisfies keyof AddTriggerParams;
48
+
49
+ await this.db.any(
50
+ `
46
51
  BEGIN WORK;
47
52
  /* ${EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
48
53
  /* why is this lock level needed? */
@@ -50,7 +55,7 @@ export async function addTrigger(
50
55
 
51
56
  /** app_triggers is not refreshed when tables are dropped */
52
57
  DELETE FROM prostgles.app_triggers at
53
- WHERE app_id = ${asValue(this.appId)}
58
+ WHERE app_id = \${appId}
54
59
  AND NOT EXISTS (
55
60
  SELECT 1
56
61
  FROM pg_catalog.pg_trigger t
@@ -68,28 +73,33 @@ export async function addTrigger(
68
73
  columns_info
69
74
  )
70
75
  VALUES (
71
- ${trgVals.tbl},
72
- ${trgVals.cond},
73
- ${trgVals.condHash},
74
- ${asValue(this.appId)},
75
- ${asValue(viewOptions?.viewName ?? null)},
76
- ${asValue(viewOptions?.definition ?? null)},
77
- ${asValue(getColumnsInfo(params, tableHandler))}
76
+ \${tableName},
77
+ \${condition},
78
+ \${conditionHash},
79
+ \${appId} ,
80
+ \${relatedViewName},
81
+ \${relatedViewDef},
82
+ \${columnsInfo}
78
83
  )
79
84
  ON CONFLICT (app_id, table_name, condition_hash)
80
- DO UPDATE /* upsert tracked_columns where necessary */
81
- SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL THEN
85
+ DO UPDATE /* upsert ${TRACKED_COLUMNS} where necessary */
86
+ SET columns_info = CASE WHEN EXCLUDED.columns_info IS NOT NULL AND prostgles.app_triggers.columns_info IS NOT NULL THEN
82
87
  jsonb_set(
83
88
  prostgles.app_triggers.columns_info,
84
- '{tracked_columns}',
85
- prostgles.app_triggers.columns_info->'tracked_columns' || EXCLUDED.columns_info->'tracked_columns'
89
+ '{${TRACKED_COLUMNS}}',
90
+ /* THE PARENTHESES ARE CRUCIAL IN ENSURING THE MERGE WORKS */
91
+ (prostgles.app_triggers.columns_info->'${TRACKED_COLUMNS}') || (EXCLUDED.columns_info->'${TRACKED_COLUMNS}')
86
92
  )
87
93
  END
88
94
  WHERE prostgles.app_triggers.columns_info IS NOT NULL
89
95
  ;
90
96
 
91
97
  COMMIT WORK;
92
- `),
98
+ `,
99
+ {
100
+ appId: this.appId,
101
+ ...trgVals,
102
+ },
93
103
  );
94
104
 
95
105
  /** This might be redundant due to trigger on app_triggers */
@@ -101,13 +111,13 @@ export async function addTrigger(
101
111
  await this._log({
102
112
  type: "syncOrSub",
103
113
  command: "addTrigger",
104
- condition: addedTrigger.data?.cond ?? params.condition,
114
+ condition: addedTrigger.data?.condition ?? params.condition,
105
115
  duration: addedTrigger.duration,
106
116
  socketId: socket?.id,
107
- state: !addedTrigger.data?.tbl ? "fail" : "ok",
117
+ state: !addedTrigger.data?.tableName ? "fail" : "ok",
108
118
  error: addedTrigger.error,
109
119
  sid: socket && this.dboBuilder.prostgles.authHandler.getSIDNoError({ socket }),
110
- tableName: addedTrigger.data?.tbl ?? params.table_name,
120
+ tableName: params.table_name,
111
121
  connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map((s) => s.id),
112
122
  localParams: socket && { clientReq: { socket } },
113
123
  triggers: this._triggers,
@@ -131,7 +141,8 @@ const getColumnsInfo = (
131
141
  };
132
142
  });
133
143
 
134
- if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
144
+ // if (!hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length) {
145
+ if (!hasPkey || !cols || !tracked_columns?.length) {
135
146
  return null;
136
147
  }
137
148
 
@@ -1,5 +1,5 @@
1
1
  import type { PubSubManager } from "./PubSubManager";
2
- import { asValue, EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID, log } from "./PubSubManagerUtils";
2
+ import { asValue, EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "./PubSubManagerUtils";
3
3
 
4
4
  export function deleteOrphanedTriggers(this: PubSubManager, tableNames: string[]) {
5
5
  const conditions = tableNames.map((tableName) => {
@@ -19,7 +19,7 @@ export function deleteOrphanedTriggers(this: PubSubManager, tableNames: string[]
19
19
  AND ( ${conditions.join(" OR ")} )
20
20
  --RETURNING *
21
21
  `,
22
- { appId: this.appId }
22
+ { appId: this.appId },
23
23
  )
24
24
  .then(async (_rows) => {
25
25
  // log("Orphaned triggers deleted", _rows.length);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.494",
3
+ "version": "4.2.496",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",