@bjornpagen/bumbledb 1.3.0 → 1.3.1
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/COOKBOOK.md +72 -19
- package/README.md +9 -6
- package/dist/changes.d.ts +0 -1
- package/dist/changes.d.ts.map +1 -1
- package/dist/changes.js +2 -8
- package/dist/changes.js.map +1 -1
- package/dist/codec.d.ts +8 -1
- package/dist/codec.d.ts.map +1 -1
- package/dist/codec.js +29 -2
- package/dist/codec.js.map +1 -1
- package/dist/db-native.d.ts +2 -9
- package/dist/db-native.d.ts.map +1 -1
- package/dist/db-native.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/log.d.ts +4 -4
- package/dist/internal/log.d.ts.map +1 -1
- package/dist/internal/log.js +2 -2
- package/dist/internal/log.js.map +1 -1
- package/dist/native.d.ts +9 -9
- package/dist/native.d.ts.map +1 -1
- package/dist/query/compute.d.ts +3 -3
- package/dist/query/compute.d.ts.map +1 -1
- package/dist/query/compute.js +3 -12
- package/dist/query/compute.js.map +1 -1
- package/dist/query/description.js +4 -4
- package/dist/query/description.js.map +1 -1
- package/dist/query/lower.d.ts +11 -2
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +31 -26
- package/dist/query/lower.js.map +1 -1
- package/dist/query/parse-ir.d.ts.map +1 -1
- package/dist/query/parse-ir.js +4 -4
- package/dist/query/parse-ir.js.map +1 -1
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +6 -1
- package/dist/query/scope.js.map +1 -1
- package/dist/runtime-codes.d.ts +1 -1
- package/dist/runtime-codes.d.ts.map +1 -1
- package/dist/runtime-codes.js +1 -0
- package/dist/runtime-codes.js.map +1 -1
- package/dist/runtime-errors.d.ts +23 -3
- package/dist/runtime-errors.d.ts.map +1 -1
- package/dist/runtime-errors.js +16 -3
- package/dist/runtime-errors.js.map +1 -1
- package/dist/runtime-native.d.ts +3 -8
- package/dist/runtime-native.d.ts.map +1 -1
- package/dist/runtime-native.js.map +1 -1
- package/dist/runtime.d.ts +0 -23
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +0 -36
- package/dist/runtime.js.map +1 -1
- package/dist/scalar.d.ts +34 -104
- package/dist/scalar.d.ts.map +1 -1
- package/dist/scalar.js +12 -177
- package/dist/scalar.js.map +1 -1
- package/dist/schema-file.d.ts +7 -0
- package/dist/schema-file.d.ts.map +1 -0
- package/dist/schema-file.js +24 -0
- package/dist/schema-file.js.map +1 -0
- package/pack-provenance.json +4 -4
- package/package.json +4 -4
- package/src/changes.ts +2 -8
- package/src/codec.ts +43 -3
- package/src/db-native.ts +2 -10
- package/src/index.ts +11 -5
- package/src/internal/log.ts +2 -4
- package/src/native.ts +7 -7
- package/src/query/compute.ts +6 -15
- package/src/query/description.ts +4 -4
- package/src/query/lower.ts +56 -25
- package/src/query/parse-ir.ts +6 -4
- package/src/query/scope.ts +8 -1
- package/src/runtime-codes.ts +1 -0
- package/src/runtime-errors.ts +16 -3
- package/src/runtime-native.ts +1 -9
- package/src/runtime.ts +1 -70
- package/src/scalar.ts +49 -329
- package/src/schema-file.ts +38 -0
- package/dist/migration.d.ts +0 -31
- package/dist/migration.d.ts.map +0 -1
- package/dist/migration.js +0 -47
- package/dist/migration.js.map +0 -1
- package/src/migration.ts +0 -61
package/dist/scalar.js
CHANGED
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* operator roster, parameterized by {@link ScalarLeafScope}. TypeScript never
|
|
4
|
-
* evaluates — the native compiler binds source fields and the engine
|
|
5
|
-
* `ScalarEvaluator` executes. Construction is constant work against cached
|
|
6
|
-
* depth/kind summaries; it does not re-walk the tree.
|
|
7
|
-
*
|
|
8
|
-
* Query-var leaves carry a known schema kind. Source-field leaves stay
|
|
9
|
-
* `unresolved` until native snapshot binding. A result kind is recorded only
|
|
10
|
-
* when it is derivable from known operands; otherwise it stays unresolved.
|
|
11
|
-
* Known incompatible kinds refuse here. Unresolved trees are inert metadata,
|
|
12
|
-
* not typechecked programs.
|
|
13
|
-
*
|
|
14
|
-
* Wire spellings (the grammar arms, not a second flattened interpretation):
|
|
15
|
-
* migration plan JSON — field/literal/operator nodes; one-arm literals (`{ u64: n }`)
|
|
16
|
-
* query IR — `{ kind: "literal", value: ValueSpec }` via `literalWireOf`
|
|
17
|
-
*/
|
|
1
|
+
/** Query scalar nodes, with cached kind and depth. Construction is constant
|
|
2
|
+
* work; native preparation binds variables and evaluates the expressions. */
|
|
18
3
|
import { AuthoringError } from "#errors.ts";
|
|
19
4
|
const MAX_SCALAR_DEPTH = 128;
|
|
20
5
|
const U64_MAX = (1n << 64n) - 1n;
|
|
@@ -93,37 +78,17 @@ function assertNumeric(where, kind) {
|
|
|
93
78
|
function assertSameKind(where, left, right) {
|
|
94
79
|
if (left !== right) {
|
|
95
80
|
throw new AuthoringError({
|
|
96
|
-
message: `${where}: operand kinds differ (${left} vs ${right}) — the engine has no mixed promotion; cast explicitly (
|
|
81
|
+
message: `${where}: operand kinds differ (${left} vs ${right}) — the engine has no mixed promotion; cast explicitly (Compute.toF64/ toF64Exact/ toI64Exact/ toU64Exact)`
|
|
97
82
|
});
|
|
98
83
|
}
|
|
99
84
|
return left;
|
|
100
85
|
}
|
|
101
|
-
function assertScope(where, left, right) {
|
|
102
|
-
if (left.scope !== right.scope) {
|
|
103
|
-
throw new AuthoringError({
|
|
104
|
-
message: `${where}: leaf scopes differ (${left.scope} vs ${right.scope}) — query-var and source-field trees do not mix`
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
return left.scope;
|
|
108
|
-
}
|
|
109
86
|
function combineNumeric(where, left, right) {
|
|
110
|
-
if (left === "unresolved" || right === "unresolved") {
|
|
111
|
-
if (left !== "unresolved") {
|
|
112
|
-
assertNumeric(where, left);
|
|
113
|
-
}
|
|
114
|
-
if (right !== "unresolved") {
|
|
115
|
-
assertNumeric(where, right);
|
|
116
|
-
}
|
|
117
|
-
return "unresolved";
|
|
118
|
-
}
|
|
119
87
|
assertNumeric(where, left);
|
|
120
88
|
assertNumeric(where, right);
|
|
121
89
|
return assertSameKind(where, left, right);
|
|
122
90
|
}
|
|
123
91
|
function negateKind(where, inner) {
|
|
124
|
-
if (inner === "unresolved") {
|
|
125
|
-
return "unresolved";
|
|
126
|
-
}
|
|
127
92
|
if (inner !== "i64" && inner !== "f64") {
|
|
128
93
|
throw new AuthoringError({
|
|
129
94
|
message: `${where}: the operand is ${inner} — negation is defined over i64 and f64 only`
|
|
@@ -132,70 +97,39 @@ function negateKind(where, inner) {
|
|
|
132
97
|
return inner;
|
|
133
98
|
}
|
|
134
99
|
function assertCastOperand(where, inner) {
|
|
135
|
-
if (inner === "unresolved") {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
100
|
assertNumeric(where, inner);
|
|
139
101
|
}
|
|
140
102
|
function assertFloatOperand(where, inner) {
|
|
141
|
-
if (inner === "unresolved") {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
103
|
if (inner !== "f64") {
|
|
145
104
|
throw new AuthoringError({ message: `${where}: the operand is ${inner} — the float predicates read f64` });
|
|
146
105
|
}
|
|
147
106
|
}
|
|
148
107
|
function isScalarNode(value) {
|
|
149
|
-
return
|
|
150
|
-
value !== null &&
|
|
151
|
-
"kind" in value &&
|
|
152
|
-
"scope" in value &&
|
|
153
|
-
"result" in value &&
|
|
154
|
-
"depth" in value);
|
|
155
|
-
}
|
|
156
|
-
function isUnresolvedScalar(node) {
|
|
157
|
-
return node.result === "unresolved";
|
|
158
|
-
}
|
|
159
|
-
/** Source-field leaf — unresolved until L14 binds it against the verified snapshot. */
|
|
160
|
-
function sourceField(name) {
|
|
161
|
-
if (typeof name !== "string" || name.length === 0) {
|
|
162
|
-
throw new AuthoringError({ message: "scalar field(...) names a nonempty source field" });
|
|
163
|
-
}
|
|
164
|
-
return admit("Scalar.field", {
|
|
165
|
-
kind: "field",
|
|
166
|
-
name,
|
|
167
|
-
scope: "source-field",
|
|
168
|
-
result: "unresolved",
|
|
169
|
-
depth: 1
|
|
170
|
-
});
|
|
108
|
+
return typeof value === "object" && value !== null && "kind" in value && "result" in value && "depth" in value;
|
|
171
109
|
}
|
|
172
110
|
/** Query-var leaf — kind is the variable's schema kind, already known. */
|
|
173
111
|
function queryVarLeaf(ref, kind) {
|
|
174
|
-
return admit("
|
|
112
|
+
return admit("Compute.variable", {
|
|
175
113
|
kind: "var",
|
|
176
114
|
ref,
|
|
177
|
-
scope: "query-var",
|
|
178
115
|
result: kind,
|
|
179
116
|
depth: 1
|
|
180
117
|
});
|
|
181
118
|
}
|
|
182
|
-
function scalarLiteral(
|
|
119
|
+
function scalarLiteral(value) {
|
|
183
120
|
const kind = literalKindOf(value);
|
|
184
|
-
return admit("
|
|
121
|
+
return admit("Compute.literal", {
|
|
185
122
|
kind: "literal",
|
|
186
123
|
value: literalValue(value),
|
|
187
|
-
scope,
|
|
188
124
|
result: kind,
|
|
189
125
|
depth: 1
|
|
190
126
|
});
|
|
191
127
|
}
|
|
192
128
|
function scalarBinary(where, op, left, right) {
|
|
193
|
-
const scope = assertScope(where, left, right);
|
|
194
129
|
return admit(where, {
|
|
195
130
|
kind: op,
|
|
196
131
|
left,
|
|
197
132
|
right,
|
|
198
|
-
scope,
|
|
199
133
|
result: combineNumeric(where, left.result, right.result),
|
|
200
134
|
depth: Math.max(left.depth, right.depth) + 1
|
|
201
135
|
});
|
|
@@ -206,12 +140,8 @@ function roundingMode(value) {
|
|
|
206
140
|
return value;
|
|
207
141
|
}
|
|
208
142
|
function scalarMulDiv(where, a, b, divisor, rounding) {
|
|
209
|
-
const scope = assertScope(where, a, b);
|
|
210
|
-
assertScope(where, a, divisor);
|
|
211
143
|
let known;
|
|
212
144
|
for (const operand of [a, b, divisor]) {
|
|
213
|
-
if (operand.result === "unresolved")
|
|
214
|
-
continue;
|
|
215
145
|
if ((operand.result !== "i64" && operand.result !== "u64") || (known !== undefined && known !== operand.result))
|
|
216
146
|
throw new AuthoringError({ message: `${where}: operands must have one matching integer kind` });
|
|
217
147
|
known = operand.result;
|
|
@@ -222,22 +152,18 @@ function scalarMulDiv(where, a, b, divisor, rounding) {
|
|
|
222
152
|
b,
|
|
223
153
|
divisor,
|
|
224
154
|
rounding: roundingMode(rounding),
|
|
225
|
-
|
|
226
|
-
result: a.result === "unresolved" || b.result === "unresolved" || divisor.result === "unresolved"
|
|
227
|
-
? "unresolved"
|
|
228
|
-
: a.result,
|
|
155
|
+
result: a.result,
|
|
229
156
|
depth: Math.max(a.depth, b.depth, divisor.depth) + 1
|
|
230
157
|
});
|
|
231
158
|
}
|
|
232
159
|
function scalarMeasure(where, expr) {
|
|
233
160
|
const kind = expr.result;
|
|
234
|
-
if (kind !== "
|
|
161
|
+
if (kind !== "intervalU64" && kind !== "intervalI64" && kind !== "intervalF64")
|
|
235
162
|
throw new AuthoringError({ message: `${where}: measure requires an interval` });
|
|
236
163
|
return admit(where, {
|
|
237
164
|
kind: "measure",
|
|
238
165
|
expr,
|
|
239
|
-
|
|
240
|
-
result: { unresolved: "unresolved", intervalF64: "f64", intervalI64: "u64", intervalU64: "u64" }[kind],
|
|
166
|
+
result: { intervalF64: "f64", intervalI64: "u64", intervalU64: "u64" }[kind],
|
|
241
167
|
depth: expr.depth + 1
|
|
242
168
|
});
|
|
243
169
|
}
|
|
@@ -245,7 +171,6 @@ function scalarNegate(where, expr) {
|
|
|
245
171
|
return admit(where, {
|
|
246
172
|
kind: "negate",
|
|
247
173
|
expr,
|
|
248
|
-
scope: expr.scope,
|
|
249
174
|
result: negateKind(where, expr.result),
|
|
250
175
|
depth: expr.depth + 1
|
|
251
176
|
});
|
|
@@ -256,7 +181,6 @@ function scalarCast(where, cast, result, expr) {
|
|
|
256
181
|
kind: "cast",
|
|
257
182
|
cast,
|
|
258
183
|
expr,
|
|
259
|
-
scope: expr.scope,
|
|
260
184
|
result,
|
|
261
185
|
depth: expr.depth + 1
|
|
262
186
|
});
|
|
@@ -266,7 +190,6 @@ function scalarFloatPredicate(where, op, expr) {
|
|
|
266
190
|
return admit(where, {
|
|
267
191
|
kind: op,
|
|
268
192
|
expr,
|
|
269
|
-
scope: expr.scope,
|
|
270
193
|
result: "bool",
|
|
271
194
|
depth: expr.depth + 1
|
|
272
195
|
});
|
|
@@ -302,81 +225,15 @@ function queryVarsOf(node) {
|
|
|
302
225
|
case "divide":
|
|
303
226
|
pending.push(next.left, next.right);
|
|
304
227
|
break;
|
|
305
|
-
default:
|
|
306
|
-
throw new AuthoringError({
|
|
307
|
-
message: "queryVarsOf: a query-var tree cannot carry a source-field leaf"
|
|
308
|
-
});
|
|
309
228
|
}
|
|
310
229
|
}
|
|
311
230
|
return vars;
|
|
312
231
|
}
|
|
313
|
-
|
|
314
|
-
return sourceField(name);
|
|
315
|
-
}
|
|
316
|
-
function literal(value) {
|
|
317
|
-
return scalarLiteral("source-field", value);
|
|
318
|
-
}
|
|
319
|
-
function u64(value) {
|
|
320
|
-
checkU64(value, "Scalar.u64");
|
|
321
|
-
return scalarLiteral("source-field", { u64: value });
|
|
322
|
-
}
|
|
323
|
-
function i64(value) {
|
|
324
|
-
checkI64(value, "Scalar.i64");
|
|
325
|
-
return scalarLiteral("source-field", { i64: value });
|
|
326
|
-
}
|
|
327
|
-
function f64(value) {
|
|
328
|
-
checkF64(value, "Scalar.f64");
|
|
329
|
-
return scalarLiteral("source-field", { f64: value });
|
|
330
|
-
}
|
|
331
|
-
function bool(value) {
|
|
332
|
-
checkBool(value, "Scalar.bool");
|
|
333
|
-
return scalarLiteral("source-field", { bool: value });
|
|
334
|
-
}
|
|
335
|
-
function negate(expr) {
|
|
336
|
-
return scalarNegate("Scalar.negate", expr);
|
|
337
|
-
}
|
|
338
|
-
function add(left, right) {
|
|
339
|
-
return scalarBinary("Scalar.add", "add", left, right);
|
|
340
|
-
}
|
|
341
|
-
function subtract(left, right) {
|
|
342
|
-
return scalarBinary("Scalar.subtract", "subtract", left, right);
|
|
343
|
-
}
|
|
344
|
-
function multiply(left, right) {
|
|
345
|
-
return scalarBinary("Scalar.multiply", "multiply", left, right);
|
|
346
|
-
}
|
|
347
|
-
function divide(left, right) {
|
|
348
|
-
return scalarBinary("Scalar.divide", "divide", left, right);
|
|
349
|
-
}
|
|
350
|
-
function mulDiv(a, b, divisor, rounding) {
|
|
351
|
-
return scalarMulDiv("Scalar.mulDiv", a, b, divisor, rounding);
|
|
352
|
-
}
|
|
353
|
-
function measure(expr) {
|
|
354
|
-
return scalarMeasure("Scalar.measure", expr);
|
|
355
|
-
}
|
|
356
|
-
function toF64(expr) {
|
|
357
|
-
return scalarCast("Scalar.toF64", "toF64", "f64", expr);
|
|
358
|
-
}
|
|
359
|
-
function toF64Exact(expr) {
|
|
360
|
-
return scalarCast("Scalar.toF64Exact", "toF64Exact", "f64", expr);
|
|
361
|
-
}
|
|
362
|
-
function toI64Exact(expr) {
|
|
363
|
-
return scalarCast("Scalar.toI64Exact", "toI64Exact", "i64", expr);
|
|
364
|
-
}
|
|
365
|
-
function toU64Exact(expr) {
|
|
366
|
-
return scalarCast("Scalar.toU64Exact", "toU64Exact", "u64", expr);
|
|
367
|
-
}
|
|
368
|
-
function isNaNExpr(expr) {
|
|
369
|
-
return scalarFloatPredicate("Scalar.isNaN", "isNaN", expr);
|
|
370
|
-
}
|
|
371
|
-
function isFiniteExpr(expr) {
|
|
372
|
-
return scalarFloatPredicate("Scalar.isFinite", "isFinite", expr);
|
|
373
|
-
}
|
|
374
|
-
/** One lowering walk for query variables and row-field bindings. */
|
|
232
|
+
/** Lower each query variable through its existing binding. */
|
|
375
233
|
function scalarWire(node, leaf) {
|
|
376
234
|
const walk = (expr) => scalarWire(expr, leaf);
|
|
377
235
|
switch (node.kind) {
|
|
378
236
|
case "var":
|
|
379
|
-
case "field":
|
|
380
237
|
return { kind: "var", var: leaf(node) };
|
|
381
238
|
case "literal":
|
|
382
239
|
return { kind: "literal", value: literalWireOf(node.value) };
|
|
@@ -396,27 +253,5 @@ function scalarWire(node, leaf) {
|
|
|
396
253
|
return { kind: node.kind, left: walk(node.left), right: walk(node.right) };
|
|
397
254
|
}
|
|
398
255
|
}
|
|
399
|
-
|
|
400
|
-
const Scalar = Object.freeze({
|
|
401
|
-
field,
|
|
402
|
-
literal,
|
|
403
|
-
u64,
|
|
404
|
-
i64,
|
|
405
|
-
f64,
|
|
406
|
-
bool,
|
|
407
|
-
negate,
|
|
408
|
-
add,
|
|
409
|
-
subtract,
|
|
410
|
-
multiply,
|
|
411
|
-
divide,
|
|
412
|
-
mulDiv,
|
|
413
|
-
measure,
|
|
414
|
-
toF64,
|
|
415
|
-
toF64Exact,
|
|
416
|
-
toI64Exact,
|
|
417
|
-
toU64Exact,
|
|
418
|
-
isNaN: isNaNExpr,
|
|
419
|
-
isFinite: isFiniteExpr
|
|
420
|
-
});
|
|
421
|
-
export { assertDepth, assertNumeric, assertSameKind, checkBool, checkF64, checkI64, checkU64, isScalarNode, isUnresolvedScalar, literalKindOf, literalValue, literalWireOf, MAX_SCALAR_DEPTH, queryVarLeaf, queryVarsOf, roundingMode, Scalar, scalarAuthoringWork, scalarBinary, scalarCast, scalarFloatPredicate, scalarLiteral, scalarMeasure, scalarMulDiv, scalarNegate, scalarWire };
|
|
256
|
+
export { assertDepth, assertNumeric, assertSameKind, checkBool, checkF64, checkI64, checkU64, isScalarNode, literalKindOf, literalValue, literalWireOf, MAX_SCALAR_DEPTH, queryVarLeaf, queryVarsOf, roundingMode, scalarAuthoringWork, scalarBinary, scalarCast, scalarFloatPredicate, scalarLiteral, scalarMeasure, scalarMulDiv, scalarNegate, scalarWire };
|
|
422
257
|
//# sourceMappingURL=scalar.js.map
|
package/dist/scalar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { DbError } from "./runtime-errors.js";
|
|
3
|
+
import type { SchemaSpec } from "./spec.js";
|
|
4
|
+
declare const internalSchemaSnapshot: (spec: SchemaSpec) => Effect.Effect<string, DbError, import("./runtime.js").NativeRuntime>;
|
|
5
|
+
declare const internalSchemaBindings: (snapshot: string) => Effect.Effect<string, DbError, import("./runtime.js").NativeRuntime>;
|
|
6
|
+
export { internalSchemaBindings, internalSchemaSnapshot };
|
|
7
|
+
//# sourceMappingURL=schema-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-file.d.ts","sourceRoot":"","sources":["../src/schema-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAS1C,QAAA,MAAM,sBAAsB,2FAQ1B,CAAA;AAEF,QAAA,MAAM,sBAAsB,2FAY1B,CAAA;AAEF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { dbNative } from "#db-native.ts";
|
|
3
|
+
import { nativeOperationWith, runtimeHandle } from "#runtime.ts";
|
|
4
|
+
import { DbError, dbError } from "#runtime-errors.ts";
|
|
5
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
6
|
+
function text(operation, bytes) {
|
|
7
|
+
if (bytes === null)
|
|
8
|
+
throw dbError(operation, { _tag: "Internal" });
|
|
9
|
+
return decoder.decode(bytes);
|
|
10
|
+
}
|
|
11
|
+
const internalSchemaSnapshot = Effect.fn("internalSchemaSnapshot")(function* (spec) {
|
|
12
|
+
const runtime = yield* runtimeHandle();
|
|
13
|
+
return yield* nativeOperationWith("internalSchemaSnapshot", (callback) => dbNative.runtimeSchemaSnapshot(runtime, spec, callback), dbNative.runtimeBytesTake, (bytes) => text("internalSchemaSnapshot", bytes));
|
|
14
|
+
});
|
|
15
|
+
const internalSchemaBindings = Effect.fn("internalSchemaBindings")(function* (snapshot) {
|
|
16
|
+
if (typeof snapshot !== "string" || !snapshot.isWellFormed()) {
|
|
17
|
+
return yield* Effect.fail(new DbError({ operation: "internalSchemaBindings", reason: { _tag: "InvalidArgument" } }));
|
|
18
|
+
}
|
|
19
|
+
const runtime = yield* runtimeHandle();
|
|
20
|
+
const bytes = new TextEncoder().encode(snapshot);
|
|
21
|
+
return yield* nativeOperationWith("internalSchemaBindings", (callback) => dbNative.runtimeSchemaBindings(runtime, bytes, callback), dbNative.runtimeBytesTake, (bytes) => text("internalSchemaBindings", bytes));
|
|
22
|
+
});
|
|
23
|
+
export { internalSchemaBindings, internalSchemaSnapshot };
|
|
24
|
+
//# sourceMappingURL=schema-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-file.js","sourceRoot":"","sources":["../src/schema-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAGrD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAEzD,SAAS,IAAI,CAAC,SAAiB,EAAE,KAAwB;IACxD,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAgB;IAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,EAAE,CAAA;IACtC,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAChC,wBAAwB,EACxB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EACrE,QAAQ,CAAC,gBAAgB,EACzB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAChD,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAgB;IAC7F,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAA;IACrH,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChD,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAChC,wBAAwB,EACxB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EACtE,QAAQ,CAAC,gBAAgB,EACzB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAChD,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAA"}
|
package/pack-provenance.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"candidateSourceDigest": "
|
|
3
|
-
"specificationRevision": "
|
|
4
|
-
"stagedAt": "2026-09-
|
|
2
|
+
"candidateSourceDigest": "7109ef17978c17a195301260c8b4cd2736ce785646c46c61d61bf7850c4299da",
|
|
3
|
+
"specificationRevision": "91f64ebf5ccf285a072aeff41ca364d1e837259e4273f9be12a0a5959c38a45e",
|
|
4
|
+
"stagedAt": "2026-09-12T00:04:00.990Z",
|
|
5
5
|
"package": "@bjornpagen/bumbledb",
|
|
6
|
-
"version": "1.3.
|
|
6
|
+
"version": "1.3.1"
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bjornpagen/bumbledb",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Effect-native embedded relational database for TypeScript: typed schemas and queries, exact floats, commit-time constraints",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
},
|
|
58
58
|
"private": false,
|
|
59
59
|
"optionalDependencies": {
|
|
60
|
-
"@bjornpagen/bumbledb-darwin-arm64": "1.3.
|
|
61
|
-
"@bjornpagen/bumbledb-linux-arm64": "1.3.
|
|
62
|
-
"@bjornpagen/bumbledb-linux-x64": "1.3.
|
|
60
|
+
"@bjornpagen/bumbledb-darwin-arm64": "1.3.1",
|
|
61
|
+
"@bjornpagen/bumbledb-linux-arm64": "1.3.1",
|
|
62
|
+
"@bjornpagen/bumbledb-linux-x64": "1.3.1"
|
|
63
63
|
}
|
|
64
64
|
}
|
package/src/changes.ts
CHANGED
|
@@ -93,7 +93,6 @@ interface DraftState {
|
|
|
93
93
|
interface ChangesInternal {
|
|
94
94
|
readonly handle: ChangesHandle
|
|
95
95
|
readonly schemaId: SchemaId
|
|
96
|
-
closed: boolean
|
|
97
96
|
}
|
|
98
97
|
|
|
99
98
|
const changesInternals = new WeakMap<object, ChangesInternal>()
|
|
@@ -320,7 +319,6 @@ function acquireChanges<S extends AnySchema>(
|
|
|
320
319
|
Effect.suspend(() => {
|
|
321
320
|
const internal = changesInternals.get(changes)
|
|
322
321
|
if (internal === undefined) return Effect.void
|
|
323
|
-
internal.closed = true
|
|
324
322
|
return releaseOwner("ChangeSet.close", (callback) => dbNative.runtimeChangesClose(internal.handle, callback))
|
|
325
323
|
}),
|
|
326
324
|
{ interruptible: true }
|
|
@@ -330,7 +328,7 @@ function acquireChanges<S extends AnySchema>(
|
|
|
330
328
|
function makeChangeSet<S extends AnySchema>(theory: S, wire: ChangesWire, schemaId: SchemaId): ChangeSet<S> {
|
|
331
329
|
const handle = wire.changes
|
|
332
330
|
const relations = Object.values(theory.relations)
|
|
333
|
-
const internal: ChangesInternal = { handle, schemaId
|
|
331
|
+
const internal: ChangesInternal = { handle, schemaId }
|
|
334
332
|
const value: ChangeSet<S> = {
|
|
335
333
|
schemaId,
|
|
336
334
|
counts: Object.freeze({ ...wire.counts }),
|
|
@@ -351,7 +349,6 @@ function makeChangeSet<S extends AnySchema>(theory: S, wire: ChangesWire, schema
|
|
|
351
349
|
const right = internalChanges(other)
|
|
352
350
|
if (right === undefined || right.schemaId !== schemaId)
|
|
353
351
|
return Effect.fail(refusal("ChangeSet.compose", "InvalidArgument"))
|
|
354
|
-
if (internal.closed || right.closed) return Effect.fail(refusal("ChangeSet.compose", "ClosedHandle"))
|
|
355
352
|
return acquireChanges(
|
|
356
353
|
theory,
|
|
357
354
|
schemaId,
|
|
@@ -365,10 +362,7 @@ function makeChangeSet<S extends AnySchema>(theory: S, wire: ChangesWire, schema
|
|
|
365
362
|
})
|
|
366
363
|
},
|
|
367
364
|
close() {
|
|
368
|
-
return
|
|
369
|
-
internal.closed = true
|
|
370
|
-
return drainClose("ChangeSet.close", (callback) => dbNative.runtimeChangesClose(handle, callback))
|
|
371
|
-
})
|
|
365
|
+
return drainClose("ChangeSet.close", (callback) => dbNative.runtimeChangesClose(handle, callback))
|
|
372
366
|
}
|
|
373
367
|
}
|
|
374
368
|
Object.freeze(value)
|
package/src/codec.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { membersAgree } from "#closed.ts"
|
|
|
3
3
|
import { schemaTables } from "#compile.ts"
|
|
4
4
|
import { dbNative } from "#db-native.ts"
|
|
5
5
|
import { AuthoringError } from "#errors.ts"
|
|
6
|
-
import type
|
|
6
|
+
import { type AnyField, fieldDescriptor, type Infer } from "#fields.ts"
|
|
7
7
|
import { lower } from "#lower.ts"
|
|
8
8
|
import { type AnyRelation, type Fact, relationDescriptor, relationFields } from "#relation.ts"
|
|
9
9
|
import type { CellValue } from "#rows.ts"
|
|
@@ -141,7 +141,8 @@ function decodeTaggedF64(value: unknown): number | undefined {
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
/** Decode representation, then judge the value through the shared interpreter. */
|
|
144
|
-
function decodeBoundaryValue(context: string, field:
|
|
144
|
+
function decodeBoundaryValue<F extends AnyField>(context: string, field: F, input: unknown): Infer<F>
|
|
145
|
+
function decodeBoundaryValue(context: string, field: AnyField, input: unknown): Infer<AnyField> {
|
|
145
146
|
if ("closed" in field) return fieldValue(context, field, input)
|
|
146
147
|
let decoded: unknown = input
|
|
147
148
|
switch (field.kind) {
|
|
@@ -167,6 +168,35 @@ function decodeBoundaryValue(context: string, field: AnyField, input: unknown):
|
|
|
167
168
|
return fieldValue(context, field, decoded)
|
|
168
169
|
}
|
|
169
170
|
|
|
171
|
+
/** The host-value schema, using the same interpreter as facts and row codecs. */
|
|
172
|
+
function fieldSchema<F extends AnyField>(field: F) {
|
|
173
|
+
const descriptor = fieldDescriptor("fieldSchema", field)
|
|
174
|
+
return EffectSchema.declare((value: unknown): value is Infer<F> => {
|
|
175
|
+
try {
|
|
176
|
+
fieldValue("fieldSchema", descriptor, value)
|
|
177
|
+
return true
|
|
178
|
+
} catch {
|
|
179
|
+
return false
|
|
180
|
+
}
|
|
181
|
+
})
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/** Encode one field's host value in the canonical JSON-boundary form. */
|
|
185
|
+
function encodeBoundaryField<F extends AnyField>(field: F, value: Infer<F>): Result.Result<unknown, DbError> {
|
|
186
|
+
return Result.try({
|
|
187
|
+
try: () => encodeBoundaryValue("encodeBoundaryField", fieldDescriptor("encodeBoundaryField", field), value),
|
|
188
|
+
catch: (cause) => argumentError("encodeBoundaryField", cause)
|
|
189
|
+
})
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/** Strict JSON-boundary decoding, returning the field's canonical host value. */
|
|
193
|
+
function decodeBoundaryField<F extends AnyField>(field: F, input: unknown): Result.Result<Infer<F>, DbError> {
|
|
194
|
+
return Result.try({
|
|
195
|
+
try: () => decodeBoundaryValue("decodeBoundaryField", fieldDescriptor("decodeBoundaryField", field), input),
|
|
196
|
+
catch: (cause) => argumentError("decodeBoundaryField", cause)
|
|
197
|
+
})
|
|
198
|
+
}
|
|
199
|
+
|
|
170
200
|
/** Pure schema-tagged JSON encoding of complete rows. */
|
|
171
201
|
function encodeBoundaryRows<R extends AnyRelation>(
|
|
172
202
|
relation: R,
|
|
@@ -286,4 +316,14 @@ const decodeRows = Effect.fn("decodeRows")(function* <R extends AnyRelation>(sha
|
|
|
286
316
|
})
|
|
287
317
|
|
|
288
318
|
export type { RowShape }
|
|
289
|
-
export {
|
|
319
|
+
export {
|
|
320
|
+
decodeBoundaryField,
|
|
321
|
+
decodeBoundaryRows,
|
|
322
|
+
decodeRows,
|
|
323
|
+
encodeBoundaryField,
|
|
324
|
+
encodeBoundaryRows,
|
|
325
|
+
encodeRows,
|
|
326
|
+
fieldSchema,
|
|
327
|
+
rowSchema,
|
|
328
|
+
rowShape
|
|
329
|
+
}
|
package/src/db-native.ts
CHANGED
|
@@ -226,16 +226,8 @@ interface DbBridge {
|
|
|
226
226
|
bytes: Uint8Array,
|
|
227
227
|
callback: () => void
|
|
228
228
|
): OperationHandle
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
* Read-only migration-codec integration over native `schema_file` and
|
|
232
|
-
* `migration::{plan, manifest}` through the shared executor: bounded
|
|
233
|
-
* owned input, bounded owned JSON response bytes, one registered
|
|
234
|
-
* cancellable operation. Neither verb opens, initializes, freezes or
|
|
235
|
-
* migrates a database.
|
|
236
|
-
*/
|
|
237
|
-
runtimeMigrationSchema(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle
|
|
238
|
-
runtimeMigrationRead(runtime: RuntimeHandle, request: Uint8Array, callback: () => void): OperationHandle
|
|
229
|
+
runtimeSchemaSnapshot(runtime: RuntimeHandle, spec: SchemaSpec, callback: () => void): OperationHandle
|
|
230
|
+
runtimeSchemaBindings(runtime: RuntimeHandle, snapshot: Uint8Array, callback: () => void): OperationHandle
|
|
239
231
|
}
|
|
240
232
|
|
|
241
233
|
// The fresh-addon roster test pins this private declaration exactly as it
|
package/src/index.ts
CHANGED
|
@@ -28,7 +28,17 @@ export type {
|
|
|
28
28
|
} from "#closed.ts"
|
|
29
29
|
export { closed, closedId } from "#closed.ts"
|
|
30
30
|
export type { RowShape } from "#codec.ts"
|
|
31
|
-
export {
|
|
31
|
+
export {
|
|
32
|
+
decodeBoundaryField,
|
|
33
|
+
decodeBoundaryRows,
|
|
34
|
+
decodeRows,
|
|
35
|
+
encodeBoundaryField,
|
|
36
|
+
encodeBoundaryRows,
|
|
37
|
+
encodeRows,
|
|
38
|
+
fieldSchema,
|
|
39
|
+
rowSchema,
|
|
40
|
+
rowShape
|
|
41
|
+
} from "#codec.ts"
|
|
32
42
|
export type { CompiledSchema, SchemaId } from "#compile.ts"
|
|
33
43
|
export { Schema } from "#compile.ts"
|
|
34
44
|
export type {
|
|
@@ -175,17 +185,13 @@ export type {
|
|
|
175
185
|
IntervalKind,
|
|
176
186
|
NumericCast,
|
|
177
187
|
Rounding,
|
|
178
|
-
ScalarExpr,
|
|
179
|
-
ScalarFieldRef,
|
|
180
188
|
ScalarInputKind,
|
|
181
189
|
ScalarKind,
|
|
182
|
-
ScalarLeafScope,
|
|
183
190
|
ScalarLiteral,
|
|
184
191
|
ScalarNode,
|
|
185
192
|
ScalarResultKind,
|
|
186
193
|
ScalarValue
|
|
187
194
|
} from "#scalar.ts"
|
|
188
|
-
export { Scalar } from "#scalar.ts"
|
|
189
195
|
export type { AnySchema, Schema as SchemaDeclaration, SchemaRelation, SchemaRelations } from "#schema.ts"
|
|
190
196
|
export { schema } from "#schema.ts"
|
|
191
197
|
export type { AnySelected, FieldsOf, Selected, SelectionBinding, SelectionInput } from "#selection.ts"
|
package/src/internal/log.ts
CHANGED
|
@@ -12,7 +12,6 @@ export type { PreparedQuery, QueryReader } from "#db.ts"
|
|
|
12
12
|
export { Db, internalPublishedReader } from "#db.ts"
|
|
13
13
|
export type { SnapshotHandle } from "#db-native.ts"
|
|
14
14
|
export { lower } from "#lower.ts"
|
|
15
|
-
export { internalMigrationRead, internalMigrationSchema } from "#migration.ts"
|
|
16
15
|
export {
|
|
17
16
|
internalBlake3,
|
|
18
17
|
internalDescriptor,
|
|
@@ -22,11 +21,10 @@ export {
|
|
|
22
21
|
} from "#native.ts"
|
|
23
22
|
export type { CompleteResult } from "#result.ts"
|
|
24
23
|
export { factCellsOf } from "#rows.ts"
|
|
25
|
-
export type { NativeRuntimeOptions
|
|
24
|
+
export type { NativeRuntimeOptions } from "#runtime.ts"
|
|
26
25
|
export {
|
|
27
26
|
finalizeClose,
|
|
28
27
|
hashChunk,
|
|
29
|
-
internalAcquireRepositoryLock,
|
|
30
28
|
NativeRuntime,
|
|
31
29
|
nativeOperation,
|
|
32
30
|
nativeOperationWith,
|
|
@@ -41,8 +39,8 @@ export type {
|
|
|
41
39
|
InspectionWire,
|
|
42
40
|
NativeKind,
|
|
43
41
|
OperationHandle,
|
|
44
|
-
RepositoryLockHandle,
|
|
45
42
|
RuntimeHandle
|
|
46
43
|
} from "#runtime-native.ts"
|
|
47
44
|
export { runtimeNative } from "#runtime-native.ts"
|
|
48
45
|
export { schemasAgree } from "#schema.ts"
|
|
46
|
+
export { internalSchemaBindings, internalSchemaSnapshot } from "#schema-file.ts"
|