prostgles-server 4.2.294 → 4.2.295

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 (30) hide show
  1. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  2. package/dist/DboBuilder/ViewHandler/subscribe.js +1 -0
  3. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  4. package/dist/PubSubManager/PubSubManager.d.ts +3 -1
  5. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  6. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  7. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  8. package/dist/PubSubManager/addSub.js +2 -1
  9. package/dist/PubSubManager/addSub.js.map +1 -1
  10. package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
  11. package/dist/PubSubManager/getPubSubManagerInitQuery.js +9 -151
  12. package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
  13. package/dist/PubSubManager/init/getDataWatchFunctionQuery.d.ts +2 -0
  14. package/dist/PubSubManager/init/getDataWatchFunctionQuery.d.ts.map +1 -0
  15. package/dist/PubSubManager/init/getDataWatchFunctionQuery.js +187 -0
  16. package/dist/PubSubManager/init/getDataWatchFunctionQuery.js.map +1 -0
  17. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  18. package/dist/PubSubManager/initPubSubManager.js +1 -1
  19. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  20. package/dist/PubSubManager/notifListener.d.ts.map +1 -1
  21. package/dist/PubSubManager/notifListener.js +9 -1
  22. package/dist/PubSubManager/notifListener.js.map +1 -1
  23. package/lib/DboBuilder/ViewHandler/subscribe.ts +3 -2
  24. package/lib/PubSubManager/PubSubManager.ts +3 -0
  25. package/lib/PubSubManager/addSub.ts +2 -1
  26. package/lib/PubSubManager/getPubSubManagerInitQuery.ts +6 -148
  27. package/lib/PubSubManager/init/getDataWatchFunctionQuery.ts +183 -0
  28. package/lib/PubSubManager/initPubSubManager.ts +5 -2
  29. package/lib/PubSubManager/notifListener.ts +18 -3
  30. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACL,MAAM,EAGN,WAAW,EACZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC;AAC1C,MAAM,MAAM,UAAU,GAClB;IACE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,GACD,MAAM,CAAC;AAEX,eAAO,MAAM,aAAa,eAAgB,UAAU,GAAG,SAAS,KAAG,MAAM,GAAG,SAE3E,CAAC;AACF,eAAO,MAAM,iBAAiB,gBACf,UAAU,GAAG,SAAS,eACtB,UAAU,GAAG,SAAS,wBAGpC,CAAC;AACF,eAAO,MAAM,eAAe,gBACb,UAAU,GAAG,SAAS,KAClC,QAAQ,UAAU,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAS5C,CAAC;AAEF,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAC;AACvC,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,SAAS,EACrB,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAwHjC,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACL,MAAM,EAGN,WAAW,EACZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC;AAC1C,MAAM,MAAM,UAAU,GAClB;IACE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,GACD,MAAM,CAAC;AAEX,eAAO,MAAM,aAAa,eAAgB,UAAU,GAAG,SAAS,KAAG,MAAM,GAAG,SAE3E,CAAC;AACF,eAAO,MAAM,iBAAiB,gBACf,UAAU,GAAG,SAAS,eACtB,UAAU,GAAG,SAAS,wBAGpC,CAAC;AACF,eAAO,MAAM,eAAe,gBACb,UAAU,GAAG,SAAS,KAClC,QAAQ,UAAU,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAS5C,CAAC;AAEF,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAC;AACvC,iBAAe,SAAS,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,SAAS,EACrB,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAyHjC,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -59,6 +59,7 @@ async function subscribe(filter, params, localFuncs, table_rules, localParams) {
59
59
  selectParams: { ...selectParams },
60
60
  subscribeOptions: (0, getValidatedSubscribeOptions_1.getValidatedSubscribeOptions)({ actions, skipFirst, throttle, throttleOpts }, table_rules?.subscribe),
61
61
  lastPushed: 0,
62
+ newQuery,
62
63
  };
63
64
  const pubSubManager = await this.dboBuilder.getPubSubManager();
64
65
  if (!localFuncs) {
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/subscribe.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { AnyObject, FieldFilter, SelectParams, WAL, type SubscribeOptions } from
6
6
  import { LocalFuncs } from "../DboBuilder/ViewHandler/subscribe";
7
7
  import { EventTypes } from "../Logging";
8
8
  import { ParsedTableRule } from "../PublishParser/PublishParser";
9
+ import type { NewQuery } from "../DboBuilder/QueryBuilder/QueryBuilder";
9
10
  export type BasicCallback = (err?: any, res?: any) => void;
10
11
  export type SyncParams = {
11
12
  socket_id: string;
@@ -69,13 +70,14 @@ export type SubscriptionParams = {
69
70
  filter: object;
70
71
  selectParams: SelectParams;
71
72
  subscribeOptions: SubscribeOptions;
73
+ newQuery: NewQuery;
72
74
  localFuncs?: LocalFuncs;
73
75
  socket: PRGLIOSocket | undefined;
74
76
  lastPushed: number;
75
77
  is_throttling?: any;
76
78
  is_ready?: boolean;
77
79
  };
78
- export type Subscription = Pick<SubscriptionParams, "selectParams" | "subscribeOptions" | "is_throttling" | "lastPushed" | "channel_name" | "is_ready" | "localFuncs" | "socket" | "socket_id" | "table_info" | "filter" | "table_rules"> & {
80
+ export type Subscription = Pick<SubscriptionParams, "selectParams" | "subscribeOptions" | "is_throttling" | "lastPushed" | "channel_name" | "is_ready" | "localFuncs" | "socket" | "socket_id" | "table_info" | "filter" | "table_rules" | "newQuery"> & {
79
81
  triggers: {
80
82
  table_name: string;
81
83
  condition: string;
@@ -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 +1 @@
1
- {"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAiB,aAAa,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,KAAK,qBAAqB,GAAG,kBAAkB,GAAG;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,YAAY,GAAG,oBAAoB,GAAG;IACzC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;CACzC,CAAC;AAIF,wBAAsB,MAAM,CAC1B,IAAI,EAAE,aAAa,EACnB,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAClF,OAAO,CAAC,YAAY,CAAC,CAsIvB"}
1
+ {"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAiB,aAAa,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,KAAK,qBAAqB,GAAG,kBAAkB,GAAG;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,YAAY,GAAG,oBAAoB,GAAG;IACzC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;CACzC,CAAC;AAIF,wBAAsB,MAAM,CAC1B,IAAI,EAAE,aAAa,EACnB,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAClF,OAAO,CAAC,YAAY,CAAC,CAuIvB"}
@@ -6,7 +6,7 @@ const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
6
6
  /* Must return a channel for socket */
7
7
  /* The distinct list of {table_name, condition} must have a corresponding trigger in the database */
8
8
  async function addSub(subscriptionParams) {
9
- const { socket, localFuncs, table_rules, filter = {}, selectParams = {}, condition = "", viewOptions, table_info, subscribeOptions, } = subscriptionParams;
9
+ const { socket, localFuncs, table_rules, filter = {}, selectParams = {}, condition = "", viewOptions, table_info, subscribeOptions, newQuery, } = subscriptionParams;
10
10
  const table_name = table_info.name;
11
11
  if (!socket && !localFuncs) {
12
12
  throw "socket AND func missing";
@@ -33,6 +33,7 @@ async function addSub(subscriptionParams) {
33
33
  is_throttling: false,
34
34
  socket_id: socket?.id,
35
35
  table_rules,
36
+ newQuery,
36
37
  triggers: [mainTrigger],
37
38
  };
38
39
  const result = {
@@ -1 +1 @@
1
- {"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":";;;AAEA,2DAA2C;AAE3C,6DAAsD;AAUtD,sCAAsC;AACtC,oGAAoG;AAC7F,KAAK,UAAU,MAAM,CAE1B,kBAAmF;IAEnF,MAAM,EACJ,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,GAAG,EAAE,EACX,YAAY,GAAG,EAAE,EACjB,SAAS,GAAG,EAAE,EACd,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,QAAQ,GACT,GAAG,kBAAkB,CAAC;IACvB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IAEnC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,yBAAyB,CAAC;IAClC,CAAC;IACD,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;QACzB,MAAM,qCAAqC,CAAC;IAC9C,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,oBAAoB,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC;IACvI,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,IAAA,mCAAc,EAAC,SAAS,CAAC;QACpC,UAAU,EAAE,KAAK;KACT,CAAC;IAEX,MAAM,MAAM,GAAiB;QAC3B,YAAY;QACZ,MAAM;QACN,UAAU;QACV,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,CAAC;QACb,MAAM;QACN,gBAAgB;QAChB,UAAU;QACV,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,MAAM,EAAE,EAAE;QACrB,WAAW;QACX,QAAQ;QACR,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB,CAAC;IAEF,MAAM,MAAM,GAAiB;QAC3B,WAAW,EAAE,YAAY;QACzB,gBAAgB,EAAE,YAAY,GAAG,QAAQ;QACzC,sBAAsB,EAAE,YAAY,GAAG,cAAc;QACrD,aAAa,EAAE,SAAS;KACzB,CAAC;IAEF,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,6BAA6B,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,aAAa,YAAY,EAAE,CACxF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAE1B,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,YAAY,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG;gBACjB,UAAU,EAAE,YAAY,CAAC,SAAS;gBAClC,SAAS,EAAE,IAAA,mCAAc,EAAC,YAAY,CAAC,SAAS,CAAC;gBACjD,UAAU,EAAE,IAAI;aACR,CAAC;YAEX,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEjC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;IAC/D,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,SAAS;YAAE,OAAO;QACtB,IAAI,YAAY,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAA,wBAAI,EAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf;;;WAGG;QACH,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACnD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,eAAe,EAAE,CAAC;QAElB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,KAAU,EAAE,EAAiB,EAAE,EAAE;YAC3E,MAAM,GAAG,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC;gBAC9E,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,aAAa;gBACtB,YAAY;gBACZ,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,GAAG,EAAE,MAAM,CAAC,EAAE;gBACd,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YACH,eAAe,EAAE,CAAC;YAClB,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvB,2DAA2D;IAC3D,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,2CAA2C,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA1ID,wBA0IC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAYtD,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AA2mBX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,SAC9B,UAAU,KACf,QAAQ,MAAM,GAAG,SAAS,CAyB5B,CAAC"}
1
+ {"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAatD,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AA4dX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,SAC9B,UAAU,KACf,QAAQ,MAAM,GAAG,SAAS,CAyB5B,CAAC"}
@@ -5,7 +5,8 @@ const prostgles_types_1 = require("prostgles-types");
5
5
  const DboBuilderTypes_1 = require("../DboBuilder/DboBuilderTypes");
6
6
  const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
7
7
  const orphanTriggerCheck_1 = require("./orphanTriggerCheck");
8
- const { version } = require("../../package.json");
8
+ const package_json_1 = require("../../package.json");
9
+ const getDataWatchFunctionQuery_1 = require("./init/getDataWatchFunctionQuery");
9
10
  exports.DB_OBJ_NAMES = {
10
11
  trigger_add_remove_func: "prostgles.trigger_add_remove_func",
11
12
  data_watch_func: "prostgles.prostgles_trigger_function",
@@ -90,7 +91,7 @@ BEGIN
90
91
  COMMENT ON TABLE prostgles.versions IS 'Stores the prostgles schema creation query hash and package version number to identify when a newer schema needs to be re-created';
91
92
 
92
93
  INSERT INTO prostgles.versions(version, schema_md5)
93
- VALUES(${(0, PubSubManagerUtils_1.asValue)(version)}, \${schema_md5})
94
+ VALUES(${(0, PubSubManagerUtils_1.asValue)(package_json_1.version)}, \${schema_md5})
94
95
  ON CONFLICT DO NOTHING;
95
96
 
96
97
 
@@ -186,6 +187,9 @@ BEGIN
186
187
  table_name TEXT NOT NULL,
187
188
  condition TEXT NOT NULL,
188
189
  condition_hash TEXT NOT NULL,
190
+
191
+ /** If defined, will check the provided fields for changes */
192
+ fields _TEXT ,
189
193
 
190
194
  /* The view from the root subscription, found in the condition.
191
195
  We need this because old_table/new_table data is not reflected in the view inside the AFTER trigger
@@ -207,153 +211,7 @@ BEGIN
207
211
  FROM prostgles.app_triggers;
208
212
  COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs and per app IDs';
209
213
 
210
-
211
- CREATE OR REPLACE FUNCTION ${exports.DB_OBJ_NAMES.data_watch_func}() RETURNS TRIGGER
212
- AS $$
213
-
214
- DECLARE t_ids TEXT[];
215
- DECLARE c_ids INTEGER[];
216
- DECLARE err_c_ids INTEGER[];
217
- DECLARE unions TEXT := '';
218
- DECLARE query TEXT := '';
219
- DECLARE v_trigger RECORD;
220
- DECLARE has_errors BOOLEAN := FALSE;
221
-
222
- DECLARE err_text TEXT;
223
- DECLARE err_detail TEXT;
224
- DECLARE err_hint TEXT;
225
-
226
- DECLARE view_def_query TEXT := '';
227
-
228
- DECLARE escaped_table TEXT;
229
-
230
- BEGIN
231
-
232
- --PERFORM pg_notify('debug', concat_ws(' ', 'TABLE', TG_TABLE_NAME, TG_OP));
233
-
234
- escaped_table := concat_ws('.', CASE WHEN TG_TABLE_SCHEMA <> CURRENT_SCHEMA THEN format('%I', TG_TABLE_SCHEMA) END, format('%I', TG_TABLE_NAME));
235
-
236
- SELECT string_agg(
237
- format(
238
- $c$
239
- SELECT CASE WHEN EXISTS(
240
- SELECT 1
241
- FROM %s
242
- WHERE %s
243
- ) THEN %s::text END AS t_ids
244
- $c$,
245
- table_name,
246
- condition,
247
- id
248
- ),
249
- E' UNION \n '
250
- )
251
- INTO unions
252
- FROM prostgles.v_triggers
253
- WHERE table_name = escaped_table;
254
-
255
-
256
- /* unions = 'old_table union new_table' or any one of the tables */
257
- IF unions IS NOT NULL THEN
258
-
259
- SELECT
260
- format(
261
- E'WITH %I AS (\n %s \n) ',
262
- TG_TABLE_NAME,
263
- concat_ws(
264
- E' UNION ALL \n ',
265
- CASE WHEN (TG_OP = 'DELETE' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM old_table ' END,
266
- CASE WHEN (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM new_table ' END
267
- )
268
- )
269
- ||
270
- COALESCE((
271
- SELECT ', ' || string_agg(format(E' %s AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
272
- FROM (
273
- SELECT DISTINCT related_view_name, related_view_def
274
- FROM prostgles.v_triggers
275
- WHERE table_name = escaped_table
276
- AND related_view_name IS NOT NULL
277
- AND related_view_def IS NOT NULL
278
- ) t
279
- ), '')
280
- ||
281
- format(
282
- $c$
283
- SELECT ARRAY_AGG(DISTINCT t.t_ids)
284
- FROM (
285
- %s
286
- ) t
287
- $c$,
288
- unions
289
- )
290
- INTO query;
291
-
292
- BEGIN
293
- EXECUTE query INTO t_ids;
294
-
295
- --RAISE NOTICE 'trigger fired ok';
296
-
297
- EXCEPTION WHEN OTHERS THEN
298
-
299
- has_errors := TRUE;
300
-
301
- GET STACKED DIAGNOSTICS
302
- err_text = MESSAGE_TEXT,
303
- err_detail = PG_EXCEPTION_DETAIL,
304
- err_hint = PG_EXCEPTION_HINT;
305
-
306
- END;
307
-
308
- --RAISE NOTICE 'has_errors: % ', has_errors;
309
- --RAISE NOTICE 'unions: % , cids: %', unions, c_ids;
310
-
311
- IF (t_ids IS NOT NULL OR has_errors) THEN
312
-
313
- FOR v_trigger IN
314
- SELECT app_id, string_agg(c_id::text, ',') as cids
315
- FROM prostgles.v_triggers
316
- WHERE id = ANY(t_ids)
317
- OR has_errors
318
- GROUP BY app_id
319
- LOOP
320
-
321
- PERFORM pg_notify(
322
- ${(0, PubSubManagerUtils_1.asValue)(PubSubManagerUtils_1.NOTIF_CHANNEL.preffix)} || v_trigger.app_id ,
323
- LEFT(concat_ws(
324
- ${(0, PubSubManagerUtils_1.asValue)(PubSubManagerUtils_1.DELIMITER)},
325
-
326
- ${(0, PubSubManagerUtils_1.asValue)(PubSubManagerUtils_1.NOTIF_TYPE.data)},
327
- COALESCE(escaped_table, 'MISSING'),
328
- COALESCE(TG_OP, 'MISSING'),
329
- CASE WHEN has_errors
330
- THEN concat_ws('; ', 'error', err_text, err_detail, err_hint, 'query: ' || query )
331
- ELSE COALESCE(v_trigger.cids, '')
332
- END
333
- ${debugMode ? ", COALESCE(current_query(), 'current_query ??'), ' ', query" : ""}
334
- ), 7999/4) -- Some chars are 2bytes -> 'Ω'
335
- );
336
- END LOOP;
337
-
338
-
339
- IF has_errors THEN
340
-
341
- DELETE FROM prostgles.app_triggers;
342
- RAISE NOTICE 'trigger dropped due to exception: % % %', err_text, err_detail, err_hint;
343
-
344
- END IF;
345
-
346
- END IF;
347
- END IF;
348
-
349
- ${(0, orphanTriggerCheck_1.getAppCheckQuery)()}
350
-
351
- RETURN NULL;
352
-
353
- END;
354
-
355
- $$ LANGUAGE plpgsql;
356
- COMMENT ON FUNCTION ${exports.DB_OBJ_NAMES.data_watch_func} IS 'Prostgles internal function used to notify when data in the table changed';
214
+ ${(0, getDataWatchFunctionQuery_1.getDataWatchFunctionQuery)(debugMode)}
357
215
 
358
216
  CREATE OR REPLACE FUNCTION ${exports.DB_OBJ_NAMES.trigger_add_remove_func}() RETURNS TRIGGER
359
217
  AS $$
@@ -636,7 +494,7 @@ const getPubSubManagerInitQuery = async function () {
636
494
  const { schema_md5 = "none" } = await this.db.oneOrNone("SELECT md5($1) as schema_md5", [
637
495
  initQuery.trim(),
638
496
  ]);
639
- const query = DboBuilderTypes_1.pgp.as.format(initQuery, { schema_md5, version });
497
+ const query = DboBuilderTypes_1.pgp.as.format(initQuery, { schema_md5, version: package_json_1.version });
640
498
  const existingSchema = await this.db.any(PROSTGLES_SCHEMA_EXISTS_QUERY);
641
499
  if (!existingSchema.length) {
642
500
  console.log("getPubSubManagerInitQuery: No prostgles.versions table found. Creating...");
@@ -645,7 +503,7 @@ const getPubSubManagerInitQuery = async function () {
645
503
  const { data: existingSchemaVersions } = await (0, prostgles_types_1.tryCatchV2)(async () => {
646
504
  const existingSchemaVersions = await this.db.any(PROSTGLES_SCHEMA_VERSION_OK_QUERY, {
647
505
  schema_md5,
648
- version,
506
+ version: package_json_1.version,
649
507
  });
650
508
  return existingSchemaVersions;
651
509
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const getDataWatchFunctionQuery: (debugMode: boolean | undefined) => string;
2
+ //# sourceMappingURL=getDataWatchFunctionQuery.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataWatchFunctionQuery = void 0;
4
+ const getPubSubManagerInitQuery_1 = require("../getPubSubManagerInitQuery");
5
+ const orphanTriggerCheck_1 = require("../orphanTriggerCheck");
6
+ const PubSubManagerUtils_1 = require("../PubSubManagerUtils");
7
+ const getDataWatchFunctionQuery = (debugMode) => {
8
+ return `
9
+
10
+ CREATE OR REPLACE FUNCTION ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.data_watch_func}() RETURNS TRIGGER
11
+ AS $$
12
+
13
+ DECLARE t_ids TEXT[];
14
+ DECLARE c_ids INTEGER[];
15
+ DECLARE err_c_ids INTEGER[];
16
+ DECLARE unions TEXT := '';
17
+ DECLARE query TEXT := '';
18
+ DECLARE v_trigger RECORD;
19
+ DECLARE has_errors BOOLEAN := FALSE;
20
+
21
+ DECLARE err_text TEXT;
22
+ DECLARE err_detail TEXT;
23
+ DECLARE err_hint TEXT;
24
+
25
+ DECLARE view_def_query TEXT := '';
26
+
27
+ DECLARE escaped_table TEXT;
28
+
29
+ DECLARE changed_columns TEXT := NULL;
30
+
31
+ 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
+
59
+ escaped_table := concat_ws('.', CASE WHEN TG_TABLE_SCHEMA <> CURRENT_SCHEMA THEN format('%I', TG_TABLE_SCHEMA) END, format('%I', TG_TABLE_NAME));
60
+
61
+ SELECT string_agg(
62
+ format(
63
+ $c$
64
+ SELECT CASE WHEN EXISTS(
65
+ SELECT 1
66
+ FROM %s
67
+ WHERE %s
68
+ ) THEN %s::text END AS t_ids
69
+ $c$,
70
+ table_name,
71
+ condition,
72
+ id
73
+ ),
74
+ E' UNION \n '
75
+ )
76
+ INTO unions
77
+ FROM prostgles.v_triggers
78
+ WHERE table_name = escaped_table;
79
+
80
+
81
+ /* unions = 'old_table union new_table' or any one of the tables */
82
+ IF unions IS NOT NULL THEN
83
+
84
+ SELECT
85
+ format(
86
+ E'WITH %I AS (\n %s \n) ',
87
+ TG_TABLE_NAME,
88
+ concat_ws(
89
+ E' UNION ALL \n ',
90
+ CASE WHEN (TG_OP = 'DELETE' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM old_table ' END,
91
+ CASE WHEN (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM new_table ' END
92
+ )
93
+ )
94
+ ||
95
+ COALESCE((
96
+ SELECT ', ' || string_agg(format(E' %s AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
97
+ FROM (
98
+ SELECT DISTINCT related_view_name, related_view_def
99
+ FROM prostgles.v_triggers
100
+ WHERE table_name = escaped_table
101
+ AND related_view_name IS NOT NULL
102
+ AND related_view_def IS NOT NULL
103
+ ) t
104
+ ), '')
105
+ ||
106
+ format(
107
+ $c$
108
+ SELECT ARRAY_AGG(DISTINCT t.t_ids)
109
+ FROM (
110
+ %s
111
+ ) t
112
+ $c$,
113
+ unions
114
+ )
115
+ INTO query;
116
+
117
+ BEGIN
118
+ EXECUTE query INTO t_ids;
119
+
120
+ --RAISE NOTICE 'trigger fired ok';
121
+
122
+ EXCEPTION WHEN OTHERS THEN
123
+
124
+ has_errors := TRUE;
125
+
126
+ GET STACKED DIAGNOSTICS
127
+ err_text = MESSAGE_TEXT,
128
+ err_detail = PG_EXCEPTION_DETAIL,
129
+ err_hint = PG_EXCEPTION_HINT;
130
+
131
+ END;
132
+
133
+ --RAISE NOTICE 'has_errors: % ', has_errors;
134
+ --RAISE NOTICE 'unions: % , cids: %', unions, c_ids;
135
+
136
+ IF (t_ids IS NOT NULL OR has_errors) THEN
137
+
138
+ FOR v_trigger IN
139
+ SELECT app_id, string_agg(c_id::text, ',') as cids
140
+ FROM prostgles.v_triggers
141
+ WHERE id = ANY(t_ids)
142
+ OR has_errors
143
+ GROUP BY app_id
144
+ LOOP
145
+
146
+ PERFORM pg_notify(
147
+ ${(0, PubSubManagerUtils_1.asValue)(PubSubManagerUtils_1.NOTIF_CHANNEL.preffix)} || v_trigger.app_id ,
148
+ LEFT(concat_ws(
149
+ ${(0, PubSubManagerUtils_1.asValue)(PubSubManagerUtils_1.DELIMITER)},
150
+
151
+ ${(0, PubSubManagerUtils_1.asValue)(PubSubManagerUtils_1.NOTIF_TYPE.data)},
152
+ COALESCE(escaped_table, 'MISSING'),
153
+ COALESCE(TG_OP, 'MISSING'),
154
+ CASE WHEN has_errors
155
+ THEN concat_ws('; ', 'error', err_text, err_detail, err_hint, 'query: ' || query )
156
+ ELSE COALESCE(v_trigger.cids, '')
157
+ END,
158
+ COALESCE(changed_columns, '')
159
+ ${debugMode ? ", COALESCE(current_query(), 'current_query ??'), ' ', query" : ""}
160
+ ), 7999/4) -- Some chars are 2bytes -> 'Ω'
161
+ );
162
+ END LOOP;
163
+
164
+
165
+ IF has_errors THEN
166
+
167
+ DELETE FROM prostgles.app_triggers;
168
+ RAISE NOTICE 'trigger dropped due to exception: % % %', err_text, err_detail, err_hint;
169
+
170
+ END IF;
171
+
172
+ END IF;
173
+ END IF;
174
+
175
+ ${(0, orphanTriggerCheck_1.getAppCheckQuery)()}
176
+
177
+ RETURN NULL;
178
+
179
+ END;
180
+
181
+ $$ LANGUAGE plpgsql;
182
+ COMMENT ON FUNCTION ${getPubSubManagerInitQuery_1.DB_OBJ_NAMES.data_watch_func} IS 'Prostgles internal function used to notify when data in the table changed';
183
+
184
+ `;
185
+ };
186
+ exports.getDataWatchFunctionQuery = getDataWatchFunctionQuery;
187
+ //# sourceMappingURL=getDataWatchFunctionQuery.js.map
@@ -0,0 +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 +1 @@
1
- {"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,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,CAuE/F"}
1
+ {"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,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"}
@@ -54,7 +54,7 @@ async function initPubSubManager() {
54
54
  VALUES($1, $2, $3, current_setting('application_name')) \
55
55
  RETURNING *; ", [this.appId, check_frequency_ms, watching_schema_tag_names]);
56
56
  const appRecord = await this.db.one("SELECT * FROM prostgles.apps WHERE id = $1", [this.appId]);
57
- if (!appRecord || !appRecord.application_name?.includes(this.appId)) {
57
+ if (!appRecord.application_name?.includes(this.appId)) {
58
58
  throw `initPubSubManager error: App record with application_name containing appId (${this.appId}) not found`;
59
59
  }
60
60
  await this.db.any(`
@@ -1 +1 @@
1
- {"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"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"}
@@ -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;AAIhD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAiLjF"}
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"}
@@ -4,6 +4,7 @@ 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");
7
8
  /* Relay relevant data to relevant subscriptions */
8
9
  async function notifListener(data) {
9
10
  const str = data.payload;
@@ -59,7 +60,7 @@ async function notifListener(data) {
59
60
  if (dataArr.length < 3) {
60
61
  throw "notifListener: dataArr length < 3";
61
62
  }
62
- const [_, table_name, op_name, condition_ids_str] = dataArr;
63
+ const [_, table_name, op_name, condition_ids_str, changed_columns_str = "[]"] = dataArr;
63
64
  const condition_ids = condition_ids_str?.split(",").map((v) => +v);
64
65
  if (!table_name) {
65
66
  throw "table_name undef";
@@ -103,8 +104,15 @@ async function notifListener(data) {
103
104
  const activeAndReadySubs = subs.filter((sub) => sub.triggers.some((trg) => this.dbo[trg.table_name] &&
104
105
  sub.is_ready &&
105
106
  ((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;
106
109
  activeAndReadySubs.forEach((sub) => {
107
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)));
113
+ if (!subFieldsHaveChanged)
114
+ return;
115
+ }
108
116
  const commandLowerCase = (op_name?.toLowerCase() || "insert");
109
117
  const actionIsIgnored = actions &&
110
118
  !(0, prostgles_types_1.includes)((0, parseFieldFilter_1.parseFieldFilter)(actions, false, ["insert", "update", "delete"]), commandLowerCase);
@@ -1 +1 @@
1
- {"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,iFAA8E;AAE9E,6DAAsF;AAEtF,mDAAmD;AAC5C,KAAK,UAAU,aAAa,CAAsB,IAAyB;IAChF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,8BAAS,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAkB,CAAC;IAE9C,IAAA,wBAAG,EAAC,GAAG,CAAC,CAAC;IAET,MAAM,SAAS,GAAG;QAChB,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,GAAG,EAAE,SAAS;QACd,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;QAC3B,OAAO;QACP,SAAS;KACV,CAAC;IAEF,MAAM,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,eAAe;QACxB,GAAG,SAAS;KACb,CAAC,CAAC;IAEH,IAAI,SAAS,KAAK,+BAAU,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;YAC1D,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3C,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,mBAAmB;gBAC5B,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aACzB,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC;oBACnD,OAAO;oBACP,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;IACT,CAAC;SAAM,IAAI,SAAS,KAAK,+BAAU,CAAC,mBAAmB,EAAE,CAAC;QACxD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,IAAI,SAAS,KAAK,+BAAU,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,mCAAmC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,OAAO,CAAC;IAC5D,MAAM,aAAa,GAAG,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,kBAAkB,CAAC;IAC3B,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,KAAK,GAA6D,IAAI,CAAC;IAE3E,4KAA4K;IAC5K,+DAA+D;IAE/D,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACpC,KAAK,GAAG,aAAa,CAAC;QAEtB,mBAAmB;IACrB,CAAC;SAAM,IAAI,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,KAAK,GAAG,OAAO,CAAC;QAChB,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,wBAAwB,iBAAiB,EAAE,CAAC,CAAC;QAClE,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACb,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,gDAAgD,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,gBAAgB;IAClB,CAAC;SAAM,IAAI,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,GAAG,IAAI,CAAC;QACb,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACrE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC5B,CAAC;QACF,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9D,MAAM,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,uBAAuB,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;QAED,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3C,IAAA,wBAAG,EACD,eAAe,EACf,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CACjC,CAAC;YAEF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7C,GAAG,CAAC,QAAQ,CAAC,IAAI,CACf,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBACxB,GAAG,CAAC,QAAQ;gBACZ,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CACrE,CACF,CAAC;YACF,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC;gBAErE,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,QAAQ,CAE3D,CAAC;gBAEF,MAAM,eAAe,GACnB,OAAO;oBACP,CAAC,IAAA,0BAAQ,EACP,IAAA,mCAAgB,EAAC,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAChE,gBAAgB,CACjB,CAAC;gBACJ,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,YAAY,EAAE,SAAS,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;oBACxE,4DAA4D;oBAC5D,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBAC9B,IAAA,wBAAG,EAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC1C,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAClC,IAAA,wBAAG,EAAC,qCAAqC,CAAC,CAAC;wBAC3C,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;wBACzB,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,2BAA2B;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,uBAAuB,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,CAAC,IAAI,CAAC;QACd,GAAG,SAAS;QACZ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,wBAAwB;QACjC,KAAK;QACL,OAAO;QACP,iBAAiB;QACjB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACzC,UAAU,EAAE,IAAI,CAAC,SAAS,CACxB,IAAI,CAAC,KAAK;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CACvD;QACD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC,CAAC;AACL,CAAC;AAjLD,sCAiLC"}
1
+ {"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"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"}
@@ -86,13 +86,13 @@ async function subscribe(
86
86
  /** Ensure request is valid */
87
87
  await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, localParams);
88
88
 
89
- const newQuery: NewQuery = (await this.find(
89
+ const newQuery = (await this.find(
90
90
  filter,
91
91
  { ...selectParams, limit: 0 },
92
92
  undefined,
93
93
  table_rules,
94
94
  { ...localParams, returnNewQuery: true }
95
- )) as any;
95
+ )) as unknown as NewQuery;
96
96
  const viewOptions = await getSubscribeRelatedTables.bind(this)({
97
97
  filter,
98
98
  selectParams,
@@ -114,6 +114,7 @@ async function subscribe(
114
114
  table_rules?.subscribe
115
115
  ),
116
116
  lastPushed: 0,
117
+ newQuery,
117
118
  } as const;
118
119
 
119
120
  const pubSubManager = await this.dboBuilder.getPubSubManager();
@@ -37,6 +37,7 @@ import { addSub } from "./addSub";
37
37
  import { notifListener } from "./notifListener";
38
38
  import { pushSubData } from "./pushSubData";
39
39
  import { log } from "./PubSubManagerUtils";
40
+ import type { NewQuery } from "../DboBuilder/QueryBuilder/QueryBuilder";
40
41
 
41
42
  export type BasicCallback = (err?: any, res?: any) => void;
42
43
 
@@ -112,6 +113,7 @@ export type SubscriptionParams = {
112
113
  filter: object;
113
114
  selectParams: SelectParams;
114
115
  subscribeOptions: SubscribeOptions;
116
+ newQuery: NewQuery;
115
117
 
116
118
  localFuncs?: LocalFuncs;
117
119
  socket: PRGLIOSocket | undefined;
@@ -135,6 +137,7 @@ export type Subscription = Pick<
135
137
  | "table_info"
136
138
  | "filter"
137
139
  | "table_rules"
140
+ | "newQuery"
138
141
  > & {
139
142
  triggers: {
140
143
  table_name: string;
@@ -28,6 +28,7 @@ export async function addSub(
28
28
  viewOptions,
29
29
  table_info,
30
30
  subscribeOptions,
31
+ newQuery,
31
32
  } = subscriptionParams;
32
33
  const table_name = table_info.name;
33
34
 
@@ -58,7 +59,7 @@ export async function addSub(
58
59
  is_throttling: false,
59
60
  socket_id: socket?.id,
60
61
  table_rules,
61
-
62
+ newQuery,
62
63
  triggers: [mainTrigger],
63
64
  };
64
65
 
@@ -9,7 +9,8 @@ import {
9
9
  NOTIF_TYPE,
10
10
  } from "./PubSubManagerUtils";
11
11
  import { getAppCheckQuery } from "./orphanTriggerCheck";
12
- const { version } = require("../../package.json");
12
+ import { version } from "../../package.json";
13
+ import { getDataWatchFunctionQuery } from "./init/getDataWatchFunctionQuery";
13
14
 
14
15
  export const DB_OBJ_NAMES = {
15
16
  trigger_add_remove_func: "prostgles.trigger_add_remove_func",
@@ -195,6 +196,9 @@ BEGIN
195
196
  table_name TEXT NOT NULL,
196
197
  condition TEXT NOT NULL,
197
198
  condition_hash TEXT NOT NULL,
199
+
200
+ /** If defined, will check the provided fields for changes */
201
+ fields _TEXT ,
198
202
 
199
203
  /* The view from the root subscription, found in the condition.
200
204
  We need this because old_table/new_table data is not reflected in the view inside the AFTER trigger
@@ -216,153 +220,7 @@ BEGIN
216
220
  FROM prostgles.app_triggers;
217
221
  COMMENT ON VIEW prostgles.v_triggers IS 'Augment trigger table with natural IDs and per app IDs';
218
222
 
219
-
220
- CREATE OR REPLACE FUNCTION ${DB_OBJ_NAMES.data_watch_func}() RETURNS TRIGGER
221
- AS $$
222
-
223
- DECLARE t_ids TEXT[];
224
- DECLARE c_ids INTEGER[];
225
- DECLARE err_c_ids INTEGER[];
226
- DECLARE unions TEXT := '';
227
- DECLARE query TEXT := '';
228
- DECLARE v_trigger RECORD;
229
- DECLARE has_errors BOOLEAN := FALSE;
230
-
231
- DECLARE err_text TEXT;
232
- DECLARE err_detail TEXT;
233
- DECLARE err_hint TEXT;
234
-
235
- DECLARE view_def_query TEXT := '';
236
-
237
- DECLARE escaped_table TEXT;
238
-
239
- BEGIN
240
-
241
- --PERFORM pg_notify('debug', concat_ws(' ', 'TABLE', TG_TABLE_NAME, TG_OP));
242
-
243
- escaped_table := concat_ws('.', CASE WHEN TG_TABLE_SCHEMA <> CURRENT_SCHEMA THEN format('%I', TG_TABLE_SCHEMA) END, format('%I', TG_TABLE_NAME));
244
-
245
- SELECT string_agg(
246
- format(
247
- $c$
248
- SELECT CASE WHEN EXISTS(
249
- SELECT 1
250
- FROM %s
251
- WHERE %s
252
- ) THEN %s::text END AS t_ids
253
- $c$,
254
- table_name,
255
- condition,
256
- id
257
- ),
258
- E' UNION \n '
259
- )
260
- INTO unions
261
- FROM prostgles.v_triggers
262
- WHERE table_name = escaped_table;
263
-
264
-
265
- /* unions = 'old_table union new_table' or any one of the tables */
266
- IF unions IS NOT NULL THEN
267
-
268
- SELECT
269
- format(
270
- E'WITH %I AS (\n %s \n) ',
271
- TG_TABLE_NAME,
272
- concat_ws(
273
- E' UNION ALL \n ',
274
- CASE WHEN (TG_OP = 'DELETE' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM old_table ' END,
275
- CASE WHEN (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM new_table ' END
276
- )
277
- )
278
- ||
279
- COALESCE((
280
- SELECT ', ' || string_agg(format(E' %s AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
281
- FROM (
282
- SELECT DISTINCT related_view_name, related_view_def
283
- FROM prostgles.v_triggers
284
- WHERE table_name = escaped_table
285
- AND related_view_name IS NOT NULL
286
- AND related_view_def IS NOT NULL
287
- ) t
288
- ), '')
289
- ||
290
- format(
291
- $c$
292
- SELECT ARRAY_AGG(DISTINCT t.t_ids)
293
- FROM (
294
- %s
295
- ) t
296
- $c$,
297
- unions
298
- )
299
- INTO query;
300
-
301
- BEGIN
302
- EXECUTE query INTO t_ids;
303
-
304
- --RAISE NOTICE 'trigger fired ok';
305
-
306
- EXCEPTION WHEN OTHERS THEN
307
-
308
- has_errors := TRUE;
309
-
310
- GET STACKED DIAGNOSTICS
311
- err_text = MESSAGE_TEXT,
312
- err_detail = PG_EXCEPTION_DETAIL,
313
- err_hint = PG_EXCEPTION_HINT;
314
-
315
- END;
316
-
317
- --RAISE NOTICE 'has_errors: % ', has_errors;
318
- --RAISE NOTICE 'unions: % , cids: %', unions, c_ids;
319
-
320
- IF (t_ids IS NOT NULL OR has_errors) THEN
321
-
322
- FOR v_trigger IN
323
- SELECT app_id, string_agg(c_id::text, ',') as cids
324
- FROM prostgles.v_triggers
325
- WHERE id = ANY(t_ids)
326
- OR has_errors
327
- GROUP BY app_id
328
- LOOP
329
-
330
- PERFORM pg_notify(
331
- ${asValue(NOTIF_CHANNEL.preffix)} || v_trigger.app_id ,
332
- LEFT(concat_ws(
333
- ${asValue(DELIMITER)},
334
-
335
- ${asValue(NOTIF_TYPE.data)},
336
- COALESCE(escaped_table, 'MISSING'),
337
- COALESCE(TG_OP, 'MISSING'),
338
- CASE WHEN has_errors
339
- THEN concat_ws('; ', 'error', err_text, err_detail, err_hint, 'query: ' || query )
340
- ELSE COALESCE(v_trigger.cids, '')
341
- END
342
- ${debugMode ? ", COALESCE(current_query(), 'current_query ??'), ' ', query" : ""}
343
- ), 7999/4) -- Some chars are 2bytes -> 'Ω'
344
- );
345
- END LOOP;
346
-
347
-
348
- IF has_errors THEN
349
-
350
- DELETE FROM prostgles.app_triggers;
351
- RAISE NOTICE 'trigger dropped due to exception: % % %', err_text, err_detail, err_hint;
352
-
353
- END IF;
354
-
355
- END IF;
356
- END IF;
357
-
358
- ${getAppCheckQuery()}
359
-
360
- RETURN NULL;
361
-
362
- END;
363
-
364
- $$ LANGUAGE plpgsql;
365
- COMMENT ON FUNCTION ${DB_OBJ_NAMES.data_watch_func} IS 'Prostgles internal function used to notify when data in the table changed';
223
+ ${getDataWatchFunctionQuery(debugMode)}
366
224
 
367
225
  CREATE OR REPLACE FUNCTION ${DB_OBJ_NAMES.trigger_add_remove_func}() RETURNS TRIGGER
368
226
  AS $$
@@ -0,0 +1,183 @@
1
+ import { DB_OBJ_NAMES } from "../getPubSubManagerInitQuery";
2
+ import { getAppCheckQuery } from "../orphanTriggerCheck";
3
+ import { asValue, DELIMITER, NOTIF_CHANNEL, NOTIF_TYPE } from "../PubSubManagerUtils";
4
+
5
+ export const getDataWatchFunctionQuery = (debugMode: boolean | undefined) => {
6
+ return `
7
+
8
+ CREATE OR REPLACE FUNCTION ${DB_OBJ_NAMES.data_watch_func}() RETURNS TRIGGER
9
+ AS $$
10
+
11
+ DECLARE t_ids TEXT[];
12
+ DECLARE c_ids INTEGER[];
13
+ DECLARE err_c_ids INTEGER[];
14
+ DECLARE unions TEXT := '';
15
+ DECLARE query TEXT := '';
16
+ DECLARE v_trigger RECORD;
17
+ DECLARE has_errors BOOLEAN := FALSE;
18
+
19
+ DECLARE err_text TEXT;
20
+ DECLARE err_detail TEXT;
21
+ DECLARE err_hint TEXT;
22
+
23
+ DECLARE view_def_query TEXT := '';
24
+
25
+ DECLARE escaped_table TEXT;
26
+
27
+ DECLARE changed_columns TEXT := NULL;
28
+
29
+ BEGIN
30
+
31
+ --PERFORM pg_notify('debug', concat_ws(' ', 'TABLE', TG_TABLE_NAME, TG_OP));
32
+
33
+
34
+ -- Determine changed columns for UPDATE operations
35
+ IF TG_OP = 'UPDATE' THEN
36
+ WITH cols AS (
37
+ SELECT column_name::text
38
+ FROM information_schema.columns
39
+ WHERE table_schema = TG_TABLE_SCHEMA
40
+ AND table_name = TG_TABLE_NAME
41
+ ),
42
+ changed AS (
43
+ SELECT column_name
44
+ FROM cols
45
+ WHERE EXISTS (
46
+ SELECT 1 FROM new_table n
47
+ JOIN old_table o ON TRUE
48
+ WHERE n.* IS DISTINCT FROM o.*
49
+ LIMIT 1
50
+ )
51
+ )
52
+ SELECT string_agg(column_name, ',') INTO changed_columns
53
+ FROM changed;
54
+ END IF;
55
+
56
+
57
+ escaped_table := concat_ws('.', CASE WHEN TG_TABLE_SCHEMA <> CURRENT_SCHEMA THEN format('%I', TG_TABLE_SCHEMA) END, format('%I', TG_TABLE_NAME));
58
+
59
+ SELECT string_agg(
60
+ format(
61
+ $c$
62
+ SELECT CASE WHEN EXISTS(
63
+ SELECT 1
64
+ FROM %s
65
+ WHERE %s
66
+ ) THEN %s::text END AS t_ids
67
+ $c$,
68
+ table_name,
69
+ condition,
70
+ id
71
+ ),
72
+ E' UNION \n '
73
+ )
74
+ INTO unions
75
+ FROM prostgles.v_triggers
76
+ WHERE table_name = escaped_table;
77
+
78
+
79
+ /* unions = 'old_table union new_table' or any one of the tables */
80
+ IF unions IS NOT NULL THEN
81
+
82
+ SELECT
83
+ format(
84
+ E'WITH %I AS (\n %s \n) ',
85
+ TG_TABLE_NAME,
86
+ concat_ws(
87
+ E' UNION ALL \n ',
88
+ CASE WHEN (TG_OP = 'DELETE' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM old_table ' END,
89
+ CASE WHEN (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN ' SELECT * FROM new_table ' END
90
+ )
91
+ )
92
+ ||
93
+ COALESCE((
94
+ SELECT ', ' || string_agg(format(E' %s AS ( \n %s \n ) ', related_view_name, related_view_def), ', ')
95
+ FROM (
96
+ SELECT DISTINCT related_view_name, related_view_def
97
+ FROM prostgles.v_triggers
98
+ WHERE table_name = escaped_table
99
+ AND related_view_name IS NOT NULL
100
+ AND related_view_def IS NOT NULL
101
+ ) t
102
+ ), '')
103
+ ||
104
+ format(
105
+ $c$
106
+ SELECT ARRAY_AGG(DISTINCT t.t_ids)
107
+ FROM (
108
+ %s
109
+ ) t
110
+ $c$,
111
+ unions
112
+ )
113
+ INTO query;
114
+
115
+ BEGIN
116
+ EXECUTE query INTO t_ids;
117
+
118
+ --RAISE NOTICE 'trigger fired ok';
119
+
120
+ EXCEPTION WHEN OTHERS THEN
121
+
122
+ has_errors := TRUE;
123
+
124
+ GET STACKED DIAGNOSTICS
125
+ err_text = MESSAGE_TEXT,
126
+ err_detail = PG_EXCEPTION_DETAIL,
127
+ err_hint = PG_EXCEPTION_HINT;
128
+
129
+ END;
130
+
131
+ --RAISE NOTICE 'has_errors: % ', has_errors;
132
+ --RAISE NOTICE 'unions: % , cids: %', unions, c_ids;
133
+
134
+ IF (t_ids IS NOT NULL OR has_errors) THEN
135
+
136
+ FOR v_trigger IN
137
+ SELECT app_id, string_agg(c_id::text, ',') as cids
138
+ FROM prostgles.v_triggers
139
+ WHERE id = ANY(t_ids)
140
+ OR has_errors
141
+ GROUP BY app_id
142
+ LOOP
143
+
144
+ PERFORM pg_notify(
145
+ ${asValue(NOTIF_CHANNEL.preffix)} || v_trigger.app_id ,
146
+ LEFT(concat_ws(
147
+ ${asValue(DELIMITER)},
148
+
149
+ ${asValue(NOTIF_TYPE.data)},
150
+ COALESCE(escaped_table, 'MISSING'),
151
+ COALESCE(TG_OP, 'MISSING'),
152
+ CASE WHEN has_errors
153
+ THEN concat_ws('; ', 'error', err_text, err_detail, err_hint, 'query: ' || query )
154
+ ELSE COALESCE(v_trigger.cids, '')
155
+ END,
156
+ COALESCE(changed_columns, '')
157
+ ${debugMode ? ", COALESCE(current_query(), 'current_query ??'), ' ', query" : ""}
158
+ ), 7999/4) -- Some chars are 2bytes -> 'Ω'
159
+ );
160
+ END LOOP;
161
+
162
+
163
+ IF has_errors THEN
164
+
165
+ DELETE FROM prostgles.app_triggers;
166
+ RAISE NOTICE 'trigger dropped due to exception: % % %', err_text, err_detail, err_hint;
167
+
168
+ END IF;
169
+
170
+ END IF;
171
+ END IF;
172
+
173
+ ${getAppCheckQuery()}
174
+
175
+ RETURN NULL;
176
+
177
+ END;
178
+
179
+ $$ LANGUAGE plpgsql;
180
+ COMMENT ON FUNCTION ${DB_OBJ_NAMES.data_watch_func} IS 'Prostgles internal function used to notify when data in the table changed';
181
+
182
+ `;
183
+ };
@@ -60,8 +60,11 @@ export async function initPubSubManager(this: PubSubManager): Promise<PubSubMana
60
60
  [this.appId, check_frequency_ms, watching_schema_tag_names]
61
61
  );
62
62
 
63
- const appRecord = await this.db.one("SELECT * FROM prostgles.apps WHERE id = $1", [this.appId]);
64
- if (!appRecord || !appRecord.application_name?.includes(this.appId)) {
63
+ const appRecord = await this.db.one<{ application_name: string | null }>(
64
+ "SELECT * FROM prostgles.apps WHERE id = $1",
65
+ [this.appId]
66
+ );
67
+ if (!appRecord.application_name?.includes(this.appId)) {
65
68
  throw `initPubSubManager error: App record with application_name containing appId (${this.appId}) not found`;
66
69
  }
67
70
 
@@ -1,7 +1,8 @@
1
- import { includes, pickKeys } from "prostgles-types";
1
+ import { includes, pickKeys, tryCatchV2 } from "prostgles-types";
2
2
  import { parseFieldFilter } from "../DboBuilder/ViewHandler/parseFieldFilter";
3
3
  import { PubSubManager } from "./PubSubManager";
4
4
  import { DELIMITER, log, NOTIF_TYPE, type NotifTypeName } from "./PubSubManagerUtils";
5
+ import { getJSONBObjectSchemaValidationError } from "../JSONBValidation/JSONBValidation";
5
6
 
6
7
  /* Relay relevant data to relevant subscriptions */
7
8
  export async function notifListener(this: PubSubManager, data: { payload: string }) {
@@ -68,7 +69,7 @@ export async function notifListener(this: PubSubManager, data: { payload: string
68
69
  throw "notifListener: dataArr length < 3";
69
70
  }
70
71
 
71
- const [_, table_name, op_name, condition_ids_str] = dataArr;
72
+ const [_, table_name, op_name, condition_ids_str, changed_columns_str = "[]"] = dataArr;
72
73
  const condition_ids = condition_ids_str?.split(",").map((v) => +v);
73
74
 
74
75
  if (!table_name) {
@@ -130,9 +131,23 @@ export async function notifListener(this: PubSubManager, data: { payload: string
130
131
  ((sub.socket_id && this.sockets[sub.socket_id]) || sub.localFuncs)
131
132
  )
132
133
  );
134
+ const { data: changedColValidation } = tryCatchV2(() =>
135
+ getJSONBObjectSchemaValidationError(
136
+ { cols: "string[]" },
137
+ { cols: JSON.parse(changed_columns_str || "[]") as string[] },
138
+ "cols"
139
+ )
140
+ );
141
+ const changedColumns = changedColValidation?.data?.cols;
142
+
133
143
  activeAndReadySubs.forEach((sub) => {
134
144
  const { throttle = 0, throttleOpts, actions } = sub.subscribeOptions;
135
-
145
+ if (changedColumns?.length) {
146
+ const subFieldsHaveChanged = changedColumns.some((changedColumn) =>
147
+ sub.newQuery.select.some((f) => f.fields.includes(changedColumn))
148
+ );
149
+ if (!subFieldsHaveChanged) return;
150
+ }
136
151
  const commandLowerCase = (op_name?.toLowerCase() || "insert") as keyof NonNullable<
137
152
  typeof actions
138
153
  >;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.294",
3
+ "version": "4.2.295",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",