prostgles-server 4.2.488 → 4.2.490

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"getDataWatchFunctionQuery.d.ts","sourceRoot":"","sources":["../../../lib/PubSubManager/init/getDataWatchFunctionQuery.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,iCAAiC,UAAkB,CAAC;AACjE,eAAO,MAAM,yBAAyB,GAAI,WAAW,OAAO,GAAG,SAAS,WAoGvE,CAAC;AAwPF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
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,GAAI,WAAW,OAAO,GAAG,SAAS,WAoGvE,CAAC;AA4PF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
@@ -45,7 +45,7 @@ const getDataWatchFunctionQuery = (debugMode) => {
45
45
  IF (c_ids IS NOT NULL OR has_errors) THEN
46
46
 
47
47
  FOR v_trigger IN
48
- SELECT app_id, string_agg(c_id::text, ',') as cids
48
+ SELECT app_id, string_agg(DISTINCT c_id::text, ',') as cids
49
49
  FROM prostgles.v_triggers
50
50
  WHERE c_id = ANY(c_ids)
51
51
  OR has_errors
@@ -124,6 +124,9 @@ IF TG_OP = 'UPDATE' THEN
124
124
  FROM prostgles.v_triggers
125
125
  WHERE table_name = escaped_table
126
126
  AND columns_info IS NOT NULL
127
+ /* These require the views to be added before as CTEs to ensure the condition works */
128
+ AND related_view_name IS NULL
129
+ AND related_view_def IS NULL
127
130
  LOOP
128
131
 
129
132
  query := format(
@@ -133,8 +136,8 @@ IF TG_OP = 'UPDATE' THEN
133
136
  FROM jsonb_object_keys(%1$L) as column_name
134
137
  WHERE EXISTS (
135
138
  SELECT 1
136
- FROM (SELECT * FROM old_table WHERE %4$s ) o
137
- LEFT JOIN (SELECT * FROM new_table WHERE %4$s ) n
139
+ FROM (SELECT * FROM old_table as %5$I WHERE %4$s ) o
140
+ FULL OUTER JOIN (SELECT * FROM new_table as %5$I WHERE %4$s ) n
138
141
  ON %2$s
139
142
  WHERE %3$s
140
143
  )
@@ -145,7 +148,8 @@ IF TG_OP = 'UPDATE' THEN
145
148
  v_trigger.columns_info->'tracked_columns',
146
149
  v_trigger.columns_info->>'join_condition',
147
150
  v_trigger.columns_info->>'where_statement',
148
- v_trigger.condition
151
+ v_trigger.condition,
152
+ TG_TABLE_NAME
149
153
  );
150
154
 
151
155
  BEGIN
@@ -1 +1 @@
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,MAAM,sBAAsB,GAAG;;qCAEI,wCAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0B/C,sCAAsC;;kBAEtC,8BAA8B;;;;;;;;;;;;;0BAatB,IAAA,4BAAO,EAAC,kCAAa,CAAC,OAAO,CAAC;;4BAE5B,IAAA,4BAAO,EAAC,8BAAS,CAAC;;4BAElB,IAAA,4BAAO,EAAC,+BAAU,CAAC,IAAI,CAAC;;;;;;;;4BAQxB,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;kBAexF,IAAA,qCAAgB,GAAE;;;;;;;8BAON,wCAAY,CAAC,eAAe;;GAEvD,CAAC;IAEF,2GAA2G;IAC3G,MAAM,UAAU,GAAG,sBAAsB;SACtC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IACE,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACxC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yJAAyJ,IAAI,EAAE,CAChK,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AApGW,QAAA,yBAAyB,6BAoGpC;AAEF,MAAM,sCAAsC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0E9C,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EtC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
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,MAAM,sBAAsB,GAAG;;qCAEI,wCAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0B/C,sCAAsC;;kBAEtC,8BAA8B;;;;;;;;;;;;;0BAatB,IAAA,4BAAO,EAAC,kCAAa,CAAC,OAAO,CAAC;;4BAE5B,IAAA,4BAAO,EAAC,8BAAS,CAAC;;4BAElB,IAAA,4BAAO,EAAC,+BAAU,CAAC,IAAI,CAAC;;;;;;;;4BAQxB,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;kBAexF,IAAA,qCAAgB,GAAE;;;;;;;8BAON,wCAAY,CAAC,eAAe;;GAEvD,CAAC;IAEF,2GAA2G;IAC3G,MAAM,UAAU,GAAG,sBAAsB;SACtC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IACE,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACxC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yJAAyJ,IAAI,EAAE,CAChK,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AApGW,QAAA,yBAAyB,6BAoGpC;AAEF,MAAM,sCAAsC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8E9C,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EtC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
@@ -43,7 +43,7 @@ export const getDataWatchFunctionQuery = (debugMode: boolean | undefined) => {
43
43
  IF (c_ids IS NOT NULL OR has_errors) THEN
44
44
 
45
45
  FOR v_trigger IN
46
- SELECT app_id, string_agg(c_id::text, ',') as cids
46
+ SELECT app_id, string_agg(DISTINCT c_id::text, ',') as cids
47
47
  FROM prostgles.v_triggers
48
48
  WHERE c_id = ANY(c_ids)
49
49
  OR has_errors
@@ -128,6 +128,9 @@ IF TG_OP = 'UPDATE' THEN
128
128
  FROM prostgles.v_triggers
129
129
  WHERE table_name = escaped_table
130
130
  AND columns_info IS NOT NULL
131
+ /* These require the views to be added before as CTEs to ensure the condition works */
132
+ AND related_view_name IS NULL
133
+ AND related_view_def IS NULL
131
134
  LOOP
132
135
 
133
136
  query := format(
@@ -137,8 +140,8 @@ IF TG_OP = 'UPDATE' THEN
137
140
  FROM jsonb_object_keys(%1$L) as column_name
138
141
  WHERE EXISTS (
139
142
  SELECT 1
140
- FROM (SELECT * FROM old_table WHERE %4$s ) o
141
- LEFT JOIN (SELECT * FROM new_table WHERE %4$s ) n
143
+ FROM (SELECT * FROM old_table as %5$I WHERE %4$s ) o
144
+ FULL OUTER JOIN (SELECT * FROM new_table as %5$I WHERE %4$s ) n
142
145
  ON %2$s
143
146
  WHERE %3$s
144
147
  )
@@ -149,7 +152,8 @@ IF TG_OP = 'UPDATE' THEN
149
152
  v_trigger.columns_info->'tracked_columns',
150
153
  v_trigger.columns_info->>'join_condition',
151
154
  v_trigger.columns_info->>'where_statement',
152
- v_trigger.condition
155
+ v_trigger.condition,
156
+ TG_TABLE_NAME
153
157
  );
154
158
 
155
159
  BEGIN
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.488",
3
+ "version": "4.2.490",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",