prostgles-server 4.2.131 → 4.2.133
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/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +4 -4
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +8 -3
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +4 -6
- package/lib/PubSubManager/notifListener.ts +8 -3
- package/package.json +1 -1
- package/tests/isomorphicQueries.spec.ts +24 -14
- package/tests/server/package-lock.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAO,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAuC,WAAW,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IACpD,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAA;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"getSubscribeRelatedTables.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAO,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAuC,WAAW,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IACpD,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAA;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,gDA0KzG"}
|
|
@@ -115,8 +115,8 @@ async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
|
|
|
115
115
|
if (!relatedTableOrViewHandler) {
|
|
116
116
|
throw `Table ${relatedTableName} not found`;
|
|
117
117
|
}
|
|
118
|
-
const alreadyPushed = viewOptions
|
|
119
|
-
if (
|
|
118
|
+
const alreadyPushed = viewOptions?.relatedTables.find(rt => rt.tableName === relatedTableName);
|
|
119
|
+
if (alreadyPushed || relatedTableOrViewHandler.is_view) {
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
122
|
viewOptions ??= {
|
|
@@ -144,13 +144,13 @@ async function getSubscribeRelatedTables({ filter, localParams, newQuery }) {
|
|
|
144
144
|
* Avoid nested exists error. Will affect performance
|
|
145
145
|
*/
|
|
146
146
|
for await (const j of (newQuery.joins ?? [])) {
|
|
147
|
-
pushRelatedTable(j.table, j.joinPath);
|
|
147
|
+
await pushRelatedTable(j.table, j.joinPath);
|
|
148
148
|
}
|
|
149
149
|
for await (const e of newQuery.whereOpts.exists.filter(e => e.isJoined)) {
|
|
150
150
|
if (!e.isJoined)
|
|
151
151
|
throw `Not possible`;
|
|
152
152
|
const targetTable = e.parsedPath.at(-1).table;
|
|
153
|
-
pushRelatedTable(targetTable, e.parsedPath);
|
|
153
|
+
await pushRelatedTable(targetTable, e.parsedPath);
|
|
154
154
|
}
|
|
155
155
|
if (!viewOptions.relatedTables.length) {
|
|
156
156
|
viewOptions = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getSubscribeRelatedTables.js","sourceRoot":"","sources":["../../lib/DboBuilder/getSubscribeRelatedTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3E,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3E,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAyKjF"}
|
|
@@ -66,13 +66,15 @@ async function notifListener(data) {
|
|
|
66
66
|
else if (condition_ids?.every(id => Number.isInteger(id))) {
|
|
67
67
|
state = "ok";
|
|
68
68
|
const firedTableConditions = tableTriggerConditions.filter(({ idx }) => condition_ids.includes(idx));
|
|
69
|
-
const
|
|
69
|
+
const orphanedTableConditions = condition_ids.filter((condId) => {
|
|
70
70
|
const tc = tableTriggerConditions.at(condId);
|
|
71
71
|
return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
|
|
72
72
|
});
|
|
73
|
-
if (
|
|
73
|
+
if (orphanedTableConditions.length) {
|
|
74
74
|
this.db
|
|
75
75
|
.any(`
|
|
76
|
+
/* Delete removed subscriptions */
|
|
77
|
+
/* ${PubSubManager_1.PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
|
|
76
78
|
DELETE FROM prostgles.app_triggers at
|
|
77
79
|
WHERE EXISTS (
|
|
78
80
|
SELECT 1
|
|
@@ -84,7 +86,10 @@ async function notifListener(data) {
|
|
|
84
86
|
AND at.table_name = t.table_name
|
|
85
87
|
AND at.condition = t.condition
|
|
86
88
|
)
|
|
87
|
-
`, [table_name,
|
|
89
|
+
`, [table_name, orphanedTableConditions, this.appId])
|
|
90
|
+
.then(() => {
|
|
91
|
+
this.refreshTriggers();
|
|
92
|
+
})
|
|
88
93
|
.catch(e => {
|
|
89
94
|
console.error("Error deleting orphaned triggers", e);
|
|
90
95
|
});
|
|
@@ -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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"}
|
|
@@ -136,8 +136,6 @@ export async function getSubscribeRelatedTables(this: ViewHandler, { filter, loc
|
|
|
136
136
|
relatedTables: []
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
141
139
|
const nonExistsFilter = newQuery.whereOpts.exists.length ? {} : filter;
|
|
142
140
|
const pushRelatedTable = async (relatedTableName: string, joinPath: ParsedJoinPath[]) => {
|
|
143
141
|
const relatedTableOrViewHandler = this.dboBuilder.dbo[relatedTableName];
|
|
@@ -145,8 +143,8 @@ export async function getSubscribeRelatedTables(this: ViewHandler, { filter, loc
|
|
|
145
143
|
throw `Table ${relatedTableName} not found`;
|
|
146
144
|
}
|
|
147
145
|
|
|
148
|
-
const alreadyPushed = viewOptions
|
|
149
|
-
if(
|
|
146
|
+
const alreadyPushed = viewOptions?.relatedTables.find(rt => rt.tableName === relatedTableName)
|
|
147
|
+
if(alreadyPushed || relatedTableOrViewHandler.is_view){
|
|
150
148
|
return
|
|
151
149
|
}
|
|
152
150
|
|
|
@@ -176,12 +174,12 @@ export async function getSubscribeRelatedTables(this: ViewHandler, { filter, loc
|
|
|
176
174
|
* Avoid nested exists error. Will affect performance
|
|
177
175
|
*/
|
|
178
176
|
for await (const j of (newQuery.joins ?? [])) {
|
|
179
|
-
pushRelatedTable(j.table, j.joinPath);
|
|
177
|
+
await pushRelatedTable(j.table, j.joinPath);
|
|
180
178
|
}
|
|
181
179
|
for await (const e of newQuery.whereOpts.exists.filter(e => e.isJoined)) {
|
|
182
180
|
if(!e.isJoined) throw `Not possible`;
|
|
183
181
|
const targetTable = e.parsedPath.at(-1)!.table;
|
|
184
|
-
pushRelatedTable(targetTable, e.parsedPath);
|
|
182
|
+
await pushRelatedTable(targetTable, e.parsedPath);
|
|
185
183
|
}
|
|
186
184
|
if (!viewOptions.relatedTables.length) {
|
|
187
185
|
viewOptions = undefined;
|
|
@@ -85,13 +85,15 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
85
85
|
|
|
86
86
|
state = "ok";
|
|
87
87
|
const firedTableConditions = tableTriggerConditions.filter(({ idx }) => condition_ids.includes(idx));
|
|
88
|
-
const
|
|
88
|
+
const orphanedTableConditions = condition_ids.filter((condId) => {
|
|
89
89
|
const tc = tableTriggerConditions.at(condId);
|
|
90
90
|
return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
|
|
91
91
|
});
|
|
92
|
-
if(
|
|
92
|
+
if(orphanedTableConditions.length){
|
|
93
93
|
this.db
|
|
94
94
|
.any(`
|
|
95
|
+
/* Delete removed subscriptions */
|
|
96
|
+
/* ${PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
|
|
95
97
|
DELETE FROM prostgles.app_triggers at
|
|
96
98
|
WHERE EXISTS (
|
|
97
99
|
SELECT 1
|
|
@@ -104,8 +106,11 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
104
106
|
AND at.condition = t.condition
|
|
105
107
|
)
|
|
106
108
|
`,
|
|
107
|
-
[table_name,
|
|
109
|
+
[table_name, orphanedTableConditions, this.appId]
|
|
108
110
|
)
|
|
111
|
+
.then(() => {
|
|
112
|
+
this.refreshTriggers();
|
|
113
|
+
})
|
|
109
114
|
.catch(e => {
|
|
110
115
|
console.error("Error deleting orphaned triggers", e);
|
|
111
116
|
});
|
package/package.json
CHANGED
|
@@ -1174,21 +1174,31 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
|
|
|
1174
1174
|
});
|
|
1175
1175
|
|
|
1176
1176
|
await test("Related table subscribe", async () => {
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1177
|
+
await tryRunP("Related table subscribe", async (resolve, reject) => {
|
|
1178
|
+
let runs = 0;
|
|
1179
|
+
const sub = await db.tr1.subscribe!(
|
|
1180
|
+
{},
|
|
1181
|
+
{
|
|
1182
|
+
select: {
|
|
1183
|
+
"*": 1,
|
|
1184
|
+
tr2: "*",
|
|
1185
|
+
tr3: "*",
|
|
1186
|
+
}
|
|
1187
|
+
},
|
|
1188
|
+
async _rows => {
|
|
1189
|
+
runs++;
|
|
1190
|
+
console.log({ _rows, runs });
|
|
1191
|
+
if(runs === 1){
|
|
1192
|
+
await db.tr2.insert!({ tr1_id: _rows[0]!.id, t1: "a", t2: "b" });
|
|
1193
|
+
} else if(runs === 2){
|
|
1194
|
+
await sub.unsubscribe();
|
|
1195
|
+
resolve(true);
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1184
1198
|
}
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
}
|
|
1189
|
-
);
|
|
1190
|
-
|
|
1191
|
-
await sub.unsubscribe();
|
|
1199
|
+
);
|
|
1200
|
+
|
|
1201
|
+
});
|
|
1192
1202
|
});
|
|
1193
1203
|
|
|
1194
1204
|
await test("Nested sort by computed col", async () => {
|