litedbmodel 2.2.9 → 2.2.11
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 +8 -5
- package/dist/DBHandler.d.ts +2 -28
- package/dist/DBHandler.d.ts.map +1 -1
- package/dist/DBHandler.js.map +1 -1
- package/dist/DBModel.d.ts +14 -12
- package/dist/DBModel.d.ts.map +1 -1
- package/dist/DBModel.js +71 -72
- package/dist/DBModel.js.map +1 -1
- package/dist/LazyRelation.d.ts +1 -0
- package/dist/LazyRelation.d.ts.map +1 -1
- package/dist/LazyRelation.js +17 -14
- package/dist/LazyRelation.js.map +1 -1
- package/dist/Middleware.d.ts +19 -17
- package/dist/Middleware.d.ts.map +1 -1
- package/dist/Middleware.js +30 -33
- package/dist/Middleware.js.map +1 -1
- package/dist/drivers/mysql.d.ts.map +1 -1
- package/dist/drivers/mysql.js +1 -0
- package/dist/drivers/mysql.js.map +1 -1
- package/dist/drivers/postgres.d.ts.map +1 -1
- package/dist/drivers/postgres.js +42 -22
- package/dist/drivers/postgres.js.map +1 -1
- package/dist/drivers/types.d.ts +2 -26
- package/dist/drivers/types.d.ts.map +1 -1
- package/dist/drivers/types.js.map +1 -1
- package/dist/index.cjs +224 -163
- package/dist/scp/connection-routing.d.ts +50 -18
- package/dist/scp/connection-routing.d.ts.map +1 -1
- package/dist/scp/connection-routing.js +55 -24
- package/dist/scp/connection-routing.js.map +1 -1
- package/dist/scp/dbmodel-runtime.d.ts +3 -0
- package/dist/scp/dbmodel-runtime.d.ts.map +1 -1
- package/dist/scp/dbmodel-runtime.js +2 -0
- package/dist/scp/dbmodel-runtime.js.map +1 -1
- package/dist/scp/exec-context.d.ts.map +1 -1
- package/dist/scp/exec-context.js +54 -46
- package/dist/scp/exec-context.js.map +1 -1
- package/dist/scp/index.cjs +99 -48
- package/dist/scp/index.mjs +96 -47
- package/dist/scp/makesql/pool-executor.d.ts +4 -1
- package/dist/scp/makesql/pool-executor.d.ts.map +1 -1
- package/dist/scp/makesql/pool-executor.js +21 -3
- package/dist/scp/makesql/pool-executor.js.map +1 -1
- package/dist/types.d.ts +9 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/BENCHMARK.md +1 -1
- package/docs/COMPARISON.md +2 -2
- package/docs/api/README.md +1 -1
- package/docs/api/classes/Conditions.md +1 -1
- package/docs/api/classes/DBHandler.md +16 -16
- package/docs/api/classes/DBModel.md +94 -93
- package/docs/api/classes/LimitExceededError.md +8 -8
- package/docs/api/classes/Middleware.md +35 -31
- package/docs/api/classes/SqlRaw.md +1 -1
- package/docs/api/classes/SqlRef.md +1 -1
- package/docs/api/classes/Values.md +1 -1
- package/docs/api/classes/WriteInReadOnlyContextError.md +5 -5
- package/docs/api/classes/WriteOutsideTransactionError.md +5 -5
- package/docs/api/functions/belongsTo.md +1 -1
- package/docs/api/functions/closeAllPools.md +2 -2
- package/docs/api/functions/condsToRecord.md +1 -1
- package/docs/api/functions/createMiddleware.md +4 -4
- package/docs/api/functions/createPostgresDriver.md +2 -2
- package/docs/api/functions/createSqliteDriver.md +1 -1
- package/docs/api/functions/dbCast.md +1 -1
- package/docs/api/functions/dbCastIn.md +1 -1
- package/docs/api/functions/dbDynamic.md +1 -1
- package/docs/api/functions/dbFalse.md +1 -1
- package/docs/api/functions/dbImmediate.md +1 -1
- package/docs/api/functions/dbIn.md +1 -1
- package/docs/api/functions/dbNotNull.md +1 -1
- package/docs/api/functions/dbNow.md +1 -1
- package/docs/api/functions/dbNull.md +1 -1
- package/docs/api/functions/dbRaw.md +1 -1
- package/docs/api/functions/dbTrue.md +1 -1
- package/docs/api/functions/dbUuid.md +1 -1
- package/docs/api/functions/dbUuidIn.md +1 -1
- package/docs/api/functions/formatLocalDate.md +1 -1
- package/docs/api/functions/formatUTCDate.md +1 -1
- package/docs/api/functions/getDBConfig.md +2 -2
- package/docs/api/functions/getDBHandler.md +2 -2
- package/docs/api/functions/getTransactionConnection.md +2 -2
- package/docs/api/functions/getTransactionContext.md +2 -2
- package/docs/api/functions/hasMany.md +1 -1
- package/docs/api/functions/hasOne.md +1 -1
- package/docs/api/functions/initDBHandler.md +2 -2
- package/docs/api/functions/isAnySqlFragment.md +1 -1
- package/docs/api/functions/isConnectionError.md +1 -1
- package/docs/api/functions/isSqlCondition.md +1 -1
- package/docs/api/functions/isSqlFragment.md +1 -1
- package/docs/api/functions/isSqlRaw.md +1 -1
- package/docs/api/functions/isSqlRef.md +1 -1
- package/docs/api/functions/isSqlTypedFragment.md +1 -1
- package/docs/api/functions/model.md +1 -1
- package/docs/api/functions/parentRef.md +1 -1
- package/docs/api/functions/sql.md +1 -1
- package/docs/api/globals.md +5 -5
- package/docs/api/interfaces/Column.md +1 -1
- package/docs/api/interfaces/ColumnDecorator.md +1 -1
- package/docs/api/interfaces/ColumnOptions.md +1 -1
- package/docs/api/interfaces/CreatedMiddlewareClass.md +7 -7
- package/docs/api/interfaces/DBConfig.md +29 -14
- package/docs/api/interfaces/DBConfigOptions.md +8 -8
- package/docs/api/interfaces/DeleteOptions.md +4 -4
- package/docs/api/interfaces/InsertOptions.md +8 -8
- package/docs/api/interfaces/LimitConfig.md +4 -4
- package/docs/api/interfaces/MiddlewareConfig.md +15 -15
- package/docs/api/interfaces/ModelClassDecorator.md +1 -1
- package/docs/api/interfaces/ModelOptions.md +1 -1
- package/docs/api/interfaces/PkeyResult.md +1 -1
- package/docs/api/interfaces/RelationDecorator.md +1 -1
- package/docs/api/interfaces/SelectOptions.md +17 -17
- package/docs/api/interfaces/SqlCondition.md +1 -1
- package/docs/api/interfaces/SqlFragment.md +1 -1
- package/docs/api/interfaces/SqlTypedFragment.md +1 -1
- package/docs/api/interfaces/TransactionOptions.md +7 -7
- package/docs/api/interfaces/UpdateManyOptions.md +4 -4
- package/docs/api/interfaces/UpdateOptions.md +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1054,12 +1054,15 @@ const TenantMiddleware = DBModel.createMiddleware({
|
|
|
1054
1054
|
DBModel.use(LoggerMiddleware);
|
|
1055
1055
|
DBModel.use(TenantMiddleware);
|
|
1056
1056
|
|
|
1057
|
+
// Open one request scope at the request entry (e.g. Fastify)
|
|
1058
|
+
fastify.addHook('onRequest', (req, reply, done) => Middleware.run(done));
|
|
1059
|
+
|
|
1057
1060
|
// Per-request usage (type-safe)
|
|
1058
1061
|
TenantMiddleware.getCurrentContext().tenantId = req.user.tenantId;
|
|
1059
1062
|
console.log(TenantMiddleware.getCurrentContext().queryCount);
|
|
1060
1063
|
```
|
|
1061
1064
|
|
|
1062
|
-
**State lifecycle:**
|
|
1065
|
+
**State lifecycle:** A request is the scope opened by `Middleware.run(fn)` at the request entry. Each request gets its own copy of the `state` object (via `AsyncLocalStorage`), shared by everything the request does and isolated from concurrent requests; it is dropped when the request ends. Outside any `Middleware.run` scope (startup code, scripts), each access gets a fresh copy that lives only for that access, so state set there never leaks into later requests.
|
|
1063
1066
|
|
|
1064
1067
|
---
|
|
1065
1068
|
|
|
@@ -1313,8 +1316,8 @@ DBModel.setConfig(
|
|
|
1313
1316
|
{
|
|
1314
1317
|
writerConfig: { host: 'writer.db.example.com', database: 'mydb', ... },
|
|
1315
1318
|
|
|
1316
|
-
//
|
|
1317
|
-
// Avoids stale reads due to replication lag
|
|
1319
|
+
// After a request commits, keep its reads on the writer (default: true)
|
|
1320
|
+
// Avoids stale reads due to replication lag; other requests are unaffected
|
|
1318
1321
|
useWriterAfterTransaction: true,
|
|
1319
1322
|
|
|
1320
1323
|
// Duration to keep using writer after transaction (ms, default: 5000)
|
|
@@ -1329,7 +1332,7 @@ DBModel.setConfig(
|
|
|
1329
1332
|
|---------|------------|---------------|
|
|
1330
1333
|
| Inside `transaction()` | Writer | ✅ Yes |
|
|
1331
1334
|
| Inside `withWriter()` | Writer | ❌ No (SELECT only) |
|
|
1332
|
-
| After transaction (within sticky duration) | Writer | ❌ No |
|
|
1335
|
+
| After this request's transaction (within sticky duration) | Writer | ❌ No |
|
|
1333
1336
|
| Normal query | Reader | ❌ No |
|
|
1334
1337
|
|
|
1335
1338
|
**Important:** Write operations (`create()`, `update()`, `delete()`) require a transaction. Attempting to write outside a transaction throws an error.
|
|
@@ -1441,7 +1444,7 @@ const article = await CmsDB.withWriter(async () => {
|
|
|
1441
1444
|
| Connection Handler | Per DBBase | Each base class has its own connection pool |
|
|
1442
1445
|
| Transaction Context | Per DBBase | `AsyncLocalStorage` isolated per base class |
|
|
1443
1446
|
| Writer Context | Per DBBase | `withWriter()` isolated per base class |
|
|
1444
|
-
| Sticky Timer | Per DBBase |
|
|
1447
|
+
| Sticky Timer | Per DBBase, per request | Only the request (async chain) that committed reads from the writer; concurrent requests keep reading from the reader |
|
|
1445
1448
|
| Middlewares | **Global** | Cross-cutting concerns shared across all DBs |
|
|
1446
1449
|
| Model Registry | **Global** | For relation resolution across databases |
|
|
1447
1450
|
|
package/dist/DBHandler.d.ts
CHANGED
|
@@ -15,34 +15,8 @@
|
|
|
15
15
|
* - MySQL (via mysql2 package - optional)
|
|
16
16
|
*/
|
|
17
17
|
import type { DBDriver, DBConnection, QueryResult, Logger } from './drivers/types';
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* Database configuration
|
|
21
|
-
*/
|
|
22
|
-
export interface DBConfig {
|
|
23
|
-
/** Database host (for server-based DBs) */
|
|
24
|
-
host?: string;
|
|
25
|
-
/** Database port */
|
|
26
|
-
port?: number;
|
|
27
|
-
/** Database name or file path */
|
|
28
|
-
database: string;
|
|
29
|
-
/** Username */
|
|
30
|
-
user?: string;
|
|
31
|
-
/** Password */
|
|
32
|
-
password?: string;
|
|
33
|
-
/** Maximum pool size */
|
|
34
|
-
max?: number;
|
|
35
|
-
/** Connection timeout in seconds */
|
|
36
|
-
timeout?: number;
|
|
37
|
-
/** Query timeout in seconds */
|
|
38
|
-
queryTimeout?: number;
|
|
39
|
-
/** Enable TCP keepalive on connections (recommended for serverless/Lambda) */
|
|
40
|
-
keepAlive?: boolean;
|
|
41
|
-
/** Delay in milliseconds before first keepalive probe (default: 10000) */
|
|
42
|
-
keepAliveInitialDelayMillis?: number;
|
|
43
|
-
/** Driver type: 'postgres' (default), 'sqlite', or 'mysql' */
|
|
44
|
-
driver?: 'postgres' | 'sqlite' | 'mysql';
|
|
45
|
-
}
|
|
18
|
+
import type { DBConfig } from './types';
|
|
19
|
+
export type { QueryResult, Logger, DBConnection, DBConfig };
|
|
46
20
|
export interface DBHandlerOptions {
|
|
47
21
|
writerConfig?: DBConfig;
|
|
48
22
|
logger?: Logger;
|
package/dist/DBHandler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBHandler.d.ts","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"DBHandler.d.ts","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAcxC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AA0F5D,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0DAA0D;IAC1D,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAkC;gBAExC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAexD;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,QAAQ,GAAG,OAAO;IAIhD;;OAEG;IACH,SAAS,IAAI,QAAQ;IAIrB;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAOxE;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAO7E;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAOhF;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;IAI5C;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS;IASnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B;;;OAGG;IACH,OAAO,IAAI,OAAO;CAMnB;AASD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAIrF;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,GAAG,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS,CAK/E;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAanD;AAGD,OAAO,EAAE,2BAA2B,IAAI,uBAAuB,EAAE,CAAC"}
|
package/dist/DBHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBHandler.js","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DBHandler.js","sourceRoot":"","sources":["../src/DBHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/DBModel.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { type KeyPair, type CompositeKeyPairs } from './decorators';
|
|
|
13
13
|
import type { DriverTypeCast } from './drivers/types';
|
|
14
14
|
import { LazyRelationContext, type RelationType } from './LazyRelation';
|
|
15
15
|
import { type RuntimeContext, type DeriveColumnsOptions } from './scp/dbmodel-runtime';
|
|
16
|
+
import { WriterStickyClock } from './scp/connection-routing';
|
|
16
17
|
interface TransactionContext {
|
|
17
18
|
connection: DBConnection;
|
|
18
19
|
handler?: DBHandler;
|
|
@@ -146,8 +147,8 @@ export declare abstract class DBModel {
|
|
|
146
147
|
protected static _limitConfig: LimitConfig;
|
|
147
148
|
/** Configuration options for reader/writer separation */
|
|
148
149
|
protected static _configOptions: DBConfigOptions;
|
|
149
|
-
/**
|
|
150
|
-
protected static
|
|
150
|
+
/** Writer-sticky clock of the v1 execution path (the SCP runtime carries its own in its routing). */
|
|
151
|
+
protected static _writerSticky: WriterStickyClock;
|
|
151
152
|
/**
|
|
152
153
|
* The Phase A-E SCP runtime context (built lazily from `_dbConfig` for the live pg/mysql dialects).
|
|
153
154
|
* `null` when not yet built; `false` when the config is sqlite / uninitialized (⇒ v1 in-proc path,
|
|
@@ -273,16 +274,14 @@ export declare abstract class DBModel {
|
|
|
273
274
|
*/
|
|
274
275
|
protected static _getConditionTypeCast(): DriverTypeCast | undefined;
|
|
275
276
|
/**
|
|
276
|
-
* Get a DBHandler instance for this model
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
* 2. Writer context (if in withWriter())
|
|
280
|
-
* 3. Writer sticky (if within writerStickyDuration after transaction)
|
|
281
|
-
* 4. Default reader connection
|
|
277
|
+
* Get a DBHandler instance for this model: the transaction's handler inside a transaction, else the
|
|
278
|
+
* default handler (whose reads `execute()` sends to the writer inside `withWriter()` or while
|
|
279
|
+
* writer-sticky).
|
|
282
280
|
*/
|
|
283
281
|
protected static getHandler(): DBHandler;
|
|
284
282
|
/**
|
|
285
|
-
* Check if
|
|
283
|
+
* Check if this async chain should read from the writer because it committed a transaction within
|
|
284
|
+
* `writerStickyDuration` (read-your-writes for the request that wrote).
|
|
286
285
|
*/
|
|
287
286
|
protected static _shouldUseWriterSticky(): boolean;
|
|
288
287
|
/**
|
|
@@ -329,8 +328,11 @@ export declare abstract class DBModel {
|
|
|
329
328
|
*
|
|
330
329
|
* DBModel.use(LoggerMiddleware);
|
|
331
330
|
*
|
|
332
|
-
* //
|
|
333
|
-
*
|
|
331
|
+
* // One request
|
|
332
|
+
* await Middleware.run(async () => {
|
|
333
|
+
* await handleRequest();
|
|
334
|
+
* console.log(LoggerMiddleware.getCurrentContext().getLogs());
|
|
335
|
+
* });
|
|
334
336
|
* ```
|
|
335
337
|
*/
|
|
336
338
|
static use(MiddlewareClass: MiddlewareClass): () => void;
|
|
@@ -371,7 +373,7 @@ export declare abstract class DBModel {
|
|
|
371
373
|
* // Register
|
|
372
374
|
* DBModel.use(TenantMiddleware);
|
|
373
375
|
*
|
|
374
|
-
* // Set tenant for current request (type-safe)
|
|
376
|
+
* // Set tenant for the current request (inside Middleware.run at the request entry, type-safe)
|
|
375
377
|
* TenantMiddleware.getCurrentContext().tenantId = 123;
|
|
376
378
|
* ```
|
|
377
379
|
*/
|
package/dist/DBModel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DBModel.d.ts","sourceRoot":"","sources":["../src/DBModel.ts"],"names":[],"mappings":"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"}
|
package/dist/DBModel.js
CHANGED
|
@@ -30,6 +30,7 @@ const exec_context_1 = require("./scp/exec-context");
|
|
|
30
30
|
// The row-lock tail SSoT (` FOR UPDATE` / ` FOR SHARE`) — shared with the SCP `compileSelect`, so the
|
|
31
31
|
// imperative builder and the compiled statement render byte-identical locking clauses.
|
|
32
32
|
const compile_select_1 = require("./scp/makesql/compile-select");
|
|
33
|
+
const connection_routing_1 = require("./scp/connection-routing");
|
|
33
34
|
// AsyncLocalStorage for transaction context
|
|
34
35
|
const transactionContext = new async_hooks_1.AsyncLocalStorage();
|
|
35
36
|
// AsyncLocalStorage for writer context (for withWriter())
|
|
@@ -180,8 +181,8 @@ class DBModel {
|
|
|
180
181
|
useWriterAfterTransaction: true,
|
|
181
182
|
writerStickyDuration: 5000,
|
|
182
183
|
};
|
|
183
|
-
/**
|
|
184
|
-
static
|
|
184
|
+
/** Writer-sticky clock of the v1 execution path (the SCP runtime carries its own in its routing). */
|
|
185
|
+
static _writerSticky = new connection_routing_1.WriterStickyClock();
|
|
185
186
|
/**
|
|
186
187
|
* The Phase A-E SCP runtime context (built lazily from `_dbConfig` for the live pg/mysql dialects).
|
|
187
188
|
* `null` when not yet built; `false` when the config is sqlite / uninitialized (⇒ v1 in-proc path,
|
|
@@ -223,6 +224,8 @@ class DBModel {
|
|
|
223
224
|
...(config.user !== undefined ? { user: config.user } : {}),
|
|
224
225
|
...(config.password !== undefined ? { password: config.password } : {}),
|
|
225
226
|
...(config.max !== undefined ? { max: config.max } : {}),
|
|
227
|
+
...(config.timeout !== undefined ? { timeout: config.timeout } : {}),
|
|
228
|
+
...(config.idleTimeoutMillis !== undefined ? { idleTimeoutMillis: config.idleTimeoutMillis } : {}),
|
|
226
229
|
...(config.keepAlive !== undefined ? { keepAlive: config.keepAlive } : {}),
|
|
227
230
|
...(config.keepAliveInitialDelayMillis !== undefined ? { keepAliveInitialDelayMillis: config.keepAliveInitialDelayMillis } : {}),
|
|
228
231
|
driver: driver,
|
|
@@ -351,6 +354,10 @@ class DBModel {
|
|
|
351
354
|
...this._configOptions,
|
|
352
355
|
...options,
|
|
353
356
|
};
|
|
357
|
+
this._writerSticky = new connection_routing_1.WriterStickyClock({
|
|
358
|
+
useWriterAfterTransaction: this._configOptions.useWriterAfterTransaction,
|
|
359
|
+
writerStickyDuration: this._configOptions.writerStickyDuration,
|
|
360
|
+
});
|
|
354
361
|
// Phase F-2 (#105): drop the cached SCP runtime so the next op rebuilds it from the new config
|
|
355
362
|
// (new reader/writer pools + routing). The v1 DBHandler above still owns its own pools (used by
|
|
356
363
|
// the v1 fallback path + tx-context bridging); the SCP runtime owns the routed pools for the
|
|
@@ -430,15 +437,11 @@ class DBModel {
|
|
|
430
437
|
}
|
|
431
438
|
}
|
|
432
439
|
/**
|
|
433
|
-
* Get a DBHandler instance for this model
|
|
434
|
-
*
|
|
435
|
-
*
|
|
436
|
-
* 2. Writer context (if in withWriter())
|
|
437
|
-
* 3. Writer sticky (if within writerStickyDuration after transaction)
|
|
438
|
-
* 4. Default reader connection
|
|
440
|
+
* Get a DBHandler instance for this model: the transaction's handler inside a transaction, else the
|
|
441
|
+
* default handler (whose reads `execute()` sends to the writer inside `withWriter()` or while
|
|
442
|
+
* writer-sticky).
|
|
439
443
|
*/
|
|
440
444
|
static getHandler() {
|
|
441
|
-
// Check if we're in a transaction
|
|
442
445
|
const txContext = this._getTransactionContext().getStore();
|
|
443
446
|
if (txContext) {
|
|
444
447
|
if (!txContext.handler) {
|
|
@@ -446,27 +449,14 @@ class DBModel {
|
|
|
446
449
|
}
|
|
447
450
|
return txContext.handler;
|
|
448
451
|
}
|
|
449
|
-
|
|
450
|
-
// Check if we're in withWriter context
|
|
451
|
-
if (this._getWriterContext().getStore()) {
|
|
452
|
-
// Return handler that uses writer pool for reads
|
|
453
|
-
return handler; // executeOnWriter will be called explicitly
|
|
454
|
-
}
|
|
455
|
-
// Check writer sticky
|
|
456
|
-
if (this._shouldUseWriterSticky()) {
|
|
457
|
-
return handler; // executeOnWriter will be called explicitly
|
|
458
|
-
}
|
|
459
|
-
return handler;
|
|
452
|
+
return (0, DBHandler_1.getDBHandler)();
|
|
460
453
|
}
|
|
461
454
|
/**
|
|
462
|
-
* Check if
|
|
455
|
+
* Check if this async chain should read from the writer because it committed a transaction within
|
|
456
|
+
* `writerStickyDuration` (read-your-writes for the request that wrote).
|
|
463
457
|
*/
|
|
464
458
|
static _shouldUseWriterSticky() {
|
|
465
|
-
|
|
466
|
-
return false;
|
|
467
|
-
}
|
|
468
|
-
const stickyDuration = this._configOptions.writerStickyDuration ?? 5000;
|
|
469
|
-
return Date.now() - this._lastTransactionTime < stickyDuration;
|
|
459
|
+
return this._writerSticky.isSticky();
|
|
470
460
|
}
|
|
471
461
|
/**
|
|
472
462
|
* Get transaction context storage.
|
|
@@ -521,8 +511,11 @@ class DBModel {
|
|
|
521
511
|
*
|
|
522
512
|
* DBModel.use(LoggerMiddleware);
|
|
523
513
|
*
|
|
524
|
-
* //
|
|
525
|
-
*
|
|
514
|
+
* // One request
|
|
515
|
+
* await Middleware.run(async () => {
|
|
516
|
+
* await handleRequest();
|
|
517
|
+
* console.log(LoggerMiddleware.getCurrentContext().getLogs());
|
|
518
|
+
* });
|
|
526
519
|
* ```
|
|
527
520
|
*/
|
|
528
521
|
static use(MiddlewareClass) {
|
|
@@ -571,7 +564,7 @@ class DBModel {
|
|
|
571
564
|
* // Register
|
|
572
565
|
* DBModel.use(TenantMiddleware);
|
|
573
566
|
*
|
|
574
|
-
* // Set tenant for current request (type-safe)
|
|
567
|
+
* // Set tenant for the current request (inside Middleware.run at the request entry, type-safe)
|
|
575
568
|
* TenantMiddleware.getCurrentContext().tenantId = 123;
|
|
576
569
|
* ```
|
|
577
570
|
*/
|
|
@@ -2553,8 +2546,8 @@ class DBModel {
|
|
|
2553
2546
|
// `inTransaction()` / `_checkWriteAllowed` / `getCurrentConnection()` still sees an active tx.
|
|
2554
2547
|
const rt = this._getScpRuntime();
|
|
2555
2548
|
if (rt !== null && this._scpUsable()) {
|
|
2556
|
-
|
|
2557
|
-
|
|
2549
|
+
// The SCP transaction stamps the SCP routing's writer-sticky clock itself.
|
|
2550
|
+
return (0, exec_context_1.transaction)(rt.ctx, () => {
|
|
2558
2551
|
// Set the v1 tx marker for the duration of the body (same async scope as the SCP pin). The
|
|
2559
2552
|
// sentinel connection is never used for I/O — v1-fallback ops route through the SCP seam.
|
|
2560
2553
|
const sentinel = {
|
|
@@ -2563,9 +2556,6 @@ class DBModel {
|
|
|
2563
2556
|
};
|
|
2564
2557
|
return txContext.run({ connection: sentinel }, func);
|
|
2565
2558
|
}, options, rt.dialect);
|
|
2566
|
-
if (useWriterAfterTx && !(options.rollbackOnly ?? false))
|
|
2567
|
-
this._lastTransactionTime = Date.now();
|
|
2568
|
-
return result;
|
|
2569
2559
|
}
|
|
2570
2560
|
// Get handler
|
|
2571
2561
|
const handler = this.getHandler();
|
|
@@ -2577,49 +2567,55 @@ class DBModel {
|
|
|
2577
2567
|
// Per-transaction option overrides global config
|
|
2578
2568
|
const useWriterAfterTransaction = options.useWriterAfterTransaction ??
|
|
2579
2569
|
this._configOptions.useWriterAfterTransaction ?? true;
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
let
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
const
|
|
2588
|
-
|
|
2589
|
-
if (rollbackOnly) {
|
|
2590
|
-
// Rollback instead of commit (for preview/dry-run scenarios)
|
|
2591
|
-
await connection.query('ROLLBACK');
|
|
2592
|
-
}
|
|
2593
|
-
else {
|
|
2594
|
-
await connection.query('COMMIT');
|
|
2595
|
-
// Enable writer sticky if configured
|
|
2596
|
-
if (useWriterAfterTransaction) {
|
|
2597
|
-
this._lastTransactionTime = Date.now();
|
|
2598
|
-
}
|
|
2599
|
-
}
|
|
2600
|
-
return result;
|
|
2601
|
-
}
|
|
2602
|
-
catch (error) {
|
|
2603
|
-
destroyConnection = true;
|
|
2570
|
+
// Before the first `await`: the sticky cell must land in the CALLER's async chain (see
|
|
2571
|
+
// WriterStickyClock.begin).
|
|
2572
|
+
const stickyCell = this._writerSticky.begin();
|
|
2573
|
+
try {
|
|
2574
|
+
let attempt = 0;
|
|
2575
|
+
while (true) {
|
|
2576
|
+
attempt++;
|
|
2577
|
+
const connection = await handler.getConnection();
|
|
2578
|
+
let destroyConnection = false;
|
|
2604
2579
|
try {
|
|
2605
|
-
await connection.query('
|
|
2580
|
+
await connection.query('BEGIN');
|
|
2581
|
+
const context = { connection };
|
|
2582
|
+
const result = await txContext.run(context, func);
|
|
2583
|
+
if (rollbackOnly) {
|
|
2584
|
+
// Rollback instead of commit (for preview/dry-run scenarios)
|
|
2585
|
+
await connection.query('ROLLBACK');
|
|
2586
|
+
}
|
|
2587
|
+
else {
|
|
2588
|
+
await connection.query('COMMIT');
|
|
2589
|
+
if (useWriterAfterTransaction)
|
|
2590
|
+
this._writerSticky.mark();
|
|
2591
|
+
}
|
|
2592
|
+
return result;
|
|
2606
2593
|
}
|
|
2607
|
-
catch {
|
|
2608
|
-
|
|
2609
|
-
|
|
2594
|
+
catch (error) {
|
|
2595
|
+
destroyConnection = true;
|
|
2596
|
+
try {
|
|
2597
|
+
await connection.query('ROLLBACK');
|
|
2598
|
+
}
|
|
2599
|
+
catch {
|
|
2600
|
+
// ROLLBACK failed — connection is in an unknown state.
|
|
2601
|
+
// destroyConnection is already true; original error is preserved.
|
|
2602
|
+
}
|
|
2603
|
+
if (retryOnError &&
|
|
2604
|
+
attempt < retryLimit &&
|
|
2605
|
+
this.isRetryableError(error)) {
|
|
2606
|
+
await this.sleep(retryDuration * Math.pow(2, attempt - 1));
|
|
2607
|
+
continue;
|
|
2608
|
+
}
|
|
2609
|
+
throw error;
|
|
2610
2610
|
}
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
this.isRetryableError(error)) {
|
|
2614
|
-
await this.sleep(retryDuration * Math.pow(2, attempt - 1));
|
|
2615
|
-
continue;
|
|
2611
|
+
finally {
|
|
2612
|
+
connection.release(destroyConnection || undefined);
|
|
2616
2613
|
}
|
|
2617
|
-
throw error;
|
|
2618
|
-
}
|
|
2619
|
-
finally {
|
|
2620
|
-
connection.release(destroyConnection || undefined);
|
|
2621
2614
|
}
|
|
2622
2615
|
}
|
|
2616
|
+
finally {
|
|
2617
|
+
this._writerSticky.end(stickyCell);
|
|
2618
|
+
}
|
|
2623
2619
|
}
|
|
2624
2620
|
/**
|
|
2625
2621
|
* Check if error is retryable (deadlock, serialization failure, etc.)
|
|
@@ -2772,7 +2768,10 @@ class DBModel {
|
|
|
2772
2768
|
writerStickyDuration: options?.writerStickyDuration ?? 5000,
|
|
2773
2769
|
...options,
|
|
2774
2770
|
};
|
|
2775
|
-
static
|
|
2771
|
+
static _writerSticky = new connection_routing_1.WriterStickyClock({
|
|
2772
|
+
useWriterAfterTransaction: options?.useWriterAfterTransaction ?? true,
|
|
2773
|
+
writerStickyDuration: options?.writerStickyDuration ?? 5000,
|
|
2774
|
+
});
|
|
2776
2775
|
// Phase F-2 (#105): this base class gets its OWN SCP runtime slot (built lazily from ITS config),
|
|
2777
2776
|
// isolated from DBModel's default-config runtime and from other base classes — otherwise a
|
|
2778
2777
|
// sqlite/mysql base would inherit DBModel's shared pg runtime and route its SQL to the wrong DB.
|