litedbmodel 2.2.3 → 2.2.4
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/index.cjs +6 -41
- package/dist/scp/index.cjs +7 -42
- package/dist/scp/index.d.ts +1 -1
- package/dist/scp/index.d.ts.map +1 -1
- package/dist/scp/index.js.map +1 -1
- package/dist/scp/index.mjs +7 -42
- package/dist/scp/makesql/index.d.ts +1 -1
- package/dist/scp/makesql/index.d.ts.map +1 -1
- package/dist/scp/makesql/index.js.map +1 -1
- package/dist/scp/makesql/tx.d.ts +20 -24
- package/dist/scp/makesql/tx.d.ts.map +1 -1
- package/dist/scp/makesql/tx.js +24 -53
- package/dist/scp/makesql/tx.js.map +1 -1
- package/dist/scp/makesql/writeouttype.d.ts +5 -7
- package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
- package/dist/scp/makesql/writeouttype.js +13 -19
- package/dist/scp/makesql/writeouttype.js.map +1 -1
- package/dist/scp/write-bundle.js +1 -1
- package/dist/scp/write-bundle.js.map +1 -1
- package/docs/BENCHMARK.md +26 -22
- package/docs/COMPARISON.md +8 -4
- package/docs/api/README.md +1 -1
- package/docs/api/classes/Conditions.md +10 -10
- package/docs/api/classes/DBHandler.md +17 -17
- package/docs/api/classes/DBModel.md +111 -104
- package/docs/api/classes/LimitExceededError.md +8 -8
- package/docs/api/classes/Middleware.md +18 -18
- package/docs/api/classes/SqlRaw.md +6 -6
- package/docs/api/classes/SqlRef.md +7 -7
- package/docs/api/classes/Values.md +6 -6
- package/docs/api/classes/WriteInReadOnlyContextError.md +5 -5
- package/docs/api/classes/WriteOutsideTransactionError.md +5 -5
- package/docs/api/functions/belongsTo.md +2 -2
- package/docs/api/functions/closeAllPools.md +2 -2
- package/docs/api/functions/condsToRecord.md +2 -2
- package/docs/api/functions/createMiddleware.md +2 -2
- package/docs/api/functions/createPostgresDriver.md +2 -2
- package/docs/api/functions/createSqliteDriver.md +2 -2
- package/docs/api/functions/dbCast.md +3 -3
- package/docs/api/functions/dbCastIn.md +2 -2
- package/docs/api/functions/dbDynamic.md +3 -3
- package/docs/api/functions/dbFalse.md +2 -2
- package/docs/api/functions/dbImmediate.md +2 -2
- package/docs/api/functions/dbIn.md +2 -2
- package/docs/api/functions/dbNotNull.md +2 -2
- package/docs/api/functions/dbNow.md +2 -2
- package/docs/api/functions/dbNull.md +2 -2
- package/docs/api/functions/dbRaw.md +2 -2
- package/docs/api/functions/dbTrue.md +2 -2
- package/docs/api/functions/dbUuid.md +3 -3
- package/docs/api/functions/dbUuidIn.md +2 -2
- package/docs/api/functions/formatLocalDate.md +25 -0
- package/docs/api/functions/formatUTCDate.md +25 -0
- 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 +2 -2
- package/docs/api/functions/hasOne.md +2 -2
- package/docs/api/functions/initDBHandler.md +2 -2
- package/docs/api/functions/isAnySqlFragment.md +2 -2
- package/docs/api/functions/isConnectionError.md +26 -0
- package/docs/api/functions/isSqlCondition.md +2 -2
- package/docs/api/functions/isSqlFragment.md +2 -2
- package/docs/api/functions/isSqlRaw.md +2 -2
- package/docs/api/functions/isSqlRef.md +2 -2
- package/docs/api/functions/isSqlTypedFragment.md +2 -2
- package/docs/api/functions/model.md +6 -42
- package/docs/api/functions/parentRef.md +2 -2
- package/docs/api/functions/sql.md +7 -7
- package/docs/api/globals.md +57 -22
- package/docs/api/interfaces/Column.md +31 -31
- package/docs/api/interfaces/ColumnOptions.md +5 -4
- package/docs/api/interfaces/CreatedMiddlewareClass.md +7 -7
- package/docs/api/interfaces/DBConfig.md +13 -11
- 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/ModelOptions.md +8 -7
- package/docs/api/interfaces/PkeyResult.md +4 -4
- package/docs/api/interfaces/SelectOptions.md +17 -16
- package/docs/api/interfaces/SqlCondition.md +6 -6
- package/docs/api/interfaces/SqlFragment.md +5 -5
- package/docs/api/interfaces/SqlTypedFragment.md +7 -7
- 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/docs/benchmark-chart.svg +225 -249
- package/package.json +8 -4
package/dist/scp/makesql/tx.js
CHANGED
|
@@ -18,15 +18,14 @@
|
|
|
18
18
|
* The single-row and read paths are lowered by `bc generate` into a native module per language and
|
|
19
19
|
* never reach this runtime; there is no runtime read-compile and no runtime single-write compile.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* short-circuits — the remaining statements never execute and the tx ROLLBACKs. The batch plans
|
|
25
|
-
* derived here carry no gates; the rule survives for a caller that hands the runtime a gated plan.
|
|
21
|
+
* Every statement executes: a plan either commits or raises. There is no gate that inspects a
|
|
22
|
+
* statement's result and short-circuits the rest — no plan in this repository ever carried one, so
|
|
23
|
+
* the interpretation was removed rather than kept as a path nothing reaches (#256).
|
|
26
24
|
*/
|
|
27
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
26
|
exports.IN_SENTINEL = exports.ENTITY_ROOT = void 0;
|
|
29
27
|
exports.literalize = literalize;
|
|
28
|
+
exports.isBatchPlan = isBatchPlan;
|
|
30
29
|
exports.pgTypeSpecimen = pgTypeSpecimen;
|
|
31
30
|
exports.pkPort = pkPort;
|
|
32
31
|
exports.compileWriteNode = compileWriteNode;
|
|
@@ -96,6 +95,19 @@ function literalize(value) {
|
|
|
96
95
|
* that references the written row resolves against it. Reserved: no input field may use this name.
|
|
97
96
|
*/
|
|
98
97
|
exports.ENTITY_ROOT = '__entity';
|
|
98
|
+
/**
|
|
99
|
+
* Is this plan a BATCH (createMany / updateMany / deleteMany) rather than a single/composite Command?
|
|
100
|
+
* A batch is ref-free: nothing exposes a row for a later statement to read, so `entityFrom` is null and
|
|
101
|
+
* every statement is a plain `body` with no `binds`.
|
|
102
|
+
*
|
|
103
|
+
* It decides two things that MUST agree, which is why it is ONE function and not a test each side
|
|
104
|
+
* spells for itself: the runtime accumulates `returnedRows` only for a batch, and the codegen out-type
|
|
105
|
+
* ({@link ./writeouttype}) includes the `returnedRows` field only for a batch. Two spellings that drift
|
|
106
|
+
* would type a field the runtime does not fill, or drop one it does (#259).
|
|
107
|
+
*/
|
|
108
|
+
function isBatchPlan(plan) {
|
|
109
|
+
return plan.entityFrom === null && plan.statements.every((s) => s.binds === undefined && s.role === 'body');
|
|
110
|
+
}
|
|
99
111
|
exports.IN_SENTINEL = '@in';
|
|
100
112
|
function stringPort(ports, name) {
|
|
101
113
|
const v = ports[name];
|
|
@@ -535,7 +547,7 @@ function deriveBatchPlan(phase, ops) {
|
|
|
535
547
|
// its own rows. `entityFrom` stays null; the runtime accumulates EVERY body statement's RETURNING
|
|
536
548
|
// rows into `TransactionResult.returnedRows` (ordered by group), reproducing v1 `createMany`'s
|
|
537
549
|
// "all created rows" result while `expectedDbState` proves the persisted state.
|
|
538
|
-
return { phase, entityFrom: null, statements
|
|
550
|
+
return { phase, entityFrom: null, statements };
|
|
539
551
|
}
|
|
540
552
|
/** bc evaluates ints to bigint; convert a rendered param to a driver-bindable value. */
|
|
541
553
|
function toDriverParam(v, dialect) {
|
|
@@ -574,21 +586,6 @@ function renderStatement(op, scope, dialect) {
|
|
|
574
586
|
const { sql, params } = evalAssemble(op, scope, dialect);
|
|
575
587
|
return { sql: (0, handler_1.renderPlaceholders)(sql, dialect), params };
|
|
576
588
|
}
|
|
577
|
-
function gateShortCircuit(gate, result) {
|
|
578
|
-
switch (gate) {
|
|
579
|
-
case 'existsElseRollback':
|
|
580
|
-
return result.rows.length === 0 ? 'requires_absent' : null;
|
|
581
|
-
case 'insertedElseRollback':
|
|
582
|
-
return result.changes === 0 ? 'unique_collision' : null;
|
|
583
|
-
case 'insertedElseNoop':
|
|
584
|
-
return result.changes === 0 ? 'idempotent_duplicate' : null;
|
|
585
|
-
default:
|
|
586
|
-
// Fail-CLOSED on an unknown / forward-incompatible gate rule (aligned with Python + Rust): a
|
|
587
|
-
// corrupt or unrecognized gate MUST NOT silently continue (fail-open would let a malformed gate
|
|
588
|
-
// be skipped and the write COMMIT). Throwing here aborts the tx (the caller's catch ROLLBACKs).
|
|
589
|
-
throw new Error(`scp write: unknown gate rule '${String(gate)}'`);
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
589
|
/** Render one statement op to its dialect SQL text + params (exposed for golden tests). */
|
|
593
590
|
function renderTxStatement(op, scope, dialect = 'sqlite') {
|
|
594
591
|
return renderStatement(op, scope, dialect);
|
|
@@ -620,8 +617,8 @@ async function execStatementAsync(ctx, op, scope, dialect) {
|
|
|
620
617
|
return hasReturn ? { rows: out, changes: out.length } : { rows: [], changes: Number(out[0]?.changes ?? 0) };
|
|
621
618
|
}
|
|
622
619
|
/**
|
|
623
|
-
* Execute a derived {@link TransactionPlan} on a live PG / MySQL connection with
|
|
624
|
-
*
|
|
620
|
+
* Execute a derived {@link TransactionPlan} on a live PG / MySQL connection with **per-execution
|
|
621
|
+
* connection ownership** (§3). The live-DB WRITE entry (#86).
|
|
625
622
|
*
|
|
626
623
|
* ## Ambient-tx JOIN vs. its own envelope (the #86 core)
|
|
627
624
|
*
|
|
@@ -664,8 +661,7 @@ function executeTransactionAsync(ctx, plan, input, dialect = 'sqlite', options =
|
|
|
664
661
|
}
|
|
665
662
|
/** The plan-executor body of {@link executeTransactionAsync}, split so the guard runs at entry. */
|
|
666
663
|
function runTransactionPlanAsync(ctx, plan, input, dialect, options) {
|
|
667
|
-
const
|
|
668
|
-
plan.statements.every((s) => s.gate === undefined && s.binds === undefined && s.role === 'body');
|
|
664
|
+
const batch = isBatchPlan(plan);
|
|
669
665
|
return (0, exec_context_1.withTransactionAsync)(ctx, async (txCtx) => {
|
|
670
666
|
const executed = [];
|
|
671
667
|
const scope = { ...input };
|
|
@@ -674,15 +670,6 @@ function runTransactionPlanAsync(ctx, plan, input, dialect, options) {
|
|
|
674
670
|
for (const stmt of plan.statements) {
|
|
675
671
|
const result = await execStatementAsync(txCtx, stmt.op, scope, dialect);
|
|
676
672
|
executed.push(stmt.id);
|
|
677
|
-
if (stmt.gate !== undefined) {
|
|
678
|
-
const reason = gateShortCircuit(stmt.gate, result);
|
|
679
|
-
if (reason !== null) {
|
|
680
|
-
// A gate short-circuit ROLLBACKs the whole tx (atomicity): throw the sentinel so
|
|
681
|
-
// `withTransactionAsync` runs ROLLBACK on the owned connection, then translate to the
|
|
682
|
-
// structured non-committed result at the boundary.
|
|
683
|
-
throw new GateShortCircuit(stmt.id, reason, executed);
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
673
|
if (stmt.id === plan.entityFrom) {
|
|
687
674
|
entity = result.rows.length > 0 ? result.rows[0] : null;
|
|
688
675
|
if (entity !== null)
|
|
@@ -691,30 +678,14 @@ function runTransactionPlanAsync(ctx, plan, input, dialect, options) {
|
|
|
691
678
|
if (stmt.binds !== undefined && result.rows.length > 0) {
|
|
692
679
|
scope[stmt.binds] = result.rows[0];
|
|
693
680
|
}
|
|
694
|
-
if (
|
|
681
|
+
if (batch && stmt.role === 'body' && result.rows.length > 0)
|
|
695
682
|
returnedRows.push(result.rows);
|
|
696
683
|
}
|
|
697
684
|
return { committed: true, entity, executed, ...(returnedRows.length > 0 ? { returnedRows } : {}) };
|
|
698
685
|
}, options, dialect === 'sqlite' ? 'postgres' : dialect, connection_errors_1.isConnectionError).catch((e) => {
|
|
699
|
-
//
|
|
700
|
-
// error
|
|
701
|
-
if (e instanceof GateShortCircuit) {
|
|
702
|
-
return { committed: false, shortCircuit: { statementId: e.statementId, reason: e.reason }, entity: null, executed: e.executed };
|
|
703
|
-
}
|
|
686
|
+
// Every error here is a real driver failure (already rolled back by withTransactionAsync) — a plan
|
|
687
|
+
// has no non-error way to not commit, so there is nothing to translate before re-surfacing.
|
|
704
688
|
throw (0, errors_1.mapSqliteError)(e);
|
|
705
689
|
});
|
|
706
690
|
}
|
|
707
|
-
/** Internal sentinel: a gate short-circuit inside an async tx (ROLLBACK, then report non-committed). */
|
|
708
|
-
class GateShortCircuit extends Error {
|
|
709
|
-
statementId;
|
|
710
|
-
reason;
|
|
711
|
-
executed;
|
|
712
|
-
constructor(statementId, reason, executed) {
|
|
713
|
-
super(`scp write: gate short-circuit at '${statementId}' (${reason})`);
|
|
714
|
-
this.statementId = statementId;
|
|
715
|
-
this.reason = reason;
|
|
716
|
-
this.executed = executed;
|
|
717
|
-
this.name = 'GateShortCircuit';
|
|
718
|
-
}
|
|
719
|
-
}
|
|
720
691
|
//# sourceMappingURL=tx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/scp/makesql/tx.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/scp/makesql/tx.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
* `executeTransaction` returns:
|
|
11
11
|
* ```
|
|
12
12
|
* { committed: boolean
|
|
13
|
-
* shortCircuit?: { statementId: string; reason: ShortCircuitReason } // reason is a string enum
|
|
14
13
|
* entity: Record<string,unknown> | null // the written entity ROW (RETURNING row)
|
|
15
14
|
* executed: readonly string[]
|
|
16
15
|
* returnedRows?: readonly (readonly Record<string,unknown>[])[] // batch RETURNING rows }
|
|
@@ -18,7 +17,6 @@
|
|
|
18
17
|
* which de-boxes to the bc portable type
|
|
19
18
|
* ```
|
|
20
19
|
* obj{ committed:bool, executed:arr<string>,
|
|
21
|
-
* shortCircuit:opt<obj{statementId:string, reason:string}>,
|
|
22
20
|
* entity:opt<ROW>, returnedRows:opt<arr<arr<ROW>>> }
|
|
23
21
|
* ```
|
|
24
22
|
* where ROW is the written table's RETURNING columns typed via the SAME
|
|
@@ -38,13 +36,13 @@
|
|
|
38
36
|
import type { PortableType } from 'behavior-contracts/runtime';
|
|
39
37
|
import { type ColumnTypeResolver } from '../coltype';
|
|
40
38
|
import type { SqlBundle } from '../write-bundle';
|
|
41
|
-
import type
|
|
39
|
+
import { type TransactionPlan } from './tx';
|
|
42
40
|
/**
|
|
43
|
-
* The full write-bundle output type: the {@link TransactionResult} typed shape. `committed
|
|
44
|
-
* `executed
|
|
41
|
+
* The full write-bundle output type: the {@link TransactionResult} typed shape. `committed` and
|
|
42
|
+
* `executed` are always present. `entity` and `returnedRows` are included ONLY when
|
|
45
43
|
* the plan shape can actually POPULATE them — precise typing, not a fallback:
|
|
46
|
-
* - `entity` (`opt<ROW>`) — present when the body write RETURNs (a
|
|
47
|
-
*
|
|
44
|
+
* - `entity` (`opt<ROW>`) — present when the body write RETURNs (a single Command exposes its
|
|
45
|
+
* written row here). A no-RETURNING write leaves `entity` always null → typed `opt<obj{}>`.
|
|
48
46
|
* - `returnedRows` (`opt<arr<arr<ROW>>>`) — present ONLY for a BATCH plan whose body RETURNs (the
|
|
49
47
|
* sole shape the runtime accumulates it in: `executeTransaction` pushes a body's RETURNING rows to
|
|
50
48
|
* `returnedRows` iff batch mode AND the statement returned rows). A non-batch Command, or a batch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeouttype.d.ts","sourceRoot":"","sources":["../../../src/scp/makesql/writeouttype.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"writeouttype.d.ts","sourceRoot":"","sources":["../../../src/scp/makesql/writeouttype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAoC,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAe,KAAK,eAAe,EAAoB,MAAM,MAAM,CAAC;AAgH3E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,GAAG,YAAY,CAqBtG;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,GAAG,SAAS,CASpG"}
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
* `executeTransaction` returns:
|
|
12
12
|
* ```
|
|
13
13
|
* { committed: boolean
|
|
14
|
-
* shortCircuit?: { statementId: string; reason: ShortCircuitReason } // reason is a string enum
|
|
15
14
|
* entity: Record<string,unknown> | null // the written entity ROW (RETURNING row)
|
|
16
15
|
* executed: readonly string[]
|
|
17
16
|
* returnedRows?: readonly (readonly Record<string,unknown>[])[] // batch RETURNING rows }
|
|
@@ -19,7 +18,6 @@
|
|
|
19
18
|
* which de-boxes to the bc portable type
|
|
20
19
|
* ```
|
|
21
20
|
* obj{ committed:bool, executed:arr<string>,
|
|
22
|
-
* shortCircuit:opt<obj{statementId:string, reason:string}>,
|
|
23
21
|
* entity:opt<ROW>, returnedRows:opt<arr<arr<ROW>>> }
|
|
24
22
|
* ```
|
|
25
23
|
* where ROW is the written table's RETURNING columns typed via the SAME
|
|
@@ -40,12 +38,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
40
38
|
exports.deriveWriteOutputType = deriveWriteOutputType;
|
|
41
39
|
exports.annotateWriteBundleOutType = annotateWriteBundleOutType;
|
|
42
40
|
const coltype_1 = require("../coltype");
|
|
41
|
+
const tx_1 = require("./tx");
|
|
43
42
|
/** Identity narrow (BcScalar is exactly bc's PortableScalarType); DATE→string happens in coltype. */
|
|
44
43
|
function toPortableScalar(scalar) {
|
|
45
44
|
return scalar;
|
|
46
45
|
}
|
|
47
|
-
/** The reserved ShortCircuit sub-object type — reason is a string enum, statementId a string. */
|
|
48
|
-
const SHORT_CIRCUIT_TYPE = { obj: { statementId: 'string', reason: 'string' } };
|
|
49
46
|
/**
|
|
50
47
|
* The target table + RETURNING columns of ONE `body`-role write statement, extracted STRUCTURALLY
|
|
51
48
|
* from its complete tuned SQL text (the makeSQL `body` op — `INSERT INTO <t> … [RETURNING …]` /
|
|
@@ -98,16 +95,14 @@ function bodyStatements(plan) {
|
|
|
98
95
|
return plan.statements.filter((s) => s.role === 'body');
|
|
99
96
|
}
|
|
100
97
|
/**
|
|
101
|
-
|
|
102
|
-
*
|
|
103
|
-
* `
|
|
104
|
-
*
|
|
98
|
+
/**
|
|
99
|
+
* The empty-plan guard this module used to carry INSIDE its own copy of the batch test, as a
|
|
100
|
+
* `statements.length > 0` term the runtime's copy did not have (#259). It was unreachable there:
|
|
101
|
+
* {@link writeTargetReturning} runs FIRST in {@link deriveWriteOutputType} and throws on a plan with no
|
|
102
|
+
* `body` statement, so `isBatchPlan` never sees one. Both copies are now the ONE
|
|
103
|
+
* {@link import('./tx').isBatchPlan}, and the typing precondition stays where it belongs — in the
|
|
104
|
+
* function that cannot proceed without a body statement.
|
|
105
105
|
*/
|
|
106
|
-
function isBatchPlan(plan) {
|
|
107
|
-
return (plan.entityFrom === null &&
|
|
108
|
-
plan.statements.length > 0 &&
|
|
109
|
-
plan.statements.every((s) => s.gate === undefined && s.binds === undefined && s.role === 'body'));
|
|
110
|
-
}
|
|
111
106
|
/**
|
|
112
107
|
* The write's `(table, RETURNING)` — every `body`-role statement must agree (a batch's groups all
|
|
113
108
|
* target the SAME table with the SAME RETURNING projection; a single/composite Command's body write
|
|
@@ -141,11 +136,11 @@ function writeTargetReturning(plan) {
|
|
|
141
136
|
return { table: table, returning: returning ?? null };
|
|
142
137
|
}
|
|
143
138
|
/**
|
|
144
|
-
* The full write-bundle output type: the {@link TransactionResult} typed shape. `committed
|
|
145
|
-
* `executed
|
|
139
|
+
* The full write-bundle output type: the {@link TransactionResult} typed shape. `committed` and
|
|
140
|
+
* `executed` are always present. `entity` and `returnedRows` are included ONLY when
|
|
146
141
|
* the plan shape can actually POPULATE them — precise typing, not a fallback:
|
|
147
|
-
* - `entity` (`opt<ROW>`) — present when the body write RETURNs (a
|
|
148
|
-
*
|
|
142
|
+
* - `entity` (`opt<ROW>`) — present when the body write RETURNs (a single Command exposes its
|
|
143
|
+
* written row here). A no-RETURNING write leaves `entity` always null → typed `opt<obj{}>`.
|
|
149
144
|
* - `returnedRows` (`opt<arr<arr<ROW>>>`) — present ONLY for a BATCH plan whose body RETURNs (the
|
|
150
145
|
* sole shape the runtime accumulates it in: `executeTransaction` pushes a body's RETURNING rows to
|
|
151
146
|
* `returnedRows` iff batch mode AND the statement returned rows). A non-batch Command, or a batch
|
|
@@ -169,12 +164,11 @@ function deriveWriteOutputType(plan, resolve) {
|
|
|
169
164
|
const fields = {
|
|
170
165
|
committed: 'bool',
|
|
171
166
|
executed: { arr: 'string' },
|
|
172
|
-
shortCircuit: { opt: SHORT_CIRCUIT_TYPE },
|
|
173
167
|
entity: { opt: row },
|
|
174
168
|
};
|
|
175
169
|
// returnedRows is populated ONLY by a batch plan whose body RETURNs rows; include it in the type
|
|
176
170
|
// only then (precise typing — the field is provably absent otherwise, so omitting it is exact).
|
|
177
|
-
if (isBatchPlan(plan) && hasReturning)
|
|
171
|
+
if ((0, tx_1.isBatchPlan)(plan) && hasReturning)
|
|
178
172
|
fields.returnedRows = { opt: { arr: { arr: row } } };
|
|
179
173
|
return { obj: fields };
|
|
180
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeouttype.js","sourceRoot":"","sources":["../../../src/scp/makesql/writeouttype.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"writeouttype.js","sourceRoot":"","sources":["../../../src/scp/makesql/writeouttype.ts"],"names":[],"mappings":"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"}
|
package/dist/scp/write-bundle.js
CHANGED
|
@@ -88,7 +88,7 @@ function compileDeleteManyBundle(name, options, dialectName = 'sqlite') {
|
|
|
88
88
|
const components = (0, compile_crud_1.compileDeleteMany)({ dialect: dialectName, ...options });
|
|
89
89
|
const ops = components.map((c, i) => flattenBatchOp(c, `deleteMany group ${i}`));
|
|
90
90
|
if (ops.length === 0) {
|
|
91
|
-
return { dialect: dialectName, name, statement: { sql: '', params: [] }, transaction: { phase: 'remove', entityFrom: null, statements: []
|
|
91
|
+
return { dialect: dialectName, name, statement: { sql: '', params: [] }, transaction: { phase: 'remove', entityFrom: null, statements: [] } };
|
|
92
92
|
}
|
|
93
93
|
const plan = (0, tx_1.deriveBatchPlan)('remove', ops);
|
|
94
94
|
return { dialect: dialectName, name, statement: { sql: ops[0].sql, params: ops[0].params }, transaction: plan };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-bundle.js","sourceRoot":"","sources":["../../src/scp/write-bundle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAwDH,0DA6BC;AAMD,0DAQC;AAOD,0DAYC;AAlHD,qCAAsC;AAoH7B,2FApHA,mBAAU,OAoHA;AAnHnB,qCAAgF;AAChF,yDAKgC;AAChC,+DAAwD;AACxD,+CAAkE;AAClE,yDAAoE;AA2BpE,yFAAyF;AACzF,SAAS,cAAc,CAAC,IAAa,EAAE,KAAa;IAClD,MAAM,SAAS,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CACrC,IAAY,EACZ,OAAiG,EACjG,cAA2B,QAAQ,EACnC,iBAAsC;IAEtC,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACxD,kGAAkG;QAClG,kDAAkD;QAClD,IAAI,WAAW,KAAK,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3F,iGAAiG;YACjG,mGAAmG;YACnG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChI,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAA,6BAAW,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAA,oBAAe,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,oGAAoG;IACpG,uGAAuG;IACvG,qEAAqE;IACrE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,4IAA4I,CAAC,CAAC;IAC3M,CAAC;IACD,MAAM,MAAM,GAAc,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/H,OAAO,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,yCAA0B,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC1G,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CACrC,IAAY,EACZ,OAA+B,EAC/B,cAA2B,QAAQ;IAEnC,MAAM,EAAE,GAAG,cAAc,CAAC,IAAA,gCAAiB,EAAC,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,IAAA,oBAAe,EAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC1G,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,IAAY,EACZ,OAAyG,EACzG,cAA2B,QAAQ;IAEnC,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"write-bundle.js","sourceRoot":"","sources":["../../src/scp/write-bundle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAwDH,0DA6BC;AAMD,0DAQC;AAOD,0DAYC;AAlHD,qCAAsC;AAoH7B,2FApHA,mBAAU,OAoHA;AAnHnB,qCAAgF;AAChF,yDAKgC;AAChC,+DAAwD;AACxD,+CAAkE;AAClE,yDAAoE;AA2BpE,yFAAyF;AACzF,SAAS,cAAc,CAAC,IAAa,EAAE,KAAa;IAClD,MAAM,SAAS,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CACrC,IAAY,EACZ,OAAiG,EACjG,cAA2B,QAAQ,EACnC,iBAAsC;IAEtC,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACxD,kGAAkG;QAClG,kDAAkD;QAClD,IAAI,WAAW,KAAK,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3F,iGAAiG;YACjG,mGAAmG;YACnG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChI,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAA,6BAAW,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAA,oBAAe,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,oGAAoG;IACpG,uGAAuG;IACvG,qEAAqE;IACrE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,4IAA4I,CAAC,CAAC;IAC3M,CAAC;IACD,MAAM,MAAM,GAAc,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/H,OAAO,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,yCAA0B,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC1G,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CACrC,IAAY,EACZ,OAA+B,EAC/B,cAA2B,QAAQ;IAEnC,MAAM,EAAE,GAAG,cAAc,CAAC,IAAA,gCAAiB,EAAC,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,IAAA,oBAAe,EAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC1G,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,IAAY,EACZ,OAAyG,EACzG,cAA2B,QAAQ;IAEnC,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;IAChJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,oBAAe,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAClH,CAAC"}
|
package/docs/BENCHMARK.md
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Benchmark comparing litedbmodel with Prisma, Kysely, Drizzle, and TypeORM on PostgreSQL.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<!--@embedoc:package_version-->
|
|
6
|
+
**Version:** litedbmodel **2.2.4**
|
|
7
|
+
<!--@embedoc:end-->
|
|
8
|
+
|
|
9
|
+
> Measured on PostgreSQL 16 · Apple Silicon (arm64).
|
|
6
10
|
> Every table and the chart on this page are **regenerated from `benchmark/results/benchmark-results.csv`**
|
|
7
11
|
> (`npx embedoc build` for the tables, `npm run chart` for the SVG) — the numbers here are machine-derived,
|
|
8
12
|
> never hand-edited. litedbmodel's two v2 execution modes (`runtime`, `codegen`) are shown as separate series.
|
|
@@ -32,25 +36,25 @@ Reference: [Kysely performance comparison article](https://izanami.dev/post/1e3f
|
|
|
32
36
|
<!--@embedoc:benchmark_table-->
|
|
33
37
|
| Operation | litedbmodel (runtime) | litedbmodel (codegen) | Kysely | Drizzle | TypeORM | Prisma |
|
|
34
38
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
35
|
-
| Find all (limit 100) | **0.
|
|
36
|
-
| Filter, paginate & sort |
|
|
37
|
-
| Nested find all (include posts) | 2.39ms | **2.
|
|
38
|
-
| Find first | 0.
|
|
39
|
-
| Nested find first (include posts) | 0.
|
|
40
|
-
| Find unique (by email) | 0.
|
|
41
|
-
| Nested find unique (include posts) | 0.
|
|
42
|
-
| Create | 0.
|
|
43
|
-
| Nested create (with post) | 1.
|
|
44
|
-
| Update | 0.
|
|
45
|
-
| Nested update (update user + post) |
|
|
46
|
-
| Upsert |
|
|
47
|
-
| Nested upsert (user + post) | 1.
|
|
48
|
-
| Delete | 1.
|
|
49
|
-
| Create Many (10 records) |
|
|
50
|
-
| Upsert Many (10 records) | 1.
|
|
51
|
-
| Update Many (10 different values) | 1.
|
|
52
|
-
| Nested relations (100→1000→10000) | **14.
|
|
53
|
-
| Nested relations (composite key) |
|
|
39
|
+
| Find all (limit 100) | **0.48ms** 🏆 | 0.69ms | 0.92ms | 0.58ms | 0.74ms | 1.16ms |
|
|
40
|
+
| Filter, paginate & sort | **0.68ms** 🏆 | **0.69ms** 🏆 | 0.75ms | 0.93ms | 1.00ms | 0.97ms |
|
|
41
|
+
| Nested find all (include posts) | 2.39ms | **2.25ms** 🏆 | 3.09ms | 3.01ms | 6.41ms | 9.61ms |
|
|
42
|
+
| Find first | 0.38ms | 0.39ms | **0.33ms** 🏆 | 0.52ms | 0.52ms | 0.53ms |
|
|
43
|
+
| Nested find first (include posts) | **0.68ms** 🏆 | 0.88ms | 0.86ms | 0.85ms | 0.80ms | 0.98ms |
|
|
44
|
+
| Find unique (by email) | 0.41ms | **0.35ms** 🏆 | 0.43ms | 0.47ms | 0.58ms | 0.61ms |
|
|
45
|
+
| Nested find unique (include posts) | 0.89ms | 0.92ms | **0.81ms** 🏆 | 0.85ms | 1.36ms | 0.92ms |
|
|
46
|
+
| Create | 0.80ms | **0.40ms** 🏆 | 0.89ms | 1.07ms | 0.84ms | 1.03ms |
|
|
47
|
+
| Nested create (with post) | **1.00ms** 🏆 | 1.17ms | 1.01ms | 1.22ms | 1.40ms | 1.77ms |
|
|
48
|
+
| Update | 0.84ms | **0.40ms** 🏆 | 0.89ms | 0.76ms | 0.75ms | 1.20ms |
|
|
49
|
+
| Nested update (update user + post) | 1.22ms | 1.21ms | 1.22ms | 1.16ms | **1.14ms** 🏆 | 2.26ms |
|
|
50
|
+
| Upsert | 1.03ms | **0.42ms** 🏆 | 0.84ms | 1.05ms | 1.15ms | 1.92ms |
|
|
51
|
+
| Nested upsert (user + post) | 1.49ms | 1.23ms | **1.10ms** 🏆 | 1.39ms | 1.29ms | 2.09ms |
|
|
52
|
+
| Delete | 1.24ms | **1.06ms** 🏆 | 1.22ms | 1.28ms | 1.27ms | 1.49ms |
|
|
53
|
+
| Create Many (10 records) | 1.10ms | **0.57ms** 🏆 | 0.94ms | 1.03ms | 1.36ms | 1.19ms |
|
|
54
|
+
| Upsert Many (10 records) | 1.45ms | **0.66ms** 🏆 | 1.07ms | 1.51ms | 1.57ms | 9.64ms |
|
|
55
|
+
| Update Many (10 different values) | 1.20ms | **0.44ms** 🏆 | 2.42ms | 2.42ms | 2.60ms | 4.83ms |
|
|
56
|
+
| Nested relations (100→1000→10000) | **14.83ms** 🏆 | 18.11ms | 20.86ms | 20.51ms | 72.09ms | 82.82ms |
|
|
57
|
+
| Nested relations (composite key) | 29.00ms | **23.26ms** 🏆 | N/A | 78.53ms | 58.94ms | 82.63ms |
|
|
54
58
|
<!--@embedoc:end-->
|
|
55
59
|
|
|
56
60
|
*All write operations wrapped in transactions for fair comparison across all ORMs.*
|
|
@@ -58,7 +62,7 @@ Reference: [Kysely performance comparison article](https://izanami.dev/post/1e3f
|
|
|
58
62
|
### Analysis
|
|
59
63
|
|
|
60
64
|
<!--@embedoc:benchmark_summary-->
|
|
61
|
-
litedbmodel is the fastest ORM in **
|
|
65
|
+
litedbmodel is the fastest ORM in **15 of 19** benchmarked operations.
|
|
62
66
|
<!--@embedoc:end-->
|
|
63
67
|
|
|
64
68
|
Every number below comes from the machine-generated table above (regenerated from
|
|
@@ -528,6 +532,6 @@ WHERE (tenant_id, user_id) IN (($1,$2),($3,$4),...,($1999,$2000))
|
|
|
528
532
|
|
|
529
533
|
---
|
|
530
534
|
|
|
531
|
-
*Last updated: July 2026
|
|
535
|
+
*Last updated: July 2026*
|
|
532
536
|
*Benchmark methodology: Based on [Prisma orm-benchmarks](https://github.com/prisma/orm-benchmarks)*
|
|
533
537
|
|
package/docs/COMPARISON.md
CHANGED
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
A detailed comparison of litedbmodel with popular TypeScript/JavaScript ORMs.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
<!--@embedoc:package_version label="Benchmark figures"-->
|
|
6
|
+
**Benchmark figures:** litedbmodel **2.2.4**
|
|
7
|
+
<!--@embedoc:end-->
|
|
8
|
+
|
|
9
|
+
> The only performance number on this page is the machine-computed win count below; the full
|
|
10
|
+
> per-operation table lives in [BENCHMARK.md](./BENCHMARK.md) (regenerated from
|
|
11
|
+
> `benchmark/results/benchmark-results.csv`).
|
|
8
12
|
|
|
9
13
|
## Quick Comparison Matrix
|
|
10
14
|
|
|
@@ -1082,7 +1086,7 @@ For detailed benchmark results comparing litedbmodel with Prisma, Kysely, Drizzl
|
|
|
1082
1086
|
### Summary
|
|
1083
1087
|
|
|
1084
1088
|
<!--@embedoc:benchmark_summary-->
|
|
1085
|
-
litedbmodel is the fastest ORM in **
|
|
1089
|
+
litedbmodel is the fastest ORM in **15 of 19** benchmarked operations.
|
|
1086
1090
|
<!--@embedoc:end-->
|
|
1087
1091
|
|
|
1088
1092
|
| Aspect | litedbmodel |
|
package/docs/api/README.md
CHANGED