velocious 1.0.410 → 1.0.411
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/README.md +1 -0
- package/build/src/background-jobs/job-runner.js +2 -2
- package/build/src/background-jobs/store.js +3 -3
- package/build/src/background-jobs/worker.js +2 -2
- package/build/src/cli/commands/db/migrate.js +2 -2
- package/build/src/cli/commands/db/reset.js +2 -2
- package/build/src/cli/commands/db/rollback.js +2 -2
- package/build/src/cli/commands/db/tenants/check.js +2 -2
- package/build/src/cli/commands/db/tenants/migrate.js +2 -2
- package/build/src/cli/tenant-database-command-helper.js +2 -2
- package/build/src/configuration.d.ts +12 -4
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +25 -9
- package/build/src/database/annotations-async-hooks.d.ts +2 -0
- package/build/src/database/annotations-async-hooks.d.ts.map +1 -0
- package/build/src/database/annotations-async-hooks.js +34 -0
- package/build/src/database/annotations.d.ts +15 -0
- package/build/src/database/annotations.d.ts.map +1 -0
- package/build/src/database/annotations.js +27 -0
- package/build/src/database/drivers/base.d.ts +31 -2
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +64 -9
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +14 -1
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +19 -1
- package/build/src/database/migrator.js +3 -3
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +23 -3
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +84 -25
- package/build/src/database/pool/base.d.ts +11 -3
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +10 -4
- package/build/src/database/pool/single-multi-use.d.ts +5 -0
- package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
- package/build/src/database/pool/single-multi-use.js +22 -9
- package/build/src/database/record/attachments/store.js +2 -2
- package/build/src/database/record/index.js +2 -2
- package/build/src/database/use-database.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +2 -2
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +2 -1
- package/build/src/frontend-model-controller.js +2 -2
- package/build/src/frontend-models/websocket-channel.js +2 -2
- package/build/src/http-server/client/websocket-session.js +2 -2
- package/build/src/http-server/websocket-event-log-store.js +2 -2
- package/build/src/routes/resolver.js +2 -2
- package/build/src/templates/configuration.js +1 -1
- package/build/src/testing/test-runner.js +4 -4
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations-async-hooks.d.ts","sourceRoot":"","sources":["../../../src/database/annotations-async-hooks.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
/** @type {import("node:async_hooks").AsyncLocalStorage<string[]> | undefined} */
|
|
4
|
+
let asyncLocalStorage;
|
|
5
|
+
/** @type {typeof globalThis & {velociousDatabaseAnnotations?: {getDatabaseAnnotations: () => string[], withDatabaseAnnotation: (annotation: string, callback: () => Promise<unknown>) => Promise<unknown>}}} */
|
|
6
|
+
const databaseAnnotationsGlobal = globalThis;
|
|
7
|
+
if (AsyncLocalStorage) {
|
|
8
|
+
asyncLocalStorage = new AsyncLocalStorage();
|
|
9
|
+
}
|
|
10
|
+
/** @returns {string[]} - Active database annotations for the current async context. */
|
|
11
|
+
function getDatabaseAnnotations() {
|
|
12
|
+
return asyncLocalStorage?.getStore() || [];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Runs the callback with an annotation that is appended to database query comments.
|
|
16
|
+
* @param {string} annotation - Human-readable annotation for queries executed inside the callback.
|
|
17
|
+
* @param {() => Promise<unknown>} callback - Callback to execute inside the annotation context.
|
|
18
|
+
* @returns {Promise<unknown>} - Resolves with the callback result.
|
|
19
|
+
*/
|
|
20
|
+
async function withDatabaseAnnotation(annotation, callback) {
|
|
21
|
+
if (!asyncLocalStorage)
|
|
22
|
+
return await callback();
|
|
23
|
+
const parentAnnotations = asyncLocalStorage.getStore() || [];
|
|
24
|
+
return await asyncLocalStorage.run([...parentAnnotations, annotation], async () => {
|
|
25
|
+
return await callback();
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (databaseAnnotationsGlobal.velociousDatabaseAnnotations) {
|
|
29
|
+
console.warn("globalThis.velociousDatabaseAnnotations was already defined");
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
databaseAnnotationsGlobal.velociousDatabaseAnnotations = { getDatabaseAnnotations, withDatabaseAnnotation };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMtYXN5bmMtaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YWJhc2UvYW5ub3RhdGlvbnMtYXN5bmMtaG9va3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBRWxELGlGQUFpRjtBQUNqRixJQUFJLGlCQUFpQixDQUFBO0FBRXJCLGdOQUFnTjtBQUNoTixNQUFNLHlCQUF5QixHQUFHLFVBQVUsQ0FBQTtBQUU1QyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDdEIsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFBO0FBQzdDLENBQUM7QUFFRCx1RkFBdUY7QUFDdkYsU0FBUyxzQkFBc0I7SUFDN0IsT0FBTyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUE7QUFDNUMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsS0FBSyxVQUFVLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRO0lBQ3hELElBQUksQ0FBQyxpQkFBaUI7UUFBRSxPQUFPLE1BQU0sUUFBUSxFQUFFLENBQUE7SUFFL0MsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFFNUQsT0FBTyxNQUFNLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDaEYsT0FBTyxNQUFNLFFBQVEsRUFBRSxDQUFBO0lBQ3pCLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVELElBQUkseUJBQXlCLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLDZEQUE2RCxDQUFDLENBQUE7QUFDN0UsQ0FBQztLQUFNLENBQUM7SUFDTix5QkFBeUIsQ0FBQyw0QkFBNEIsR0FBRyxFQUFDLHNCQUFzQixFQUFFLHNCQUFzQixFQUFDLENBQUE7QUFDM0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge0FzeW5jTG9jYWxTdG9yYWdlfSBmcm9tIFwibm9kZTphc3luY19ob29rc1wiXG5cbi8qKiBAdHlwZSB7aW1wb3J0KFwibm9kZTphc3luY19ob29rc1wiKS5Bc3luY0xvY2FsU3RvcmFnZTxzdHJpbmdbXT4gfCB1bmRlZmluZWR9ICovXG5sZXQgYXN5bmNMb2NhbFN0b3JhZ2VcblxuLyoqIEB0eXBlIHt0eXBlb2YgZ2xvYmFsVGhpcyAmIHt2ZWxvY2lvdXNEYXRhYmFzZUFubm90YXRpb25zPzoge2dldERhdGFiYXNlQW5ub3RhdGlvbnM6ICgpID0+IHN0cmluZ1tdLCB3aXRoRGF0YWJhc2VBbm5vdGF0aW9uOiAoYW5ub3RhdGlvbjogc3RyaW5nLCBjYWxsYmFjazogKCkgPT4gUHJvbWlzZTx1bmtub3duPikgPT4gUHJvbWlzZTx1bmtub3duPn19fSAqL1xuY29uc3QgZGF0YWJhc2VBbm5vdGF0aW9uc0dsb2JhbCA9IGdsb2JhbFRoaXNcblxuaWYgKEFzeW5jTG9jYWxTdG9yYWdlKSB7XG4gIGFzeW5jTG9jYWxTdG9yYWdlID0gbmV3IEFzeW5jTG9jYWxTdG9yYWdlKClcbn1cblxuLyoqIEByZXR1cm5zIHtzdHJpbmdbXX0gLSBBY3RpdmUgZGF0YWJhc2UgYW5ub3RhdGlvbnMgZm9yIHRoZSBjdXJyZW50IGFzeW5jIGNvbnRleHQuICovXG5mdW5jdGlvbiBnZXREYXRhYmFzZUFubm90YXRpb25zKCkge1xuICByZXR1cm4gYXN5bmNMb2NhbFN0b3JhZ2U/LmdldFN0b3JlKCkgfHwgW11cbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBjYWxsYmFjayB3aXRoIGFuIGFubm90YXRpb24gdGhhdCBpcyBhcHBlbmRlZCB0byBkYXRhYmFzZSBxdWVyeSBjb21tZW50cy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhbm5vdGF0aW9uIC0gSHVtYW4tcmVhZGFibGUgYW5ub3RhdGlvbiBmb3IgcXVlcmllcyBleGVjdXRlZCBpbnNpZGUgdGhlIGNhbGxiYWNrLlxuICogQHBhcmFtIHsoKSA9PiBQcm9taXNlPHVua25vd24+fSBjYWxsYmFjayAtIENhbGxiYWNrIHRvIGV4ZWN1dGUgaW5zaWRlIHRoZSBhbm5vdGF0aW9uIGNvbnRleHQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjYWxsYmFjayByZXN1bHQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHdpdGhEYXRhYmFzZUFubm90YXRpb24oYW5ub3RhdGlvbiwgY2FsbGJhY2spIHtcbiAgaWYgKCFhc3luY0xvY2FsU3RvcmFnZSkgcmV0dXJuIGF3YWl0IGNhbGxiYWNrKClcblxuICBjb25zdCBwYXJlbnRBbm5vdGF0aW9ucyA9IGFzeW5jTG9jYWxTdG9yYWdlLmdldFN0b3JlKCkgfHwgW11cblxuICByZXR1cm4gYXdhaXQgYXN5bmNMb2NhbFN0b3JhZ2UucnVuKFsuLi5wYXJlbnRBbm5vdGF0aW9ucywgYW5ub3RhdGlvbl0sIGFzeW5jICgpID0+IHtcbiAgICByZXR1cm4gYXdhaXQgY2FsbGJhY2soKVxuICB9KVxufVxuXG5pZiAoZGF0YWJhc2VBbm5vdGF0aW9uc0dsb2JhbC52ZWxvY2lvdXNEYXRhYmFzZUFubm90YXRpb25zKSB7XG4gIGNvbnNvbGUud2FybihcImdsb2JhbFRoaXMudmVsb2Npb3VzRGF0YWJhc2VBbm5vdGF0aW9ucyB3YXMgYWxyZWFkeSBkZWZpbmVkXCIpXG59IGVsc2Uge1xuICBkYXRhYmFzZUFubm90YXRpb25zR2xvYmFsLnZlbG9jaW91c0RhdGFiYXNlQW5ub3RhdGlvbnMgPSB7Z2V0RGF0YWJhc2VBbm5vdGF0aW9ucywgd2l0aERhdGFiYXNlQW5ub3RhdGlvbn1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type DatabaseAnnotationsRuntime = {
|
|
2
|
+
getDatabaseAnnotations?: () => string[];
|
|
3
|
+
withDatabaseAnnotation?: (annotation: string, callback: () => Promise<unknown>) => Promise<unknown>;
|
|
4
|
+
};
|
|
5
|
+
/** @returns {string[]} - Active database annotations for the current async context. */
|
|
6
|
+
export function getDatabaseAnnotations(): string[];
|
|
7
|
+
/**
|
|
8
|
+
* Runs the callback with an annotation that is appended to database query comments.
|
|
9
|
+
* @template T
|
|
10
|
+
* @param {string} annotation - Human-readable annotation for queries executed inside the callback.
|
|
11
|
+
* @param {() => Promise<T>} callback - Callback to execute inside the annotation context.
|
|
12
|
+
* @returns {Promise<T>} - Resolves with the callback result.
|
|
13
|
+
*/
|
|
14
|
+
export function withDatabaseAnnotation<T>(annotation: string, callback: () => Promise<T>): Promise<T>;
|
|
15
|
+
//# sourceMappingURL=annotations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/database/annotations.js"],"names":[],"mappings":"yCAEc;IAAC,sBAAsB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAAC,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAC;AAI5J,uFAAuF;AACvF,0CADc,MAAM,EAAE,CAOrB;AAED;;;;;;GAMG;AACH,uCALa,CAAC,cACH,MAAM,YACN,MAAM,OAAO,CAAC,CAAC,CAAC,GACd,OAAO,CAAC,CAAC,CAAC,CAUtB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
/** @typedef {{getDatabaseAnnotations?: () => string[], withDatabaseAnnotation?: (annotation: string, callback: () => Promise<unknown>) => Promise<unknown>}} DatabaseAnnotationsRuntime */
|
|
3
|
+
/** @type {typeof globalThis & {velociousDatabaseAnnotations?: DatabaseAnnotationsRuntime}} */
|
|
4
|
+
const databaseAnnotationsGlobal = globalThis;
|
|
5
|
+
/** @returns {string[]} - Active database annotations for the current async context. */
|
|
6
|
+
function getDatabaseAnnotations() {
|
|
7
|
+
const runtime = databaseAnnotationsGlobal.velociousDatabaseAnnotations;
|
|
8
|
+
if (!runtime || !runtime.getDatabaseAnnotations)
|
|
9
|
+
return [];
|
|
10
|
+
return runtime.getDatabaseAnnotations();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Runs the callback with an annotation that is appended to database query comments.
|
|
14
|
+
* @template T
|
|
15
|
+
* @param {string} annotation - Human-readable annotation for queries executed inside the callback.
|
|
16
|
+
* @param {() => Promise<T>} callback - Callback to execute inside the annotation context.
|
|
17
|
+
* @returns {Promise<T>} - Resolves with the callback result.
|
|
18
|
+
*/
|
|
19
|
+
async function withDatabaseAnnotation(annotation, callback) {
|
|
20
|
+
const runtime = databaseAnnotationsGlobal.velociousDatabaseAnnotations;
|
|
21
|
+
if (runtime && runtime.withDatabaseAnnotation) {
|
|
22
|
+
return /** @type {T} */ (await runtime.withDatabaseAnnotation(annotation, callback));
|
|
23
|
+
}
|
|
24
|
+
return await callback();
|
|
25
|
+
}
|
|
26
|
+
export { getDatabaseAnnotations, withDatabaseAnnotation };
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YWJhc2UvYW5ub3RhdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLDJMQUEyTDtBQUMzTCw4RkFBOEY7QUFDOUYsTUFBTSx5QkFBeUIsR0FBRyxVQUFVLENBQUE7QUFFNUMsdUZBQXVGO0FBQ3ZGLFNBQVMsc0JBQXNCO0lBQzdCLE1BQU0sT0FBTyxHQUFHLHlCQUF5QixDQUFDLDRCQUE0QixDQUFBO0lBRXRFLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFMUQsT0FBTyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtBQUN6QyxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsS0FBSyxVQUFVLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRO0lBQ3hELE1BQU0sT0FBTyxHQUFHLHlCQUF5QixDQUFDLDRCQUE0QixDQUFBO0lBRXRFLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBRUQsT0FBTyxNQUFNLFFBQVEsRUFBRSxDQUFBO0FBQ3pCLENBQUM7QUFFRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKiogQHR5cGVkZWYge3tnZXREYXRhYmFzZUFubm90YXRpb25zPzogKCkgPT4gc3RyaW5nW10sIHdpdGhEYXRhYmFzZUFubm90YXRpb24/OiAoYW5ub3RhdGlvbjogc3RyaW5nLCBjYWxsYmFjazogKCkgPT4gUHJvbWlzZTx1bmtub3duPikgPT4gUHJvbWlzZTx1bmtub3duPn19IERhdGFiYXNlQW5ub3RhdGlvbnNSdW50aW1lICovXG4vKiogQHR5cGUge3R5cGVvZiBnbG9iYWxUaGlzICYge3ZlbG9jaW91c0RhdGFiYXNlQW5ub3RhdGlvbnM/OiBEYXRhYmFzZUFubm90YXRpb25zUnVudGltZX19ICovXG5jb25zdCBkYXRhYmFzZUFubm90YXRpb25zR2xvYmFsID0gZ2xvYmFsVGhpc1xuXG4vKiogQHJldHVybnMge3N0cmluZ1tdfSAtIEFjdGl2ZSBkYXRhYmFzZSBhbm5vdGF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgYXN5bmMgY29udGV4dC4gKi9cbmZ1bmN0aW9uIGdldERhdGFiYXNlQW5ub3RhdGlvbnMoKSB7XG4gIGNvbnN0IHJ1bnRpbWUgPSBkYXRhYmFzZUFubm90YXRpb25zR2xvYmFsLnZlbG9jaW91c0RhdGFiYXNlQW5ub3RhdGlvbnNcblxuICBpZiAoIXJ1bnRpbWUgfHwgIXJ1bnRpbWUuZ2V0RGF0YWJhc2VBbm5vdGF0aW9ucykgcmV0dXJuIFtdXG5cbiAgcmV0dXJuIHJ1bnRpbWUuZ2V0RGF0YWJhc2VBbm5vdGF0aW9ucygpXG59XG5cbi8qKlxuICogUnVucyB0aGUgY2FsbGJhY2sgd2l0aCBhbiBhbm5vdGF0aW9uIHRoYXQgaXMgYXBwZW5kZWQgdG8gZGF0YWJhc2UgcXVlcnkgY29tbWVudHMuXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtzdHJpbmd9IGFubm90YXRpb24gLSBIdW1hbi1yZWFkYWJsZSBhbm5vdGF0aW9uIGZvciBxdWVyaWVzIGV4ZWN1dGVkIGluc2lkZSB0aGUgY2FsbGJhY2suXG4gKiBAcGFyYW0geygpID0+IFByb21pc2U8VD59IGNhbGxiYWNrIC0gQ2FsbGJhY2sgdG8gZXhlY3V0ZSBpbnNpZGUgdGhlIGFubm90YXRpb24gY29udGV4dC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNhbGxiYWNrIHJlc3VsdC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gd2l0aERhdGFiYXNlQW5ub3RhdGlvbihhbm5vdGF0aW9uLCBjYWxsYmFjaykge1xuICBjb25zdCBydW50aW1lID0gZGF0YWJhc2VBbm5vdGF0aW9uc0dsb2JhbC52ZWxvY2lvdXNEYXRhYmFzZUFubm90YXRpb25zXG5cbiAgaWYgKHJ1bnRpbWUgJiYgcnVudGltZS53aXRoRGF0YWJhc2VBbm5vdGF0aW9uKSB7XG4gICAgcmV0dXJuIC8qKiBAdHlwZSB7VH0gKi8gKGF3YWl0IHJ1bnRpbWUud2l0aERhdGFiYXNlQW5ub3RhdGlvbihhbm5vdGF0aW9uLCBjYWxsYmFjaykpXG4gIH1cblxuICByZXR1cm4gYXdhaXQgY2FsbGJhY2soKVxufVxuXG5leHBvcnQge2dldERhdGFiYXNlQW5ub3RhdGlvbnMsIHdpdGhEYXRhYmFzZUFubm90YXRpb259XG4iXX0=
|
|
@@ -12,6 +12,8 @@ export default class VelociousDatabaseDriversBase {
|
|
|
12
12
|
_schemaCache: Map<string, Promise<unknown>>;
|
|
13
13
|
/** @type {(() => void) | undefined} */
|
|
14
14
|
_schemaCacheInvalidator: (() => void) | undefined;
|
|
15
|
+
/** @type {string | undefined} */
|
|
16
|
+
_connectionCheckoutName: string | undefined;
|
|
15
17
|
_args: import("../../configuration-types.js").DatabaseConfigurationType;
|
|
16
18
|
configuration: import("../../configuration.js").default;
|
|
17
19
|
mutex: Mutex;
|
|
@@ -43,6 +45,13 @@ export default class VelociousDatabaseDriversBase {
|
|
|
43
45
|
* @returns {Promise<void>} - Resolves when complete.
|
|
44
46
|
*/
|
|
45
47
|
close(): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* @param {string | undefined} name - Human-readable name for this active checkout.
|
|
50
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
51
|
+
*/
|
|
52
|
+
setConnectionCheckoutName(name: string | undefined): Promise<void>;
|
|
53
|
+
/** @returns {Promise<void>} - Resolves when complete. */
|
|
54
|
+
clearConnectionCheckoutName(): Promise<void>;
|
|
46
55
|
/**
|
|
47
56
|
* Optional disconnect hook for database drivers.
|
|
48
57
|
* @returns {Promise<void>} - Resolves when complete.
|
|
@@ -350,13 +359,29 @@ export default class VelociousDatabaseDriversBase {
|
|
|
350
359
|
*/
|
|
351
360
|
query(sql: string, options?: QueryOptions): Promise<QueryResultType>;
|
|
352
361
|
/**
|
|
353
|
-
* @param {
|
|
362
|
+
* @param {object} args - Options object.
|
|
363
|
+
* @param {string} args.originalSql - Original SQL string before process-list comments.
|
|
364
|
+
* @param {string} args.querySql - SQL string sent to the database.
|
|
354
365
|
* @param {QueryOptions} options - Query options.
|
|
355
366
|
* @param {import("../../http-server/client/request-timing.js").default | undefined} requestTiming - Request timing.
|
|
356
367
|
* @param {number} tries - Query attempt count.
|
|
357
368
|
* @returns {Promise<QueryResultType>} - Resolves with the query.
|
|
358
369
|
*/
|
|
359
|
-
_queryActualWithLogging(
|
|
370
|
+
_queryActualWithLogging({ originalSql, querySql }: {
|
|
371
|
+
originalSql: string;
|
|
372
|
+
querySql: string;
|
|
373
|
+
}, options: QueryOptions, requestTiming: import("../../http-server/client/request-timing.js").default | undefined, tries: number): Promise<QueryResultType>;
|
|
374
|
+
/**
|
|
375
|
+
* @param {string} sql - SQL string.
|
|
376
|
+
* @param {QueryOptions} options - Query options.
|
|
377
|
+
* @returns {string} - SQL string with a leading process-list comment when annotations exist.
|
|
378
|
+
*/
|
|
379
|
+
_querySqlWithProcessListComment(sql: string, options: QueryOptions): string;
|
|
380
|
+
/**
|
|
381
|
+
* @param {string} value - Raw process-list comment value.
|
|
382
|
+
* @returns {string} - Sanitized process-list comment value.
|
|
383
|
+
*/
|
|
384
|
+
_processListCommentValue(value: string): string;
|
|
360
385
|
/**
|
|
361
386
|
* @param {string} sql - SQL string.
|
|
362
387
|
* @returns {boolean} - Whether the SQL should invalidate schema metadata.
|
|
@@ -646,6 +671,10 @@ export type QueryOptions = {
|
|
|
646
671
|
* - Whether to log the query.
|
|
647
672
|
*/
|
|
648
673
|
logQuery?: boolean | undefined;
|
|
674
|
+
/**
|
|
675
|
+
* - Whether to add process-list comments to the query.
|
|
676
|
+
*/
|
|
677
|
+
processListComment?: boolean | undefined;
|
|
649
678
|
/**
|
|
650
679
|
* - Stack captured at the caller boundary.
|
|
651
680
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/database/drivers/base.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/database/drivers/base.js"],"names":[],"mappings":"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"}
|