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.
- package/dist/PubSubManager/init/getDataWatchFunctionQuery.d.ts.map +1 -1
- package/dist/PubSubManager/init/getDataWatchFunctionQuery.js +8 -4
- package/dist/PubSubManager/init/getDataWatchFunctionQuery.js.map +1 -1
- package/lib/PubSubManager/init/getDataWatchFunctionQuery.ts +8 -4
- package/package.json +1 -1
|
@@ -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;
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|