prostgles-server 4.2.110 → 4.2.112
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/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/DboBuilder.js +10 -6
- package/dist/DboBuilder/DboBuilder.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +50 -55
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/lib/DboBuilder/DboBuilder.ts +12 -7
- package/lib/PubSubManager/initPubSubManager.ts +53 -59
- package/package.json +1 -1
- package/tests/server/package-lock.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/DboBuilder.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,UAAU,
|
|
1
|
+
{"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/DboBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,13 +66,17 @@ class DboBuilder {
|
|
|
66
66
|
const canExecute = await (0, dboBuilderUtils_1.getCanExecute)(this.db);
|
|
67
67
|
if (!canExecute)
|
|
68
68
|
throw "PubSubManager based subscriptions not possible: Cannot run EXECUTE statements on this connection";
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
const { pubSubManager, error, hasError } = await (0, prostgles_types_1.tryCatch)(async () => {
|
|
70
|
+
const pubSubManager = await PubSubManager_1.PubSubManager.create({
|
|
71
|
+
dboBuilder: this,
|
|
72
|
+
});
|
|
73
|
+
return { pubSubManager };
|
|
71
74
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
this._pubSubManager = pubSubManager;
|
|
76
|
+
if (hasError || !this._pubSubManager) {
|
|
77
|
+
console.error("Error in getPubSubManager", error);
|
|
78
|
+
throw "Could not create this._pubSubManager check logs";
|
|
79
|
+
}
|
|
76
80
|
}
|
|
77
81
|
return this._pubSubManager;
|
|
78
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DboBuilder.js","sourceRoot":"","sources":["../../lib/DboBuilder/DboBuilder.ts"],"names":[],"mappings":";AACA;;;gGAGgG;;;;;;;;;;;;;;;;;AAEhG,
|
|
1
|
+
{"version":3,"file":"DboBuilder.js","sourceRoot":"","sources":["../../lib/DboBuilder/DboBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,aAAa,EAAW,MAAM,iBAAiB,CAAC;AAExE,eAAO,MAAM,4BAA4B,oEAA8E,CAAC;AAExH,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAA4C,CAAC;AAE5E,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"initPubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,aAAa,EAAW,MAAM,iBAAiB,CAAC;AAExE,eAAO,MAAM,4BAA4B,oEAA8E,CAAC;AAExH,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAA4C,CAAC;AAE5E,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAoE/F"}
|
|
@@ -12,66 +12,61 @@ exports.tout = tout;
|
|
|
12
12
|
async function initPubSubManager() {
|
|
13
13
|
if (!this.getIsDestroyed())
|
|
14
14
|
return undefined;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
tries = 0;
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
if (!didDeadlock && (0, prostgles_types_1.isObject)(e) && e.code === "40P01") {
|
|
34
|
-
didDeadlock = true;
|
|
35
|
-
tries = 5;
|
|
36
|
-
console.error("Deadlock detected. Retrying...");
|
|
37
|
-
}
|
|
38
|
-
error = e;
|
|
39
|
-
tries--;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (error) {
|
|
43
|
-
throw error;
|
|
15
|
+
const initQuery = await getPubSubManagerInitQuery_1.getPubSubManagerInitQuery.bind(this.dboBuilder)();
|
|
16
|
+
/**
|
|
17
|
+
* High database activity might cause deadlocks.
|
|
18
|
+
* Must retry
|
|
19
|
+
*/
|
|
20
|
+
let didDeadlock = false;
|
|
21
|
+
let tries = 3;
|
|
22
|
+
let error;
|
|
23
|
+
while ((0, prostgles_types_1.isDefined)(initQuery) && tries > 0) {
|
|
24
|
+
try {
|
|
25
|
+
/** Try to reduce race condition deadlocks due to multiple clients connecting at the same time */
|
|
26
|
+
await (0, exports.tout)(Math.random());
|
|
27
|
+
await this.db.tx(t => t.any(initQuery));
|
|
28
|
+
error = undefined;
|
|
29
|
+
tries = 0;
|
|
44
30
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const check_frequency_ms = this.appCheckFrequencyMS;
|
|
51
|
-
const watching_schema_tag_names = this.dboBuilder.prostgles.schemaWatch?.type.watchType !== "NONE" ? (0, getWatchSchemaTagList_1.getWatchSchemaTagList)(this.dboBuilder.prostgles.opts.watchSchema) : null;
|
|
52
|
-
await this.db.one("INSERT INTO prostgles.apps (id, check_frequency_ms, watching_schema_tag_names, application_name) \
|
|
53
|
-
VALUES($1, $2, $3, current_setting('application_name')) \
|
|
54
|
-
RETURNING *; ", [
|
|
55
|
-
this.appId,
|
|
56
|
-
check_frequency_ms,
|
|
57
|
-
watching_schema_tag_names
|
|
58
|
-
]);
|
|
59
|
-
const appRecord = await this.db.one("SELECT * FROM prostgles.apps WHERE id = $1", [this.appId]);
|
|
60
|
-
if (!appRecord || !appRecord.application_name?.includes(this.appId)) {
|
|
61
|
-
throw `initPubSubManager error: App record with application_name containing appId (${this.appId}) not found`;
|
|
31
|
+
catch (e) {
|
|
32
|
+
if (!didDeadlock && (0, prostgles_types_1.isObject)(e) && e.code === "40P01") {
|
|
33
|
+
didDeadlock = true;
|
|
34
|
+
tries = 5;
|
|
35
|
+
console.error("Deadlock detected. Retrying...");
|
|
62
36
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
WHERE app_id = ${(0, PubSubManager_1.asValue)(this.appId)}
|
|
66
|
-
`);
|
|
37
|
+
error = e;
|
|
38
|
+
tries--;
|
|
67
39
|
}
|
|
68
|
-
this.postgresNotifListenManager = new PostgresNotifListenManager_1.PostgresNotifListenManager(this.db, this.notifListener, PubSubManager_1.NOTIF_CHANNEL.getFull(this.appId));
|
|
69
|
-
await this.initialiseEventTriggers();
|
|
70
|
-
return this;
|
|
71
40
|
}
|
|
72
|
-
|
|
73
|
-
|
|
41
|
+
if (error) {
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
if (!this.getIsDestroyed())
|
|
45
|
+
return;
|
|
46
|
+
/* Prepare App id */
|
|
47
|
+
if (!this.appInfoWasInserted) {
|
|
48
|
+
this.appInfoWasInserted = true;
|
|
49
|
+
const check_frequency_ms = this.appCheckFrequencyMS;
|
|
50
|
+
const watching_schema_tag_names = this.dboBuilder.prostgles.schemaWatch?.type.watchType !== "NONE" ? (0, getWatchSchemaTagList_1.getWatchSchemaTagList)(this.dboBuilder.prostgles.opts.watchSchema) : null;
|
|
51
|
+
await this.db.one("INSERT INTO prostgles.apps (id, check_frequency_ms, watching_schema_tag_names, application_name) \
|
|
52
|
+
VALUES($1, $2, $3, current_setting('application_name')) \
|
|
53
|
+
RETURNING *; ", [
|
|
54
|
+
this.appId,
|
|
55
|
+
check_frequency_ms,
|
|
56
|
+
watching_schema_tag_names
|
|
57
|
+
]);
|
|
58
|
+
const appRecord = await this.db.one("SELECT * FROM prostgles.apps WHERE id = $1", [this.appId]);
|
|
59
|
+
if (!appRecord || !appRecord.application_name?.includes(this.appId)) {
|
|
60
|
+
throw `initPubSubManager error: App record with application_name containing appId (${this.appId}) not found`;
|
|
61
|
+
}
|
|
62
|
+
await this.db.any(`
|
|
63
|
+
DELETE FROM prostgles.app_triggers
|
|
64
|
+
WHERE app_id = ${(0, PubSubManager_1.asValue)(this.appId)}
|
|
65
|
+
`);
|
|
74
66
|
}
|
|
67
|
+
this.postgresNotifListenManager = new PostgresNotifListenManager_1.PostgresNotifListenManager(this.db, this.notifListener, PubSubManager_1.NOTIF_CHANNEL.getFull(this.appId));
|
|
68
|
+
await this.initialiseEventTriggers();
|
|
69
|
+
return this;
|
|
75
70
|
}
|
|
76
71
|
exports.initPubSubManager = initPubSubManager;
|
|
77
72
|
//# sourceMappingURL=initPubSubManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":";;;AAAA,qDAAsD;AACtD,8EAA2E;AAC3E,gFAA6E;AAC7E,mDAAwE;AACxE,2EAAwE;AAC3D,QAAA,4BAA4B,GAAG,kEAA2E,CAAC;AAEjH,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAA/D,QAAA,IAAI,QAA2D;AAErE,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IAE7C,
|
|
1
|
+
{"version":3,"file":"initPubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/initPubSubManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
import {
|
|
8
8
|
PG_COLUMN_UDT_DATA_TYPE,
|
|
9
9
|
SQLOptions,
|
|
10
|
-
getJoinHandlers
|
|
10
|
+
getJoinHandlers,
|
|
11
|
+
tryCatch
|
|
11
12
|
} from "prostgles-types";
|
|
12
13
|
import { getDBSchema } from "../DBSchemaBuilder";
|
|
13
14
|
import {
|
|
@@ -95,13 +96,17 @@ export class DboBuilder {
|
|
|
95
96
|
const canExecute = await getCanExecute(this.db)
|
|
96
97
|
if (!canExecute) throw "PubSubManager based subscriptions not possible: Cannot run EXECUTE statements on this connection";
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
const { pubSubManager, error, hasError } = await tryCatch(async () => {
|
|
100
|
+
const pubSubManager = await PubSubManager.create({
|
|
101
|
+
dboBuilder: this,
|
|
102
|
+
});
|
|
103
|
+
return { pubSubManager };
|
|
100
104
|
});
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
+
this._pubSubManager = pubSubManager;
|
|
106
|
+
if (hasError || !this._pubSubManager ) {
|
|
107
|
+
console.error("Error in getPubSubManager", error);
|
|
108
|
+
throw "Could not create this._pubSubManager check logs";
|
|
109
|
+
}
|
|
105
110
|
}
|
|
106
111
|
|
|
107
112
|
return this._pubSubManager;
|
|
@@ -10,75 +10,69 @@ export const tout = (ms: number) => new Promise(res => setTimeout(res, ms));
|
|
|
10
10
|
export async function initPubSubManager(this: PubSubManager): Promise<PubSubManager | undefined> {
|
|
11
11
|
if (!this.getIsDestroyed()) return undefined;
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
const initQuery = await getPubSubManagerInitQuery.bind(this.dboBuilder)();
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* High database activity might cause deadlocks.
|
|
17
|
+
* Must retry
|
|
18
|
+
*/
|
|
19
|
+
let didDeadlock = false;
|
|
20
|
+
let tries = 3;
|
|
21
|
+
let error: any;
|
|
22
|
+
while (isDefined(initQuery) && tries > 0) {
|
|
23
|
+
try {
|
|
24
|
+
/** Try to reduce race condition deadlocks due to multiple clients connecting at the same time */
|
|
25
|
+
await tout(Math.random());
|
|
16
26
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
try {
|
|
26
|
-
/** Try to reduce race condition deadlocks due to multiple clients connecting at the same time */
|
|
27
|
-
await tout(Math.random());
|
|
28
|
-
|
|
29
|
-
await this.db.any(initQuery);
|
|
30
|
-
error = undefined;
|
|
31
|
-
tries = 0;
|
|
32
|
-
} catch (e: any) {
|
|
33
|
-
if(!didDeadlock && isObject(e) && e.code === "40P01"){
|
|
34
|
-
didDeadlock = true;
|
|
35
|
-
tries = 5;
|
|
36
|
-
console.error("Deadlock detected. Retrying...");
|
|
37
|
-
}
|
|
38
|
-
error = e;
|
|
39
|
-
tries --;
|
|
27
|
+
await this.db.tx(t => t.any(initQuery));
|
|
28
|
+
error = undefined;
|
|
29
|
+
tries = 0;
|
|
30
|
+
} catch (e: any) {
|
|
31
|
+
if(!didDeadlock && isObject(e) && e.code === "40P01"){
|
|
32
|
+
didDeadlock = true;
|
|
33
|
+
tries = 5;
|
|
34
|
+
console.error("Deadlock detected. Retrying...");
|
|
40
35
|
}
|
|
36
|
+
error = e;
|
|
37
|
+
tries --;
|
|
41
38
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (!this.getIsDestroyed()) return;
|
|
39
|
+
}
|
|
40
|
+
if(error){
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
47
43
|
|
|
48
|
-
|
|
49
|
-
if (!this.appInfoWasInserted) {
|
|
50
|
-
this.appInfoWasInserted = true;
|
|
51
|
-
const check_frequency_ms = this.appCheckFrequencyMS;
|
|
52
|
-
const watching_schema_tag_names = this.dboBuilder.prostgles.schemaWatch?.type.watchType !== "NONE" ? getWatchSchemaTagList(this.dboBuilder.prostgles.opts.watchSchema) : null;
|
|
53
|
-
await this.db.one(
|
|
54
|
-
"INSERT INTO prostgles.apps (id, check_frequency_ms, watching_schema_tag_names, application_name) \
|
|
55
|
-
VALUES($1, $2, $3, current_setting('application_name')) \
|
|
56
|
-
RETURNING *; "
|
|
57
|
-
, [
|
|
58
|
-
this.appId,
|
|
59
|
-
check_frequency_ms,
|
|
60
|
-
watching_schema_tag_names
|
|
61
|
-
]
|
|
62
|
-
);
|
|
44
|
+
if (!this.getIsDestroyed()) return;
|
|
63
45
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
46
|
+
/* Prepare App id */
|
|
47
|
+
if (!this.appInfoWasInserted) {
|
|
48
|
+
this.appInfoWasInserted = true;
|
|
49
|
+
const check_frequency_ms = this.appCheckFrequencyMS;
|
|
50
|
+
const watching_schema_tag_names = this.dboBuilder.prostgles.schemaWatch?.type.watchType !== "NONE" ? getWatchSchemaTagList(this.dboBuilder.prostgles.opts.watchSchema) : null;
|
|
51
|
+
await this.db.one(
|
|
52
|
+
"INSERT INTO prostgles.apps (id, check_frequency_ms, watching_schema_tag_names, application_name) \
|
|
53
|
+
VALUES($1, $2, $3, current_setting('application_name')) \
|
|
54
|
+
RETURNING *; "
|
|
55
|
+
, [
|
|
56
|
+
this.appId,
|
|
57
|
+
check_frequency_ms,
|
|
58
|
+
watching_schema_tag_names
|
|
59
|
+
]
|
|
60
|
+
);
|
|
68
61
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
`);
|
|
62
|
+
const appRecord = await this.db.one("SELECT * FROM prostgles.apps WHERE id = $1", [this.appId]);
|
|
63
|
+
if (!appRecord || !appRecord.application_name?.includes(this.appId)) {
|
|
64
|
+
throw `initPubSubManager error: App record with application_name containing appId (${this.appId}) not found`;
|
|
73
65
|
}
|
|
74
66
|
|
|
75
|
-
|
|
67
|
+
await this.db.any(`
|
|
68
|
+
DELETE FROM prostgles.app_triggers
|
|
69
|
+
WHERE app_id = ${asValue(this.appId)}
|
|
70
|
+
`);
|
|
71
|
+
}
|
|
76
72
|
|
|
77
|
-
|
|
73
|
+
this.postgresNotifListenManager = new PostgresNotifListenManager(this.db, this.notifListener, NOTIF_CHANNEL.getFull(this.appId));
|
|
78
74
|
|
|
79
|
-
|
|
75
|
+
await this.initialiseEventTriggers();
|
|
80
76
|
|
|
81
|
-
|
|
82
|
-
console.error("PubSubManager init failed: ", e);
|
|
83
|
-
}
|
|
77
|
+
return this;
|
|
84
78
|
}
|
package/package.json
CHANGED