litedbmodel 2.1.0 → 2.2.0
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 +7 -0
- package/dist/DBConditions.d.ts.map +1 -1
- package/dist/DBConditions.js +16 -1
- package/dist/DBConditions.js.map +1 -1
- package/dist/DBHandler.d.ts.map +1 -1
- package/dist/DBHandler.js +6 -0
- package/dist/DBHandler.js.map +1 -1
- package/dist/DBModel.d.ts +84 -2
- package/dist/DBModel.d.ts.map +1 -1
- package/dist/DBModel.js +312 -29
- package/dist/DBModel.js.map +1 -1
- package/dist/decorators.d.ts +52 -0
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +83 -0
- package/dist/decorators.js.map +1 -1
- package/dist/drivers/mysql.d.ts.map +1 -1
- package/dist/drivers/mysql.js +6 -2
- package/dist/drivers/mysql.js.map +1 -1
- package/dist/drivers/postgres.d.ts.map +1 -1
- package/dist/drivers/postgres.js +6 -2
- package/dist/drivers/postgres.js.map +1 -1
- package/dist/drivers/sqlite.d.ts.map +1 -1
- package/dist/drivers/sqlite.js +12 -2
- package/dist/drivers/sqlite.js.map +1 -1
- package/dist/index.cjs +10741 -0
- package/dist/index.d.cts +1 -0
- package/dist/scp/coltype.d.ts +26 -1
- package/dist/scp/coltype.d.ts.map +1 -1
- package/dist/scp/coltype.js +82 -15
- package/dist/scp/coltype.js.map +1 -1
- package/dist/scp/connection-routing.d.ts +312 -0
- package/dist/scp/connection-routing.d.ts.map +1 -0
- package/dist/scp/connection-routing.js +394 -0
- package/dist/scp/connection-routing.js.map +1 -0
- package/dist/scp/dbmodel-runtime.d.ts +101 -0
- package/dist/scp/dbmodel-runtime.d.ts.map +1 -0
- package/dist/scp/dbmodel-runtime.js +174 -0
- package/dist/scp/dbmodel-runtime.js.map +1 -0
- package/dist/scp/decorator-adapter.d.ts +196 -0
- package/dist/scp/decorator-adapter.d.ts.map +1 -0
- package/dist/scp/decorator-adapter.js +286 -0
- package/dist/scp/decorator-adapter.js.map +1 -0
- package/dist/scp/emit/emitter.d.ts +108 -0
- package/dist/scp/emit/emitter.d.ts.map +1 -0
- package/dist/scp/emit/emitter.js +782 -0
- package/dist/scp/emit/emitter.js.map +1 -0
- package/dist/scp/emit/endpoint.d.ts +248 -0
- package/dist/scp/emit/endpoint.d.ts.map +1 -0
- package/dist/scp/emit/endpoint.js +20 -0
- package/dist/scp/emit/endpoint.js.map +1 -0
- package/dist/scp/emit/index.d.ts +11 -0
- package/dist/scp/emit/index.d.ts.map +1 -0
- package/dist/scp/emit/index.js +13 -0
- package/dist/scp/emit/index.js.map +1 -0
- package/dist/scp/errors.d.ts +45 -1
- package/dist/scp/errors.d.ts.map +1 -1
- package/dist/scp/errors.js +47 -1
- package/dist/scp/errors.js.map +1 -1
- package/dist/scp/exec-context.d.ts +390 -0
- package/dist/scp/exec-context.d.ts.map +1 -0
- package/dist/scp/exec-context.js +540 -0
- package/dist/scp/exec-context.js.map +1 -0
- package/dist/scp/grouping.d.ts +32 -0
- package/dist/scp/grouping.d.ts.map +1 -0
- package/dist/scp/grouping.js +0 -0
- package/dist/scp/grouping.js.map +1 -0
- package/dist/scp/index.cjs +6814 -15731
- package/dist/scp/index.d.cts +1 -0
- package/dist/scp/index.d.mts +1 -0
- package/dist/scp/index.d.ts +47 -49
- package/dist/scp/index.d.ts.map +1 -1
- package/dist/scp/index.js +174 -152
- package/dist/scp/index.js.map +1 -1
- package/dist/scp/index.mjs +5561 -3704
- package/dist/scp/leaf-transport.d.ts +50 -0
- package/dist/scp/leaf-transport.d.ts.map +1 -0
- package/dist/scp/leaf-transport.js +92 -0
- package/dist/scp/leaf-transport.js.map +1 -0
- package/dist/scp/leaves.d.ts +174 -0
- package/dist/scp/leaves.d.ts.map +1 -0
- package/dist/scp/leaves.js +287 -0
- package/dist/scp/leaves.js.map +1 -0
- package/dist/scp/limit-config.d.ts +118 -0
- package/dist/scp/limit-config.d.ts.map +1 -0
- package/dist/scp/limit-config.js +126 -0
- package/dist/scp/limit-config.js.map +1 -0
- package/dist/scp/makesql/compile-relation.d.ts +49 -23
- package/dist/scp/makesql/compile-relation.d.ts.map +1 -1
- package/dist/scp/makesql/compile-relation.js +101 -76
- package/dist/scp/makesql/compile-relation.js.map +1 -1
- package/dist/scp/makesql/compile-select.d.ts +45 -10
- package/dist/scp/makesql/compile-select.d.ts.map +1 -1
- package/dist/scp/makesql/compile-select.js +50 -10
- package/dist/scp/makesql/compile-select.js.map +1 -1
- package/dist/scp/makesql/handler.d.ts +1 -1
- package/dist/scp/makesql/handler.d.ts.map +1 -1
- package/dist/scp/makesql/index.d.ts +7 -9
- package/dist/scp/makesql/index.d.ts.map +1 -1
- package/dist/scp/makesql/index.js +17 -28
- package/dist/scp/makesql/index.js.map +1 -1
- package/dist/scp/makesql/json-array.d.ts +65 -0
- package/dist/scp/makesql/json-array.d.ts.map +1 -1
- package/dist/scp/makesql/json-array.js +99 -10
- package/dist/scp/makesql/json-array.js.map +1 -1
- package/dist/scp/makesql/json-batch.d.ts.map +1 -1
- package/dist/scp/makesql/json-batch.js +15 -18
- package/dist/scp/makesql/json-batch.js.map +1 -1
- package/dist/scp/makesql/makesql.d.ts +1 -1
- package/dist/scp/makesql/makesql.d.ts.map +1 -1
- package/dist/scp/makesql/mysql-returning.d.ts +93 -0
- package/dist/scp/makesql/mysql-returning.d.ts.map +1 -0
- package/dist/scp/makesql/mysql-returning.js +215 -0
- package/dist/scp/makesql/mysql-returning.js.map +1 -0
- package/dist/scp/makesql/outtype.d.ts +40 -54
- package/dist/scp/makesql/outtype.d.ts.map +1 -1
- package/dist/scp/makesql/outtype.js +46 -204
- package/dist/scp/makesql/outtype.js.map +1 -1
- package/dist/scp/makesql/pool-executor.d.ts +86 -34
- package/dist/scp/makesql/pool-executor.d.ts.map +1 -1
- package/dist/scp/makesql/pool-executor.js +179 -39
- package/dist/scp/makesql/pool-executor.js.map +1 -1
- package/dist/scp/makesql/tx.d.ts +107 -22
- package/dist/scp/makesql/tx.d.ts.map +1 -1
- package/dist/scp/makesql/tx.js +451 -97
- package/dist/scp/makesql/tx.js.map +1 -1
- package/dist/scp/makesql/writeouttype.d.ts +4 -4
- package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
- package/dist/scp/makesql/writeouttype.js +5 -3
- package/dist/scp/makesql/writeouttype.js.map +1 -1
- package/dist/scp/middleware.d.ts +287 -0
- package/dist/scp/middleware.d.ts.map +1 -0
- package/dist/scp/middleware.js +358 -0
- package/dist/scp/middleware.js.map +1 -0
- package/dist/scp/relation.d.ts +65 -8
- package/dist/scp/relation.d.ts.map +1 -1
- package/dist/scp/relation.js +154 -93
- package/dist/scp/relation.js.map +1 -1
- package/dist/scp/tx-options.d.ts +136 -0
- package/dist/scp/tx-options.d.ts.map +1 -0
- package/dist/scp/tx-options.js +184 -0
- package/dist/scp/tx-options.js.map +1 -0
- package/dist/scp/write-bundle.d.ts +131 -0
- package/dist/scp/write-bundle.d.ts.map +1 -0
- package/dist/scp/write-bundle.js +160 -0
- package/dist/scp/write-bundle.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/design/phase-a-execution-context.md +139 -0
- package/package.json +14 -13
- package/dist/scp/authoring-sql.d.ts +0 -134
- package/dist/scp/authoring-sql.d.ts.map +0 -1
- package/dist/scp/authoring-sql.js +0 -191
- package/dist/scp/authoring-sql.js.map +0 -1
- package/dist/scp/authoring.d.ts +0 -218
- package/dist/scp/authoring.d.ts.map +0 -1
- package/dist/scp/authoring.js +0 -351
- package/dist/scp/authoring.js.map +0 -1
- package/dist/scp/catalog.d.ts +0 -95
- package/dist/scp/catalog.d.ts.map +0 -1
- package/dist/scp/catalog.js +0 -245
- package/dist/scp/catalog.js.map +0 -1
- package/dist/scp/codegen.d.ts +0 -201
- package/dist/scp/codegen.d.ts.map +0 -1
- package/dist/scp/codegen.js +0 -605
- package/dist/scp/codegen.js.map +0 -1
- package/dist/scp/find-filter-guard.d.ts +0 -68
- package/dist/scp/find-filter-guard.d.ts.map +0 -1
- package/dist/scp/find-filter-guard.js +0 -88
- package/dist/scp/find-filter-guard.js.map +0 -1
- package/dist/scp/guard.d.ts +0 -43
- package/dist/scp/guard.d.ts.map +0 -1
- package/dist/scp/guard.js +0 -140
- package/dist/scp/guard.js.map +0 -1
- package/dist/scp/makesql/authoring-compile.d.ts +0 -90
- package/dist/scp/makesql/authoring-compile.d.ts.map +0 -1
- package/dist/scp/makesql/authoring-compile.js +0 -505
- package/dist/scp/makesql/authoring-compile.js.map +0 -1
- package/dist/scp/makesql/static-bundle.d.ts +0 -196
- package/dist/scp/makesql/static-bundle.d.ts.map +0 -1
- package/dist/scp/makesql/static-bundle.js +0 -1244
- package/dist/scp/makesql/static-bundle.js.map +0 -1
- package/dist/scp/runtime.d.ts +0 -243
- package/dist/scp/runtime.d.ts.map +0 -1
- package/dist/scp/runtime.js +0 -422
- package/dist/scp/runtime.js.map +0 -1
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* litedbmodel v2 SCP — the STATIC, PORTABLE `makeSQL` bundle + its runtime (epic #43/#45
|
|
3
|
-
* Phase B; design #45 owner-confirmed static-bundle decision).
|
|
4
|
-
*
|
|
5
|
-
* This is the SOLE read/compile path of the makeSQL SCP model, expressed as a compile step
|
|
6
|
-
* that is **symbolic** (no concrete input needed) and a runtime that evaluates value-specs +
|
|
7
|
-
* skip PER-INPUT via behavior-contracts. It REPLACES the reduced-spine `../runtime.ts`
|
|
8
|
-
* `SqlBundle`/`compileBundle`/`executeBundle` for the read path.
|
|
9
|
-
*
|
|
10
|
-
* ## The static bundle shape (design #45)
|
|
11
|
-
*
|
|
12
|
-
* A compiled behavior method is a bundle of ordered {@link StaticStatement} — each a
|
|
13
|
-
* `makeSQL` TEMPLATE:
|
|
14
|
-
* - `sql` — tuned dialect SQL text (`?` placeholders), COMPLETE and value-independent
|
|
15
|
-
* (compiled ONCE; the single-JSON-param array forms + PG `= ANY`/UNNEST keep
|
|
16
|
-
* the text fixed regardless of the runtime array length — no per-input text).
|
|
17
|
-
* - `params` — value-specs = bc Expression IR (`{ref:[…]}` / small ops / literals), 1:1 with
|
|
18
|
-
* the top-level `?`, evaluated AT RUNTIME by bc `evaluateExpression`.
|
|
19
|
-
* - `skip?` — a bc presence expression, evaluated at runtime; when truthy the whole
|
|
20
|
-
* statement (its `sql` and `params`) drops (contributes NOTHING).
|
|
21
|
-
*
|
|
22
|
-
* So the compile step emits a reusable portable artifact; the runtime (this module's
|
|
23
|
-
* {@link executeStaticBundle}) evaluates skip + params per-input via bc, assembles present
|
|
24
|
-
* fragments, renders placeholders, and executes. This unifies read/write/codegen on ONE
|
|
25
|
-
* `SqlBundle` shape and enables multi-language IR-reference execution.
|
|
26
|
-
*
|
|
27
|
-
* ## Symbolic compile — reuses `authoring-compile`'s port decoding, defers evaluation
|
|
28
|
-
*
|
|
29
|
-
* Phase A's `authoring-compile.ts` compiled per-input EAGERLY (it called `evaluateExpression`
|
|
30
|
-
* on every value slot to produce concrete `{sql, params}`). Here we keep the SAME closed-set
|
|
31
|
-
* port decoding (`../bridge.ts` operators, IN-sentinel, SKIP-`cond` collapse) but DEFER the
|
|
32
|
-
* value/skip evaluation to the runtime: a where-member's value operand stays as its raw bc
|
|
33
|
-
* Expression IR, a SKIP-`cond` guard becomes the statement's `skip` expression, and the SQL
|
|
34
|
-
* text is emitted once.
|
|
35
|
-
*/
|
|
36
|
-
import { type Scope, type Value } from 'behavior-contracts';
|
|
37
|
-
import type { ComponentGraphIR, ComponentRefNode, MapNode, BehaviorModelContract } from '../authoring';
|
|
38
|
-
import { type Dialect } from './handler';
|
|
39
|
-
import { type FindFilterSource } from '../find-filter-guard';
|
|
40
|
-
import { type ColumnTypeResolver, type MaterializeClass } from '../coltype';
|
|
41
|
-
/** A closed-set bc Expression IR node used as a deferred value-spec or a skip expression. */
|
|
42
|
-
export type ValueSpec = unknown;
|
|
43
|
-
/**
|
|
44
|
-
* One statement of a static bundle — a `makeSQL` TEMPLATE. `sql` is the complete tuned SQL
|
|
45
|
-
* text (`?` placeholders, value-independent); `params` are deferred value-specs (bc
|
|
46
|
-
* Expression IR) evaluated at runtime; `skip`, when present, is a bc presence expression
|
|
47
|
-
* evaluated at runtime (truthy ⇒ drop the whole statement).
|
|
48
|
-
*/
|
|
49
|
-
export interface StaticStatement {
|
|
50
|
-
/** Complete tuned SQL text (`?` placeholders). */
|
|
51
|
-
readonly sql: string;
|
|
52
|
-
/** Deferred value-specs — closed-set bc Expression IR, 1:1 with the top-level `?`. */
|
|
53
|
-
readonly params: readonly ValueSpec[];
|
|
54
|
-
/** Optional bc presence expression; truthy ⇒ the whole statement drops. */
|
|
55
|
-
readonly skip?: ValueSpec;
|
|
56
|
-
/**
|
|
57
|
-
* A WHERE-clause fragment: its `sql` is a bare predicate body (no leading connector). The
|
|
58
|
-
* runtime prepends ` WHERE ` to the FIRST present fragment and ` AND ` to each later one, so
|
|
59
|
-
* a skipped fragment never leaves a dangling connector. A statement WITHOUT this flag emits
|
|
60
|
-
* its `sql` verbatim.
|
|
61
|
-
*/
|
|
62
|
-
readonly whereFragment?: true;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* The static, portable compiled artifact of ONE authored behavior method (the read path).
|
|
66
|
-
* Pure JSON — every statement's `sql` is fixed text and its `params`/`skip` are bc Expression
|
|
67
|
-
* IR, so `JSON.stringify` round-trips losslessly and a per-language runtime can execute it
|
|
68
|
-
* with bc + a SQL driver alone.
|
|
69
|
-
*/
|
|
70
|
-
export interface StaticBundle {
|
|
71
|
-
readonly dialect: Dialect;
|
|
72
|
-
/** The behavior (component) name. */
|
|
73
|
-
readonly name: string;
|
|
74
|
-
/** Ordered `makeSQL` statement templates composed into the read query. */
|
|
75
|
-
readonly statements: readonly StaticStatement[];
|
|
76
|
-
/** Input heads normalized to present-as-null (absent-key SKIP; SSoT-driven). */
|
|
77
|
-
readonly optionalHeads: readonly string[];
|
|
78
|
-
}
|
|
79
|
-
type RefLike = ComponentRefNode | MapNode;
|
|
80
|
-
/**
|
|
81
|
-
* Compile ONE authored `Select` node into its static `makeSQL` statement templates:
|
|
82
|
-
* the head `SELECT … FROM t` fragment plus one guarded WHERE fragment per member, then the
|
|
83
|
-
* trailing GROUP BY / ORDER BY / LIMIT / OFFSET tail. The head + GROUP BY + ORDER BY TEXT is
|
|
84
|
-
* produced by the ORIGINAL `compileSelect` (which reproduces `_buildSelectSQL` byte-for-byte),
|
|
85
|
-
* never a v2 hand-roll. LIMIT/OFFSET are INLINE literals in v1; for the static bundle they are
|
|
86
|
-
* deferred value-specs bound as `?` (a portable equivalent a per-language runtime renders
|
|
87
|
-
* identically) — evaluated at runtime.
|
|
88
|
-
*/
|
|
89
|
-
export declare function compileSelectNode(node: RefLike, dialect: Dialect): StaticStatement[];
|
|
90
|
-
/**
|
|
91
|
-
* Compile the primary CRUD query of an authored behavior method into a {@link StaticBundle}.
|
|
92
|
-
* Relation `.map` nodes are NOT part of the primary bundle (they are the read-relations concern
|
|
93
|
-
* — step 3, still on the reduced spine). The compile is SYMBOLIC (no concrete input); the runtime
|
|
94
|
-
* ({@link executeStaticBundle} for reads / {@link executeStaticWrite} for writes) evaluates skip +
|
|
95
|
-
* value-specs per-input.
|
|
96
|
-
*/
|
|
97
|
-
export declare function compileStaticBundle(contract: BehaviorModelContract, dialect: Dialect, entry?: string): StaticBundle;
|
|
98
|
-
/** The minimal synchronous SQLite driver surface (better-sqlite3 `Database`). */
|
|
99
|
-
export interface SqliteDb {
|
|
100
|
-
prepare(sql: string): {
|
|
101
|
-
all(...params: unknown[]): unknown[];
|
|
102
|
-
run(...params: unknown[]): {
|
|
103
|
-
changes: number;
|
|
104
|
-
lastInsertRowid: number | bigint;
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Execute a {@link StaticBundle} read query end-to-end against real SQLite: normalize optional
|
|
110
|
-
* heads, evaluate skip + value-specs per-input, assemble present fragments, render, and run the
|
|
111
|
-
* SELECT. Returns the row list.
|
|
112
|
-
*/
|
|
113
|
-
export declare function executeStaticBundle(bundle: StaticBundle, input: Scope, db: SqliteDb): Record<string, unknown>[];
|
|
114
|
-
/**
|
|
115
|
-
* Execute a single-statement WRITE {@link StaticBundle} (Insert/Update/Delete) against real
|
|
116
|
-
* SQLite: evaluate the deferred value-specs per-input, render, and run the statement. A statement
|
|
117
|
-
* with a RETURNING tail returns its rows; a non-returning write returns a single-row summary
|
|
118
|
-
* `[{ changes, lastInsertRowid }]`. A driver error maps to a {@link SqlFailure} at the boundary.
|
|
119
|
-
* (A Command with write-time relations rides the tx-DAG plan of `./tx`, not this path.)
|
|
120
|
-
*/
|
|
121
|
-
export declare function executeStaticWrite(bundle: StaticBundle, input: Scope, db: SqliteDb): Record<string, unknown>[];
|
|
122
|
-
/**
|
|
123
|
-
* The compiled, portable READ graph of a behavior method (#12 de-surrogated): `compileBehaviors`'
|
|
124
|
-
* REAL `ComponentGraphIR` — the authored `Select`/`Count`/map nodes with their own ports (only
|
|
125
|
-
* additively annotated with read `outType`/`outputType`), NOT a hand-built `__makeSqlNode`/`__scope`
|
|
126
|
-
* surrogate — plus the per-node static `makeSQL` statement templates (opaque, v1-`DBConditions`-
|
|
127
|
-
* sourced SQL TEXT) keyed by the real body-node id, and the optional heads. Pure JSON —
|
|
128
|
-
* `JSON.stringify` round-trips, so every language runtime walks this real-node IR natively (topology
|
|
129
|
-
* from the real nodes, SQL from `statementsById`) with a SQL driver — never bc `runBehavior`.
|
|
130
|
-
*/
|
|
131
|
-
export interface ReadGraph {
|
|
132
|
-
readonly dialect: Dialect;
|
|
133
|
-
readonly name: string;
|
|
134
|
-
/** `compileBehaviors`' real `ComponentGraphIR` (real `Select`/`Count`/map nodes; outType-annotated). */
|
|
135
|
-
readonly ir: ComponentGraphIR;
|
|
136
|
-
/** Per-node static `makeSQL` statement templates (v1-sourced SQL text), keyed by real body node id. */
|
|
137
|
-
readonly statementsById: Record<string, readonly StaticStatement[]>;
|
|
138
|
-
/** Input heads normalized to present-as-null (absent-key SKIP; SSoT-driven). */
|
|
139
|
-
readonly optionalHeads: readonly string[];
|
|
140
|
-
/**
|
|
141
|
-
* TS read-path MATERIALIZERS (issue #59), per Select node: `column → MaterializeClass`. Present
|
|
142
|
-
* ONLY when a column-type resolver was supplied at compile (same gate as the `outType`
|
|
143
|
-
* annotations) — without it the read stays un-materialized (raw driver values), identical to the
|
|
144
|
-
* pre-#59 behavior. When present, the read handler coerces each raw row cell to the JS form the
|
|
145
|
-
* SQL column type declares (BIGINT→bigint, INT→number, DATE→string, BOOLEAN→boolean), consistent
|
|
146
|
-
* across sqlite/pg/mysql.
|
|
147
|
-
*/
|
|
148
|
-
readonly materializersByNode?: Record<string, Record<string, MaterializeClass>>;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Compile a READ behavior method into a portable {@link ReadGraph} (#12 de-surrogated): keep
|
|
152
|
-
* `compileBehaviors`' REAL `Select`/`Count`/map body nodes (only additively annotate each with its
|
|
153
|
-
* read `outType`), and compile each node's static `makeSQL` statements ONCE into the `statementsById`
|
|
154
|
-
* sidecar (keyed by the real body-node id). SYMBOLIC — no concrete input. The native walker
|
|
155
|
-
* ({@link executeReadGraph}) owns map iteration / wire binding / Φ output at execute time, rendering
|
|
156
|
-
* each node's statements against the walk scope — never bc `runBehavior`, never a `__scope` surrogate.
|
|
157
|
-
*/
|
|
158
|
-
export declare function compileReadGraph(contract: BehaviorModelContract, dialect: Dialect, entry?: string, findFilterModel?: FindFilterSource, resolveColumnType?: ColumnTypeResolver): ReadGraph;
|
|
159
|
-
/**
|
|
160
|
-
* Execute a compiled {@link ReadGraph} via the NATIVE walker (#12): walk `compileBehaviors`' REAL
|
|
161
|
-
* `Select`/`Count`/map node IR in `plan.groups` stage order — computing each node's rows from its
|
|
162
|
-
* `statementsById` fragments (rendered against the walk scope) and committing `(nodeId → value)` —
|
|
163
|
-
* then evaluate the component's `output` Φ expression. NO bc `runBehavior`, NO `__makeSqlNode`
|
|
164
|
-
* surrogate; litedbmodel owns map iteration / wire binding / Φ output. This is the SAME native
|
|
165
|
-
* orchestration model the rust/go/py/php runtimes follow — one shape, all 5 languages, interpreter-free.
|
|
166
|
-
*/
|
|
167
|
-
export declare function executeReadGraph(graph: ReadGraph, input: Scope, db: SqliteDb): Value;
|
|
168
|
-
/** An async driver seam: run a rendered `{ sql, params }` and resolve to result rows (#40). */
|
|
169
|
-
export type SqlExecutorAsync = (sql: string, params: unknown[]) => Promise<Record<string, unknown>[]>;
|
|
170
|
-
/**
|
|
171
|
-
* Async twin of {@link executeReadGraph} — the live PG / MySQL execution model (#40). Byte-identical
|
|
172
|
-
* composition (SAME real-node IR, SAME per-node SQL text + params, SAME Φ output); within a plan stage
|
|
173
|
-
* the INDEPENDENT sibling nodes are dispatched concurrently against the pooled async executor (each
|
|
174
|
-
* `exec` resolving on its own pooled connection), and a map node's per-element queries fan out in
|
|
175
|
-
* bounded parallel. The result is deterministic (stage outcomes commit in declaration order), so it
|
|
176
|
-
* equals the serial `executeReadGraph` output exactly; only the wall-clock changes.
|
|
177
|
-
*/
|
|
178
|
-
export declare function executeReadGraphAsync(graph: ReadGraph, input: Scope, exec: SqlExecutorAsync): Promise<Value>;
|
|
179
|
-
/**
|
|
180
|
-
* Convenience: compile + execute a READ behavior method whose output may be a Φ-merge of SQL
|
|
181
|
-
* nodes (including relation `.map` nodes). Equivalent to `executeReadGraph(compileReadGraph(...))`.
|
|
182
|
-
*/
|
|
183
|
-
export declare function executeReadBehavior(contract: BehaviorModelContract, input: Scope, dialect: Dialect, db: SqliteDb, entry?: string): Value;
|
|
184
|
-
/**
|
|
185
|
-
* Render the PRIMARY read node's statements of a {@link ReadGraph} against an input scope to its
|
|
186
|
-
* dialect SQL text + bound params (the render axis for conformance golden). The primary node is
|
|
187
|
-
* the first non-map body node (the root SELECT the relations map over). Optional heads are
|
|
188
|
-
* normalized to present-as-null first (absent-key SKIP), so an omitted optional head renders the
|
|
189
|
-
* SAME text a runtime would produce.
|
|
190
|
-
*/
|
|
191
|
-
export declare function renderReadPrimary(graph: ReadGraph, input: Scope): {
|
|
192
|
-
sql: string;
|
|
193
|
-
params: unknown[];
|
|
194
|
-
};
|
|
195
|
-
export {};
|
|
196
|
-
//# sourceMappingURL=static-bundle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static-bundle.d.ts","sourceRoot":"","sources":["../../../src/scp/makesql/static-bundle.ts"],"names":[],"mappings":"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"}
|