prostgles-server 4.2.295 → 4.2.297

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.
Files changed (76) hide show
  1. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  2. package/dist/DboBuilder/DboBuilder.js +5 -3
  3. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  4. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  5. package/dist/DboBuilder/TableHandler/update.js +2 -2
  6. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  7. package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.d.ts.map +1 -1
  8. package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.js +3 -1
  9. package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.js.map +1 -1
  10. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  11. package/dist/DboBuilder/ViewHandler/subscribe.js +4 -3
  12. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  13. package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
  14. package/dist/DboBuilder/getSubscribeRelatedTables.js +5 -5
  15. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  16. package/dist/PubSubManager/PubSubManager.d.ts +6 -13
  17. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  18. package/dist/PubSubManager/PubSubManager.js +2 -2
  19. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  20. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  21. package/dist/PubSubManager/addSub.js +7 -7
  22. package/dist/PubSubManager/addSub.js.map +1 -1
  23. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  24. package/dist/PubSubManager/addSync.js +1 -1
  25. package/dist/PubSubManager/addSync.js.map +1 -1
  26. package/dist/PubSubManager/addTrigger.d.ts +4 -2
  27. package/dist/PubSubManager/addTrigger.d.ts.map +1 -1
  28. package/dist/PubSubManager/addTrigger.js +55 -3
  29. package/dist/PubSubManager/addTrigger.js.map +1 -1
  30. package/dist/PubSubManager/getCreatePubSubManagerError.js +1 -1
  31. package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
  32. package/dist/PubSubManager/init/getDataWatchFunctionQuery.d.ts +5 -0
  33. package/dist/PubSubManager/init/getDataWatchFunctionQuery.d.ts.map +1 -1
  34. package/dist/PubSubManager/init/getDataWatchFunctionQuery.js +80 -51
  35. package/dist/PubSubManager/init/getDataWatchFunctionQuery.js.map +1 -1
  36. package/dist/PubSubManager/{getPubSubManagerInitQuery.d.ts → init/getPubSubManagerInitQuery.d.ts} +1 -1
  37. package/dist/PubSubManager/init/getPubSubManagerInitQuery.d.ts.map +1 -0
  38. package/dist/PubSubManager/{getPubSubManagerInitQuery.js → init/getPubSubManagerInitQuery.js} +22 -19
  39. package/dist/PubSubManager/init/getPubSubManagerInitQuery.js.map +1 -0
  40. package/dist/PubSubManager/{initPubSubManager.d.ts → init/initPubSubManager.d.ts} +1 -1
  41. package/dist/PubSubManager/init/initPubSubManager.d.ts.map +1 -0
  42. package/dist/PubSubManager/{initPubSubManager.js → init/initPubSubManager.js} +3 -3
  43. package/dist/PubSubManager/init/initPubSubManager.js.map +1 -0
  44. package/dist/PubSubManager/initialiseEventTriggers.js +1 -1
  45. package/dist/PubSubManager/initialiseEventTriggers.js.map +1 -1
  46. package/dist/PubSubManager/notifListener.d.ts.map +1 -1
  47. package/dist/PubSubManager/notifListener.js +15 -15
  48. package/dist/PubSubManager/notifListener.js.map +1 -1
  49. package/dist/PubSubManager/orphanTriggerCheck.js +1 -1
  50. package/dist/PubSubManager/orphanTriggerCheck.js.map +1 -1
  51. package/dist/TableConfig/runSQLFile.d.ts +3 -0
  52. package/dist/TableConfig/runSQLFile.d.ts.map +1 -1
  53. package/dist/TableConfig/runSQLFile.js +11 -1
  54. package/dist/TableConfig/runSQLFile.js.map +1 -1
  55. package/lib/DboBuilder/DboBuilder.ts +13 -3
  56. package/lib/DboBuilder/TableHandler/update.ts +2 -3
  57. package/lib/DboBuilder/ViewHandler/getValidatedSubscribeOptions.ts +9 -1
  58. package/lib/DboBuilder/ViewHandler/subscribe.ts +5 -3
  59. package/lib/DboBuilder/getSubscribeRelatedTables.ts +8 -5
  60. package/lib/PubSubManager/PubSubManager.ts +7 -12
  61. package/lib/PubSubManager/addSub.ts +10 -9
  62. package/lib/PubSubManager/addSync.ts +5 -1
  63. package/lib/PubSubManager/addTrigger.ts +77 -6
  64. package/lib/PubSubManager/getCreatePubSubManagerError.ts +1 -1
  65. package/lib/PubSubManager/init/getDataWatchFunctionQuery.ts +80 -50
  66. package/lib/PubSubManager/{getPubSubManagerInitQuery.ts → init/getPubSubManagerInitQuery.ts} +23 -20
  67. package/lib/PubSubManager/{initPubSubManager.ts → init/initPubSubManager.ts} +4 -4
  68. package/lib/PubSubManager/initialiseEventTriggers.ts +1 -1
  69. package/lib/PubSubManager/notifListener.ts +19 -28
  70. package/lib/PubSubManager/orphanTriggerCheck.ts +1 -1
  71. package/lib/TableConfig/runSQLFile.ts +19 -2
  72. package/package.json +2 -2
  73. package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +0 -1
  74. package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +0 -1
  75. package/dist/PubSubManager/initPubSubManager.d.ts.map +0 -1
  76. package/dist/PubSubManager/initPubSubManager.js.map +0 -1
@@ -4,6 +4,7 @@ exports.addTrigger = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const crypto = require("crypto");
6
6
  const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
7
+ const getDataWatchFunctionQuery_1 = require("./init/getDataWatchFunctionQuery");
7
8
  async function addTrigger(params, viewOptions, socket) {
8
9
  const addedTrigger = await (0, prostgles_types_1.tryCatchV2)(async () => {
9
10
  const { table_name } = { ...params };
@@ -21,6 +22,10 @@ async function addTrigger(params, viewOptions, socket) {
21
22
  cond: (0, PubSubManagerUtils_1.asValue)(condition),
22
23
  condHash: (0, PubSubManagerUtils_1.asValue)(crypto.createHash("md5").update(condition).digest("hex")),
23
24
  };
25
+ const tableHandler = this.dbo[table_name];
26
+ if (!tableHandler) {
27
+ throw `Cannot add trigger. Tablehandler for ${table_name} not found`;
28
+ }
24
29
  await this.db.tx((t) => t.any(`
25
30
  BEGIN WORK;
26
31
  /* ${PubSubManagerUtils_1.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
@@ -43,7 +48,8 @@ async function addTrigger(params, viewOptions, socket) {
43
48
  condition_hash,
44
49
  app_id,
45
50
  related_view_name,
46
- related_view_def
51
+ related_view_def,
52
+ columns_info
47
53
  )
48
54
  VALUES (
49
55
  ${trgVals.tbl},
@@ -51,9 +57,20 @@ async function addTrigger(params, viewOptions, socket) {
51
57
  ${trgVals.condHash},
52
58
  ${(0, PubSubManagerUtils_1.asValue)(this.appId)},
53
59
  ${(0, PubSubManagerUtils_1.asValue)(viewOptions?.viewName ?? null)},
54
- ${(0, PubSubManagerUtils_1.asValue)(viewOptions?.definition ?? null)}
60
+ ${(0, PubSubManagerUtils_1.asValue)(viewOptions?.definition ?? null)},
61
+ ${(0, PubSubManagerUtils_1.asValue)(getColumnsInfo(params, tableHandler))}
55
62
  )
56
- ON CONFLICT DO NOTHING;
63
+ 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
66
+ jsonb_set(
67
+ prostgles.app_triggers.columns_info,
68
+ '{tracked_columns}',
69
+ prostgles.app_triggers.columns_info->'tracked_columns' || EXCLUDED.columns_info->'tracked_columns'
70
+ )
71
+ END
72
+ WHERE prostgles.app_triggers.columns_info IS NOT NULL
73
+ ;
57
74
 
58
75
  COMMIT WORK;
59
76
  `));
@@ -80,4 +97,39 @@ async function addTrigger(params, viewOptions, socket) {
80
97
  return addedTrigger;
81
98
  }
82
99
  exports.addTrigger = addTrigger;
100
+ const getColumnsInfo = ({ tracked_columns, table_name }, tableHandler) => {
101
+ if (tracked_columns && !tracked_columns.length) {
102
+ throw "tracked_columns cannot be defined and empty";
103
+ }
104
+ let hasPkey = false;
105
+ const cols = tableHandler.columns?.map((c) => {
106
+ hasPkey = hasPkey || c.is_pkey;
107
+ return {
108
+ ...(0, prostgles_types_1.pickKeys)(c, ["name", "is_pkey"]),
109
+ cast_to: getDataWatchFunctionQuery_1.udtNamesWithoutEqualityComparison.includes(c.udt_name) ? "::TEXT" : "",
110
+ };
111
+ });
112
+ tracked_columns?.forEach((colName) => {
113
+ if (!cols?.some((c) => c.name === colName)) {
114
+ throw `tracked_columns ${colName} not found in table ${table_name}`;
115
+ }
116
+ });
117
+ const columns_info = !hasPkey || !cols || !tracked_columns?.length || tracked_columns.length === cols.length ?
118
+ null
119
+ : {
120
+ join_condition: cols
121
+ .filter((c) => c.is_pkey)
122
+ .map((c) => `n.${(0, prostgles_types_1.asName)(c.name)} = o.${(0, prostgles_types_1.asName)(c.name)}`)
123
+ .join(" AND "),
124
+ tracked_columns: tracked_columns.reduce((acc, colName) => ({
125
+ ...acc,
126
+ [colName]: 1,
127
+ }), {}),
128
+ where_statement: cols
129
+ .filter((c) => !c.is_pkey && tracked_columns.includes(c.name))
130
+ .map((c) => `column_name = ${(0, PubSubManagerUtils_1.asValue)(c.name)} AND n.${(0, prostgles_types_1.asName)(c.name)}${c.cast_to} IS DISTINCT FROM o.${(0, prostgles_types_1.asName)(c.name)}${c.cast_to}`)
131
+ .join(" OR \n"),
132
+ };
133
+ return columns_info;
134
+ };
83
135
  //# sourceMappingURL=addTrigger.js.map
@@ -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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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCreatePubSubManagerError = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
- const getPubSubManagerInitQuery_1 = require("./getPubSubManagerInitQuery");
5
+ const getPubSubManagerInitQuery_1 = require("./init/getPubSubManagerInitQuery");
6
6
  const dboBuilderUtils_1 = require("../DboBuilder/dboBuilderUtils");
7
7
  const getCreatePubSubManagerError = async (dboBuilder) => {
8
8
  const db = dboBuilder.db;
@@ -1 +1 @@
1
- {"version":3,"file":"getCreatePubSubManagerError.js","sourceRoot":"","sources":["../../lib/PubSubManager/getCreatePubSubManagerError.ts"],"names":[],"mappings":";;;AAAA,qDAAuD;AACvD,2EAAwE;AACxE,mEAA8D;AAGvD,MAAM,2BAA2B,GAAG,KAAK,EAC9C,UAAsB,EACO,EAAE;IAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IAEzB,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAa,EAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU;QAAE,OAAO,kDAAkD,CAAC;IAE3E,uCAAuC;IACvC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC;;;;GAI/B,CAAC,CAAC;IAEH,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAC3C,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,CAAC,CAAC,IAAI,CAAC;;;;;SAKd,CAAC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,+BAA+B,EAAE,CAAC;QACpE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACjD,OAAO,oEAAoE,MAAM,OAAO,IAAI,EAAE,CAAC;QACjG,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,CAAC,GAAG,CAAC;;OAEZ,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CACX,8DAA8D,EAC9D,eAAe,CAAC,KAAK,CACtB,CAAC;YACF,OAAO,8DAA8D,CAAC;QACxE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9C,KAAK,EAAE,MAAM,qDAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;KAC1D,CAAC,CAAC,CAAC;IACJ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AA1EW,QAAA,2BAA2B,+BA0EtC"}
1
+ {"version":3,"file":"getCreatePubSubManagerError.js","sourceRoot":"","sources":["../../lib/PubSubManager/getCreatePubSubManagerError.ts"],"names":[],"mappings":";;;AAAA,qDAAuD;AACvD,gFAA6E;AAC7E,mEAA8D;AAGvD,MAAM,2BAA2B,GAAG,KAAK,EAC9C,UAAsB,EACO,EAAE;IAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IAEzB,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAa,EAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU;QAAE,OAAO,kDAAkD,CAAC;IAE3E,uCAAuC;IACvC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC;;;;GAI/B,CAAC,CAAC;IAEH,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAC3C,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,CAAC,CAAC,IAAI,CAAC;;;;;SAKd,CAAC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,+BAA+B,EAAE,CAAC;QACpE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACjD,OAAO,oEAAoE,MAAM,OAAO,IAAI,EAAE,CAAC;QACjG,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,CAAC,GAAG,CAAC;;OAEZ,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CACX,8DAA8D,EAC9D,eAAe,CAAC,KAAK,CACtB,CAAC;YACF,OAAO,8DAA8D,CAAC;QACxE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9C,KAAK,EAAE,MAAM,qDAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;KAC1D,CAAC,CAAC,CAAC;IACJ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AA1EW,QAAA,2BAA2B,+BA0EtC"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * Error:
3
+ * could not identify an equality operator for type json', code: '42883'
4
+ */
5
+ export declare const udtNamesWithoutEqualityComparison: string[];
1
6
  export declare const getDataWatchFunctionQuery: (debugMode: boolean | undefined) => string;
2
7
  //# sourceMappingURL=getDataWatchFunctionQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDataWatchFunctionQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,cAAe,OAAO,GAAG,SAAS,WAkLvE,CAAC"}
1
+ {"version":3,"file":"getDataWatchFunctionQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,iCAAiC,UAAkB,CAAC;AACjE,eAAO,MAAM,yBAAyB,cAAe,OAAO,GAAG,SAAS,WAyJvE,CAAC"}
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDataWatchFunctionQuery = void 0;
4
- const getPubSubManagerInitQuery_1 = require("../getPubSubManagerInitQuery");
3
+ exports.getDataWatchFunctionQuery = exports.udtNamesWithoutEqualityComparison = void 0;
4
+ const getPubSubManagerInitQuery_1 = require("./getPubSubManagerInitQuery");
5
5
  const orphanTriggerCheck_1 = require("../orphanTriggerCheck");
6
6
  const PubSubManagerUtils_1 = require("../PubSubManagerUtils");
7
+ /**
8
+ * Error:
9
+ * could not identify an equality operator for type json', code: '42883'
10
+ */
11
+ exports.udtNamesWithoutEqualityComparison = ["json", "xml"];
7
12
  const getDataWatchFunctionQuery = (debugMode) => {
8
13
  return `
9
14
 
@@ -13,7 +18,7 @@ const getDataWatchFunctionQuery = (debugMode) => {
13
18
  DECLARE t_ids TEXT[];
14
19
  DECLARE c_ids INTEGER[];
15
20
  DECLARE err_c_ids INTEGER[];
16
- DECLARE unions TEXT := '';
21
+ DECLARE condition_checks_union_query TEXT := '';
17
22
  DECLARE query TEXT := '';
18
23
  DECLARE v_trigger RECORD;
19
24
  DECLARE has_errors BOOLEAN := FALSE;
@@ -25,38 +30,15 @@ const getDataWatchFunctionQuery = (debugMode) => {
25
30
  DECLARE view_def_query TEXT := '';
26
31
 
27
32
  DECLARE escaped_table TEXT;
33
+
34
+ DECLARE _columns_info JSONB := NULL;
28
35
 
29
- DECLARE changed_columns TEXT := NULL;
30
-
36
+ DECLARE changed_columns _TEXT := NULL;
31
37
  BEGIN
32
-
33
- --PERFORM pg_notify('debug', concat_ws(' ', 'TABLE', TG_TABLE_NAME, TG_OP));
34
-
35
-
36
- -- Determine changed columns for UPDATE operations
37
- IF TG_OP = 'UPDATE' THEN
38
- WITH cols AS (
39
- SELECT column_name::text
40
- FROM information_schema.columns
41
- WHERE table_schema = TG_TABLE_SCHEMA
42
- AND table_name = TG_TABLE_NAME
43
- ),
44
- changed AS (
45
- SELECT column_name
46
- FROM cols
47
- WHERE EXISTS (
48
- SELECT 1 FROM new_table n
49
- JOIN old_table o ON TRUE
50
- WHERE n.* IS DISTINCT FROM o.*
51
- LIMIT 1
52
- )
53
- )
54
- SELECT string_agg(column_name, ',') INTO changed_columns
55
- FROM changed;
56
- END IF;
57
-
58
-
38
+
59
39
  escaped_table := concat_ws('.', CASE WHEN TG_TABLE_SCHEMA <> CURRENT_SCHEMA THEN format('%I', TG_TABLE_SCHEMA) END, format('%I', TG_TABLE_NAME));
40
+
41
+ ${CHANGED_COLUMNS_CHECK}
60
42
 
61
43
  SELECT string_agg(
62
44
  format(
@@ -65,7 +47,7 @@ const getDataWatchFunctionQuery = (debugMode) => {
65
47
  SELECT 1
66
48
  FROM %s
67
49
  WHERE %s
68
- ) THEN %s::text END AS t_ids
50
+ ) THEN %s::text END AS t_id
69
51
  $c$,
70
52
  table_name,
71
53
  condition,
@@ -73,13 +55,13 @@ const getDataWatchFunctionQuery = (debugMode) => {
73
55
  ),
74
56
  E' UNION \n '
75
57
  )
76
- INTO unions
58
+ INTO condition_checks_union_query
77
59
  FROM prostgles.v_triggers
78
60
  WHERE table_name = escaped_table;
79
61
 
80
62
 
81
- /* unions = 'old_table union new_table' or any one of the tables */
82
- IF unions IS NOT NULL THEN
63
+ /* condition_checks_union_query = 'old_table union new_table' or any one of the tables */
64
+ IF condition_checks_union_query IS NOT NULL THEN
83
65
 
84
66
  SELECT
85
67
  format(
@@ -105,33 +87,31 @@ const getDataWatchFunctionQuery = (debugMode) => {
105
87
  ||
106
88
  format(
107
89
  $c$
108
- SELECT ARRAY_AGG(DISTINCT t.t_ids)
90
+ SELECT ARRAY_AGG(DISTINCT t.t_id)
109
91
  FROM (
110
92
  %s
111
93
  ) t
112
94
  $c$,
113
- unions
95
+ condition_checks_union_query
114
96
  )
115
97
  INTO query;
116
98
 
117
- BEGIN
118
- EXECUTE query INTO t_ids;
99
+ BEGIN
100
+ EXECUTE query INTO t_ids;
119
101
 
120
- --RAISE NOTICE 'trigger fired ok';
121
-
122
- EXCEPTION WHEN OTHERS THEN
123
-
124
- has_errors := TRUE;
102
+ EXCEPTION WHEN OTHERS THEN
103
+
104
+ has_errors := TRUE;
125
105
 
126
- GET STACKED DIAGNOSTICS
127
- err_text = MESSAGE_TEXT,
128
- err_detail = PG_EXCEPTION_DETAIL,
129
- err_hint = PG_EXCEPTION_HINT;
106
+ GET STACKED DIAGNOSTICS
107
+ err_text = MESSAGE_TEXT,
108
+ err_detail = PG_EXCEPTION_DETAIL,
109
+ err_hint = PG_EXCEPTION_HINT;
130
110
 
131
111
  END;
132
112
 
133
113
  --RAISE NOTICE 'has_errors: % ', has_errors;
134
- --RAISE NOTICE 'unions: % , cids: %', unions, c_ids;
114
+ --RAISE NOTICE 'condition_checks_union_query: % , cids: %', condition_checks_union_query, c_ids;
135
115
 
136
116
  IF (t_ids IS NOT NULL OR has_errors) THEN
137
117
 
@@ -155,7 +135,7 @@ const getDataWatchFunctionQuery = (debugMode) => {
155
135
  THEN concat_ws('; ', 'error', err_text, err_detail, err_hint, 'query: ' || query )
156
136
  ELSE COALESCE(v_trigger.cids, '')
157
137
  END,
158
- COALESCE(changed_columns, '')
138
+ COALESCE(changed_columns::TEXT, '')
159
139
  ${debugMode ? ", COALESCE(current_query(), 'current_query ??'), ' ', query" : ""}
160
140
  ), 7999/4) -- Some chars are 2bytes -> 'Ω'
161
141
  );
@@ -184,4 +164,53 @@ const getDataWatchFunctionQuery = (debugMode) => {
184
164
  `;
185
165
  };
186
166
  exports.getDataWatchFunctionQuery = getDataWatchFunctionQuery;
167
+ const CHANGED_COLUMNS_CHECK = `
168
+
169
+
170
+ -- Determine changed columns for UPDATE operations
171
+ IF TG_OP = 'UPDATE' THEN
172
+
173
+ SELECT columns_info
174
+ INTO _columns_info
175
+ FROM prostgles.v_triggers
176
+ WHERE table_name = escaped_table
177
+ AND columns_info IS NOT NULL;
178
+
179
+ IF _columns_info IS NOT NULL THEN
180
+ query := format(
181
+ $c$
182
+ WITH changed AS (
183
+ SELECT column_name
184
+ FROM jsonb_object_keys(%L) as column_name
185
+ WHERE EXISTS (
186
+ SELECT 1
187
+ FROM old_table o
188
+ LEFT JOIN new_table n
189
+ ON %s
190
+ WHERE %s
191
+ )
192
+ )
193
+ SELECT array_agg(column_name)
194
+ FROM changed;
195
+ $c$,
196
+ _columns_info->>'tracked_columns',
197
+ _columns_info->>'join_condition',
198
+ _columns_info->>'where_statement'
199
+ );
200
+
201
+ BEGIN
202
+ EXECUTE query INTO changed_columns;
203
+ END;
204
+
205
+ /* It is possible to get no changes */
206
+ changed_columns := COALESCE(changed_columns, '{}');
207
+
208
+ IF NOT starts_with(changed_columns::TEXT, '{') THEN
209
+ RAISE EXCEPTION 'changed_columns is not a JSON array: %', changed_columns;
210
+ END IF;
211
+
212
+ END IF;
213
+ END IF;
214
+
215
+ `;
187
216
  //# sourceMappingURL=getDataWatchFunctionQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDataWatchFunctionQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":";;;AAAA,4EAA4D;AAC5D,8DAAyD;AACzD,8DAAsF;AAE/E,MAAM,yBAAyB,GAAG,CAAC,SAA8B,EAAE,EAAE;IAC1E,OAAO;;qCAE4B,wCAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyIjC,IAAA,4BAAO,EAAC,kCAAa,CAAC,OAAO,CAAC;;kCAE5B,IAAA,4BAAO,EAAC,8BAAS,CAAC;;kCAElB,IAAA,4BAAO,EAAC,+BAAU,CAAC,IAAI,CAAC;;;;;;;;kCAQxB,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;kBAgB9F,IAAA,qCAAgB,GAAE;;;;;;;8BAON,wCAAY,CAAC,eAAe;;GAEvD,CAAC;AACJ,CAAC,CAAC;AAlLW,QAAA,yBAAyB,6BAkLpC"}
1
+ {"version":3,"file":"getDataWatchFunctionQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":";;;AAAA,2EAA2D;AAC3D,8DAAyD;AACzD,8DAAsF;AAEtF;;;GAGG;AACU,QAAA,iCAAiC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1D,MAAM,yBAAyB,GAAG,CAAC,SAA8B,EAAE,EAAE;IAC1E,OAAO;;qCAE4B,wCAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0B/C,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAsFP,IAAA,4BAAO,EAAC,kCAAa,CAAC,OAAO,CAAC;;kCAE5B,IAAA,4BAAO,EAAC,8BAAS,CAAC;;kCAElB,IAAA,4BAAO,EAAC,+BAAU,CAAC,IAAI,CAAC;;;;;;;;kCAQxB,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;kBAgB9F,IAAA,qCAAgB,GAAE;;;;;;;8BAON,wCAAY,CAAC,eAAe;;GAEvD,CAAC;AACJ,CAAC,CAAC;AAzJW,QAAA,yBAAyB,6BAyJpC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD7B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DboBuilder } from "../DboBuilder/DboBuilder";
1
+ import { DboBuilder } from "../../DboBuilder/DboBuilder";
2
2
  export declare const DB_OBJ_NAMES: {
3
3
  readonly trigger_add_remove_func: "prostgles.trigger_add_remove_func";
4
4
  readonly data_watch_func: "prostgles.prostgles_trigger_function";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAazD,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AA+dX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,SAC9B,UAAU,KACf,QAAQ,MAAM,GAAG,SAAS,CAyB5B,CAAC"}
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPubSubManagerInitQuery = exports.DB_OBJ_NAMES = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
- const DboBuilderTypes_1 = require("../DboBuilder/DboBuilderTypes");
6
- const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
7
- const orphanTriggerCheck_1 = require("./orphanTriggerCheck");
8
- const package_json_1 = require("../../package.json");
9
- const getDataWatchFunctionQuery_1 = require("./init/getDataWatchFunctionQuery");
5
+ const DboBuilderTypes_1 = require("../../DboBuilder/DboBuilderTypes");
6
+ const PubSubManagerUtils_1 = require("../PubSubManagerUtils");
7
+ const orphanTriggerCheck_1 = require("../orphanTriggerCheck");
8
+ const package_json_1 = require("../../../package.json");
9
+ const getDataWatchFunctionQuery_1 = require("./getDataWatchFunctionQuery");
10
10
  exports.DB_OBJ_NAMES = {
11
11
  trigger_add_remove_func: "prostgles.trigger_add_remove_func",
12
12
  data_watch_func: "prostgles.prostgles_trigger_function",
@@ -188,8 +188,8 @@ BEGIN
188
188
  condition TEXT NOT NULL,
189
189
  condition_hash TEXT NOT NULL,
190
190
 
191
- /** If defined, will check the provided fields for changes */
192
- fields _TEXT ,
191
+ /** If defined, will check which columns changed which will then be used in the sub notification logic */
192
+ columns_info JSONB ,
193
193
 
194
194
  /* The view from the root subscription, found in the condition.
195
195
  We need this because old_table/new_table data is not reflected in the view inside the AFTER trigger
@@ -328,25 +328,28 @@ BEGIN
328
328
  COMMENT ON TRIGGER %1$I ON %2$s IS 'Prostgles internal trigger used to notify when data in the table changed';
329
329
  */
330
330
  $q$,
331
- 'prostgles_triggers_' || trw.table_name || '_insert', trw.table_name
332
- ) || format(
331
+ 'prostgles_triggers_' || trw.table_name || '_insert',
332
+ trw.table_name
333
+ ) ||
334
+ format(
333
335
  $q$
334
- ${createTriggerQuery}
335
- AFTER UPDATE ON %2$s
336
- REFERENCING OLD TABLE AS old_table NEW TABLE AS new_table
337
- FOR EACH STATEMENT EXECUTE PROCEDURE ${exports.DB_OBJ_NAMES.data_watch_func}();
338
- --COMMENT ON TRIGGER %1$I ON %2$s IS 'Prostgles internal trigger used to notify when data in the table changed';
336
+ ${createTriggerQuery}
337
+ AFTER UPDATE ON %2$s
338
+ REFERENCING OLD TABLE AS old_table NEW TABLE AS new_table
339
+ FOR EACH STATEMENT EXECUTE PROCEDURE ${exports.DB_OBJ_NAMES.data_watch_func}();
339
340
  $q$,
340
- 'prostgles_triggers_' || trw.table_name || '_update', trw.table_name
341
- ) || format(
341
+ 'prostgles_triggers_' || trw.table_name || '_update',
342
+ trw.table_name
343
+ ) ||
344
+ format(
342
345
  $q$
343
346
  ${createTriggerQuery}
344
347
  AFTER DELETE ON %2$s
345
348
  REFERENCING OLD TABLE AS old_table
346
- FOR EACH STATEMENT EXECUTE PROCEDURE ${exports.DB_OBJ_NAMES.data_watch_func}();
347
- --COMMENT ON TRIGGER %1$I ON %2$s IS 'Prostgles internal trigger used to notify when data in the table changed';
349
+ FOR EACH STATEMENT EXECUTE PROCEDURE ${exports.DB_OBJ_NAMES.data_watch_func}();
348
350
  $q$,
349
- 'prostgles_triggers_' || trw.table_name || '_delete', trw.table_name
351
+ 'prostgles_triggers_' || trw.table_name || '_delete',
352
+ trw.table_name
350
353
  );
351
354
  END IF;
352
355
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type PubSubManager } from "./PubSubManager";
1
+ import { type PubSubManager } from "../PubSubManager";
2
2
  export declare const REALTIME_TRIGGER_CHECK_QUERY = "prostgles-server internal query used to manage realtime triggers";
3
3
  export declare const tout: (ms: number) => Promise<unknown>;
4
4
  export declare function initPubSubManager(this: PubSubManager): Promise<PubSubManager | undefined>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/initPubSubManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,4BAA4B,qEAC2B,CAAC;AAErE,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAA8C,CAAC;AAE9E,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA0E/F"}
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initPubSubManager = exports.tout = exports.REALTIME_TRIGGER_CHECK_QUERY = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
- const PostgresNotifListenManager_1 = require("../PostgresNotifListenManager");
6
- const getWatchSchemaTagList_1 = require("../SchemaWatch/getWatchSchemaTagList");
5
+ const PostgresNotifListenManager_1 = require("../../PostgresNotifListenManager");
6
+ const getWatchSchemaTagList_1 = require("../../SchemaWatch/getWatchSchemaTagList");
7
7
  const getPubSubManagerInitQuery_1 = require("./getPubSubManagerInitQuery");
8
- const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
8
+ const PubSubManagerUtils_1 = require("../PubSubManagerUtils");
9
9
  exports.REALTIME_TRIGGER_CHECK_QUERY = "prostgles-server internal query used to manage realtime triggers";
10
10
  const tout = (ms) => new Promise((res) => setTimeout(res, ms));
11
11
  exports.tout = tout;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../../lib/PubSubManager/init/initPubSubManager.ts"],"names":[],"mappings":";;;AAAA,qDAAsD;AACtD,iFAA8E;AAC9E,mFAAgF;AAEhF,2EAAwE;AACxE,8DAA+D;AAClD,QAAA,4BAA4B,GACvC,kEAAkE,CAAC;AAE9D,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAAjE,QAAA,IAAI,QAA6D;AAEvE,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,SAAS,GAAG,MAAM,qDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAE1E;;;OAGG;IACH,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAU,CAAC;IACf,OAAO,IAAA,2BAAS,EAAC,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,iGAAiG;YACjG,MAAM,IAAA,YAAI,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAE1B,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1C,KAAK,GAAG,SAAS,CAAC;YAClB,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,IAAI,IAAA,0BAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtD,WAAW,GAAG,IAAI,CAAC;gBACnB,KAAK,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,GAAG,CAAC,CAAC;YACV,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAEnC,oBAAoB;IACpB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,MAAM,yBAAyB,GAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;YAChE,IAAA,6CAAqB,EAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACf;;oBAEc,EACd,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,CAC5D,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CACjC,4CAA4C,EAC5C,CAAC,IAAI,CAAC,KAAK,CAAC,CACb,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,+EAA+E,IAAI,CAAC,KAAK,aAAa,CAAC;QAC/G,CAAC;QAED,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;uBAEC,IAAA,4BAAO,EAAC,IAAI,CAAC,KAAK,CAAC;KACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,0BAA0B,GAAG,IAAI,uDAA0B,CAC9D,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,aAAa,EAClB,kCAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAClC,CAAC;IAEF,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC;AA1ED,8CA0EC"}
@@ -5,7 +5,7 @@ const pgp = require("pg-promise");
5
5
  const Prostgles_1 = require("../Prostgles");
6
6
  const Event_Trigger_Tags_1 = require("../Event_Trigger_Tags");
7
7
  const orphanTriggerCheck_1 = require("./orphanTriggerCheck");
8
- const getPubSubManagerInitQuery_1 = require("./getPubSubManagerInitQuery");
8
+ const getPubSubManagerInitQuery_1 = require("./init/getPubSubManagerInitQuery");
9
9
  const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
10
10
  const asValue = (v) => pgp.as.format("$1", [v]);
11
11
  async function initialiseEventTriggers() {
@@ -1 +1 @@
1
- {"version":3,"file":"initialiseEventTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/initialiseEventTriggers.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAElC,4CAA8C;AAC9C,8DAA2D;AAC3D,6DAAsE;AACtE,2EAA2D;AAC3D,6DAA0E;AAE1E,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;IACvD,IAAI,WAAW,IAAI,CAAC,CAAC,MAAM,IAAA,0BAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,qEAAqE;QACrE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACxF,MAAM,gBAAgB,GACpB,aAAa,CAAC,MAAM,CAAC,CAAC;YACpB,yBAAyB,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACzF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,CACzB;;;;aAIO,uDAAkC;;;;;;;;;;;;;;;cAejC,mDAA8B;;;;cAI9B,gBAAgB;;;;;;;;;;;;;;;;;;;kBAmBZ,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;;;cAGrC,gCAAgC;;;;;;;OAOvC,EACD,EAAE,kBAAkB,EAAlB,uCAAkB,EAAE,CACvB,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE;aACV,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACvB,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;YAChB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AApFD,0DAoFC;AAED,MAAM,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;sBAmBnB,OAAO,CAAC,wCAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;YAepD,OAAO,CAAC,wCAAY,CAAC,oBAAoB,CAAC;YAC1C,OAAO,CAAC,wCAAY,CAAC,yBAAyB,CAAC;;;;;;;;;;;;qCAYtB,wCAAY,CAAC,oBAAoB;6BACzC,wCAAY,CAAC,oBAAoB;;;0BAGpC,wCAAY,CAAC,iBAAiB;;qCAEnB,wCAAY,CAAC,yBAAyB;6BAC9C,wCAAY,CAAC,yBAAyB;;;0BAGzC,wCAAY,CAAC,iBAAiB;;;CAGvD,CAAC"}
1
+ {"version":3,"file":"initialiseEventTriggers.js","sourceRoot":"","sources":["../../lib/PubSubManager/initialiseEventTriggers.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAElC,4CAA8C;AAC9C,8DAA2D;AAC3D,6DAAsE;AACtE,gFAAgE;AAChE,6DAA0E;AAE1E,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;IACvD,IAAI,WAAW,IAAI,CAAC,CAAC,MAAM,IAAA,0BAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,qEAAqE;QACrE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACxF,MAAM,gBAAgB,GACpB,aAAa,CAAC,MAAM,CAAC,CAAC;YACpB,yBAAyB,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACzF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,CACzB;;;;aAIO,uDAAkC;;;;;;;;;;;;;;;cAejC,mDAA8B;;;;cAI9B,gBAAgB;;;;;;;;;;;;;;;;;;;kBAmBZ,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;;;cAGrC,gCAAgC;;;;;;;OAOvC,EACD,EAAE,kBAAkB,EAAlB,uCAAkB,EAAE,CACvB,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE;aACV,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACvB,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;YAChB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AApFD,0DAoFC;AAED,MAAM,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;sBAmBnB,OAAO,CAAC,wCAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;YAepD,OAAO,CAAC,wCAAY,CAAC,oBAAoB,CAAC;YAC1C,OAAO,CAAC,wCAAY,CAAC,yBAAyB,CAAC;;;;;;;;;;;;qCAYtB,wCAAY,CAAC,oBAAoB;6BACzC,wCAAY,CAAC,oBAAoB;;;0BAGpC,wCAAY,CAAC,iBAAiB;;qCAEnB,wCAAY,CAAC,yBAAyB;6BAC9C,wCAAY,CAAC,yBAAyB;;;0BAGzC,wCAAY,CAAC,iBAAiB;;;CAGvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBA+LjF"}
1
+ {"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAuLjF"}
@@ -4,7 +4,6 @@ exports.notifListener = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const parseFieldFilter_1 = require("../DboBuilder/ViewHandler/parseFieldFilter");
6
6
  const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
7
- const JSONBValidation_1 = require("../JSONBValidation/JSONBValidation");
8
7
  /* Relay relevant data to relevant subscriptions */
9
8
  async function notifListener(data) {
10
9
  const str = data.payload;
@@ -60,15 +59,14 @@ async function notifListener(data) {
60
59
  if (dataArr.length < 3) {
61
60
  throw "notifListener: dataArr length < 3";
62
61
  }
63
- const [_, table_name, op_name, condition_ids_str, changed_columns_str = "[]"] = dataArr;
64
- const condition_ids = condition_ids_str?.split(",").map((v) => +v);
62
+ const [_, table_name, op_name, condition_ids_str, raw_changed_columns_str = ""] = dataArr;
63
+ const changedColumns = !raw_changed_columns_str ? undefined : raw_changed_columns_str.slice(1, -1).split(",");
64
+ const conditionIds = condition_ids_str?.split(",").map((v) => +v);
65
65
  if (!table_name) {
66
66
  throw "table_name undef";
67
67
  }
68
68
  const tableTriggerConditions = this.getTriggerInfo(table_name);
69
69
  let state = "ok";
70
- // const triggers = await this.db.any("SELECT * FROM prostgles.triggers WHERE table_name = $1 AND id IN ($2:csv)", [table_name, condition_ids_str.split(",").map(v => +v)]);
71
- // const conditions: string[] = triggers.map(t => t.condition);
72
70
  if (!tableTriggerConditions?.length) {
73
71
  state = "no-triggers";
74
72
  /* Trigger error */
@@ -85,10 +83,10 @@ async function notifListener(data) {
85
83
  });
86
84
  /* Trigger ok */
87
85
  }
88
- else if (condition_ids?.every((id) => Number.isInteger(id))) {
86
+ else if (conditionIds?.every((id) => Number.isInteger(id))) {
89
87
  state = "ok";
90
- const firedTableConditions = tableTriggerConditions.filter(({ idx }) => condition_ids.includes(idx));
91
- const orphanedTableConditions = condition_ids.filter((condId) => {
88
+ const firedTableConditions = tableTriggerConditions.filter(({ idx }) => conditionIds.includes(idx));
89
+ const orphanedTableConditions = conditionIds.filter((condId) => {
92
90
  const tc = tableTriggerConditions.at(condId);
93
91
  return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
94
92
  });
@@ -104,18 +102,20 @@ async function notifListener(data) {
104
102
  const activeAndReadySubs = subs.filter((sub) => sub.triggers.some((trg) => this.dbo[trg.table_name] &&
105
103
  sub.is_ready &&
106
104
  ((sub.socket_id && this.sockets[sub.socket_id]) || sub.localFuncs)));
107
- const { data: changedColValidation } = (0, prostgles_types_1.tryCatchV2)(() => (0, JSONBValidation_1.getJSONBObjectSchemaValidationError)({ cols: "string[]" }, { cols: JSON.parse(changed_columns_str || "[]") }, "cols"));
108
- const changedColumns = changedColValidation?.data?.cols;
109
105
  activeAndReadySubs.forEach((sub) => {
110
- const { throttle = 0, throttleOpts, actions } = sub.subscribeOptions;
111
- if (changedColumns?.length) {
112
- const subFieldsHaveChanged = changedColumns.some((changedColumn) => sub.newQuery.select.some((f) => f.fields.includes(changedColumn)));
106
+ const operation = (op_name?.toLowerCase() || "insert");
107
+ const { tracked_columns, subscribeOptions } = sub;
108
+ const { throttle = 0, throttleOpts, actions, skipChangedColumnsCheck } = subscribeOptions;
109
+ if (!skipChangedColumnsCheck &&
110
+ changedColumns &&
111
+ operation === "update" &&
112
+ tracked_columns) {
113
+ const subFieldsHaveChanged = changedColumns.some((changedColumn) => tracked_columns.includes(changedColumn));
113
114
  if (!subFieldsHaveChanged)
114
115
  return;
115
116
  }
116
- const commandLowerCase = (op_name?.toLowerCase() || "insert");
117
117
  const actionIsIgnored = actions &&
118
- !(0, prostgles_types_1.includes)((0, parseFieldFilter_1.parseFieldFilter)(actions, false, ["insert", "update", "delete"]), commandLowerCase);
118
+ !(0, prostgles_types_1.includes)((0, parseFieldFilter_1.parseFieldFilter)(actions, false, ["insert", "update", "delete"]), operation);
119
119
  if (actionIsIgnored) {
120
120
  return;
121
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAppCheckQuery = exports.DELETE_DISCONNECTED_APPS_QUERY = void 0;
4
4
  const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
5
- const initPubSubManager_1 = require("./initPubSubManager");
5
+ const initPubSubManager_1 = require("./init/initPubSubManager");
6
6
  /**
7
7
  * Schema and Data watch triggers (DB_OBJ_NAMES.schema_watch_func, DB_OBJ_NAMES.data_watch_func)
8
8
  * survive and continue to user resources even after the client disconnects.
@@ -1 +1 @@
1
- {"version":3,"file":"orphanTriggerCheck.js","sourceRoot":"","sources":["../../lib/PubSubManager/orphanTriggerCheck.ts"],"names":[],"mappings":";;;AACA,6DAA0E;AAC1E,2DAAmE;AAEnE;;;;GAIG;AAEH,MAAM,eAAe,GACnB,sFAAsF,CAAC;AACzF,MAAM,8BAA8B,GAAG;;;;;;;CAOtC,CAAC;AAEW,QAAA,8BAA8B,GAAG;;;;;;;CAO7C,CAAC;AAEF,+EAA+E;AACxE,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC;;MAEhC,eAAe;MACf,gDAA4B;MAC5B,uDAAkC;;;;;;;;;;;;;;8BAcV,eAAe;;;;;;QAMrC,8BAA8B;;;;;UAK5B,sCAA8B;;;;;;;;;;;CAWvC,CAAC;AAxCW,QAAA,gBAAgB,oBAwC3B"}
1
+ {"version":3,"file":"orphanTriggerCheck.js","sourceRoot":"","sources":["../../lib/PubSubManager/orphanTriggerCheck.ts"],"names":[],"mappings":";;;AACA,6DAA0E;AAC1E,gEAAwE;AAExE;;;;GAIG;AAEH,MAAM,eAAe,GACnB,sFAAsF,CAAC;AACzF,MAAM,8BAA8B,GAAG;;;;;;;CAOtC,CAAC;AAEW,QAAA,8BAA8B,GAAG;;;;;;;CAO7C,CAAC;AAEF,+EAA+E;AACxE,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC;;MAEhC,eAAe;MACf,gDAA4B;MAC5B,uDAAkC;;;;;;;;;;;;;;8BAcV,eAAe;;;;;;QAMrC,8BAA8B;;;;;UAK5B,sCAA8B;;;;;;;;;;;CAWvC,CAAC;AAxCW,QAAA,gBAAgB,oBAwC3B"}