prostgles-server 4.2.707 → 4.2.709
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/ViewHandler/getDbHandlerWithAbort.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getDbHandlerWithAbort.js +22 -3
- package/dist/DboBuilder/ViewHandler/getDbHandlerWithAbort.js.map +1 -1
- package/dist/DboBuilder/schema/getViewReferenceColumns.d.ts.map +1 -1
- package/dist/DboBuilder/schema/getViewReferenceColumns.js +5 -0
- package/dist/DboBuilder/schema/getViewReferenceColumns.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDbHandlerWithAbort.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getDbHandlerWithAbort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"getDbHandlerWithAbort.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getDbHandlerWithAbort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,KAAK,MAAM,GAAG;IAAE,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1F,eAAO,MAAM,qBAAqB,GAChC,aAAa,WAAW,EACxB,aAAa,WAAW,GAAG,SAAS,EACpC,QAAQ,MAAM,KACb,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,CAwH7F,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,SAAS,EACpB,QAAQ,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EACrC,aAAa,WAAW,GAAG,SAAS;;;CA+BrC,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getAbortSignalKeys = exports.getDbHandlerWithAbort = void 0;
|
|
4
4
|
const DboBuilder_1 = require("../DboBuilder");
|
|
5
5
|
const serverSideRequest_1 = require("../../Auth/utils/serverSideRequest");
|
|
6
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
6
7
|
const getDbHandlerWithAbort = (viewHandler, localParams, params) => {
|
|
7
8
|
if (params.abortSignal && params.abortSignalId) {
|
|
8
9
|
throw new Error("Cannot provide both abortSignal and abortSignalId");
|
|
@@ -14,7 +15,8 @@ const getDbHandlerWithAbort = (viewHandler, localParams, params) => {
|
|
|
14
15
|
throw new Error("abortSignal must be an instance of AbortSignal");
|
|
15
16
|
}
|
|
16
17
|
const { clientReq } = localParams ?? {};
|
|
17
|
-
const
|
|
18
|
+
const defaultTimeoutMs = clientReq ? 7_000 : 120_000;
|
|
19
|
+
const abortSignal = params.abortSignal ?? AbortSignal.timeout(defaultTimeoutMs);
|
|
18
20
|
const { prostgles } = viewHandler.dboBuilder;
|
|
19
21
|
const handler = viewHandler.getTransaction(localParams)?.t ?? viewHandler.db;
|
|
20
22
|
const { adminClient } = prostgles;
|
|
@@ -33,13 +35,23 @@ const getDbHandlerWithAbort = (viewHandler, localParams, params) => {
|
|
|
33
35
|
if (!queryIdPrefix || !queryHasIdPrefix) {
|
|
34
36
|
throw new Error("Query does not have a prostgles query id prefix. Ensure that the query is generated using prostgles methods that include the query id.");
|
|
35
37
|
}
|
|
38
|
+
let abortErrorMessage;
|
|
36
39
|
const abort = () => {
|
|
40
|
+
const abortReason = abortSignal.reason;
|
|
41
|
+
const reasonMessage = abortReason instanceof Error ? abortReason.message
|
|
42
|
+
: typeof abortReason === "string" ? abortReason
|
|
43
|
+
: "";
|
|
44
|
+
abortErrorMessage ??=
|
|
45
|
+
!abortSignal.aborted ? "Query cancelled by client abort request"
|
|
46
|
+
: params.abortSignal ?
|
|
47
|
+
`Query cancelled by abortSignal${reasonMessage ? `: ${reasonMessage}` : ""}`
|
|
48
|
+
: `Query cancelled because the default ${clientReq ? "client" : "server"} query timeout of ${defaultTimeoutMs}ms was exceeded`;
|
|
37
49
|
void viewHandler._log({
|
|
38
50
|
data: { query, abortSignalId: signalKeys.abortSignalId },
|
|
39
51
|
command: "abort",
|
|
40
52
|
localParams,
|
|
41
53
|
duration: Date.now() - (viewHandler.activeQueries.get(abortSignalKey)?.start ?? Date.now()),
|
|
42
|
-
error: new Error(
|
|
54
|
+
error: new Error(abortErrorMessage),
|
|
43
55
|
});
|
|
44
56
|
/** Only terminate if there is exactly one matching query with a query id prefix */
|
|
45
57
|
viewHandler.abortRequests.delete(abortSignalKey);
|
|
@@ -66,7 +78,14 @@ const getDbHandlerWithAbort = (viewHandler, localParams, params) => {
|
|
|
66
78
|
socketId: localParams?.clientReq?.socket?.id,
|
|
67
79
|
});
|
|
68
80
|
abortSignal.addEventListener("abort", abort);
|
|
69
|
-
return func(query, ...args)
|
|
81
|
+
return func(query, ...args)
|
|
82
|
+
.catch((error) => {
|
|
83
|
+
if (abortErrorMessage && (0, prostgles_types_1.isObject)(error) && error.code === "57014") {
|
|
84
|
+
error.message = abortErrorMessage;
|
|
85
|
+
}
|
|
86
|
+
throw error;
|
|
87
|
+
})
|
|
88
|
+
.finally(() => {
|
|
70
89
|
abortSignal.removeEventListener("abort", abort);
|
|
71
90
|
viewHandler.activeQueries.delete(abortSignalKey);
|
|
72
91
|
viewHandler.abortRequests.delete(abortSignalKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDbHandlerWithAbort.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getDbHandlerWithAbort.ts"],"names":[],"mappings":";;;AACA,8CAAkE;AAGlE,0EAAyE;
|
|
1
|
+
{"version":3,"file":"getDbHandlerWithAbort.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getDbHandlerWithAbort.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewReferenceColumns.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/schema/getViewReferenceColumns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,eAAO,MAAM,uBAAuB,GAClC,OAAO,WAAW,EAClB,iBAAiB,WAAW,EAAE,EAC9B,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"getViewReferenceColumns.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/schema/getViewReferenceColumns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,eAAO,MAAM,uBAAuB,GAClC,OAAO,WAAW,EAClB,iBAAiB,WAAW,EAAE,EAC9B,IAAI,EAAE,0EAoEP,CAAC"}
|
|
@@ -29,6 +29,11 @@ const getViewReferenceColumns = async (table, tableSchemaList, db) => {
|
|
|
29
29
|
const viewTablePKeys = viewTable.columns.filter((c) => c.is_pkey);
|
|
30
30
|
const viewTableColumnsUsedPKeys = viewTableColumnsUsed.filter((ff) => viewTablePKeys.some((p) => p.name === ff.columnName));
|
|
31
31
|
const addReferences = (referenceCols) => {
|
|
32
|
+
/* Repeated source columns may come from different aliases of a self-join.
|
|
33
|
+
* PostgreSQL field metadata cannot identify which alias each column belongs to. */
|
|
34
|
+
const sourceColumnNames = referenceCols.map(({ columnName }) => columnName);
|
|
35
|
+
if (new Set(sourceColumnNames).size !== sourceColumnNames.length)
|
|
36
|
+
return;
|
|
32
37
|
const reference = {
|
|
33
38
|
ftable: viewTable.name,
|
|
34
39
|
cols: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewReferenceColumns.js","sourceRoot":"","sources":["../../../lib/DboBuilder/schema/getViewReferenceColumns.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAE5C,uDAAyE;AAGlE,MAAM,uBAAuB,GAAG,KAAK,EAC1C,KAAkB,EAClB,eAA8B,EAC9B,EAAM,EACN,EAAE;IACF,MAAM,oBAAoB,GAAqD,EAAE,CAAC;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,eAAe,GACnB,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;QAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"getViewReferenceColumns.js","sourceRoot":"","sources":["../../../lib/DboBuilder/schema/getViewReferenceColumns.ts"],"names":[],"mappings":"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"}
|