@bjornpagen/bumbledb 1.1.0 → 1.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/COOKBOOK.md +114 -11
- package/README.md +52 -9
- package/dist/capacity.d.ts +15 -55
- package/dist/capacity.d.ts.map +1 -1
- package/dist/capacity.js +63 -12
- package/dist/capacity.js.map +1 -1
- package/dist/changes.d.ts +26 -3
- package/dist/changes.d.ts.map +1 -1
- package/dist/changes.js +89 -44
- package/dist/changes.js.map +1 -1
- package/dist/closed.d.ts +23 -51
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +110 -168
- package/dist/closed.js.map +1 -1
- package/dist/codec.d.ts +4 -9
- package/dist/codec.d.ts.map +1 -1
- package/dist/codec.js +108 -183
- package/dist/codec.js.map +1 -1
- package/dist/compile.d.ts +16 -16
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +36 -15
- package/dist/compile.js.map +1 -1
- package/dist/db-native.d.ts +39 -0
- package/dist/db-native.d.ts.map +1 -1
- package/dist/db-native.js +8 -0
- package/dist/db-native.js.map +1 -1
- package/dist/db.d.ts +28 -8
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +91 -38
- package/dist/db.js.map +1 -1
- package/dist/errors.d.ts +11 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +13 -1
- package/dist/errors.js.map +1 -1
- package/dist/face.d.ts +19 -25
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +30 -24
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +13 -26
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +89 -116
- package/dist/fields.js.map +1 -1
- package/dist/immutable.d.ts +10 -0
- package/dist/immutable.d.ts.map +1 -0
- package/dist/immutable.js +75 -0
- package/dist/immutable.js.map +1 -0
- package/dist/index.d.ts +14 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/log.d.ts +2 -0
- package/dist/internal/log.d.ts.map +1 -1
- package/dist/internal/log.js +2 -0
- package/dist/internal/log.js.map +1 -1
- package/dist/law.d.ts +10 -10
- package/dist/law.d.ts.map +1 -1
- package/dist/law.js +1 -1
- package/dist/law.js.map +1 -1
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +11 -6
- package/dist/lower.js.map +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js.map +1 -1
- package/dist/query/atom.d.ts +1 -1
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js.map +1 -1
- package/dist/query/description.d.ts +33 -0
- package/dist/query/description.d.ts.map +1 -0
- package/dist/query/description.js +302 -0
- package/dist/query/description.js.map +1 -0
- package/dist/query/lower.d.ts +60 -4
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +126 -161
- package/dist/query/lower.js.map +1 -1
- package/dist/query/parse-ir.d.ts +7 -2
- package/dist/query/parse-ir.d.ts.map +1 -1
- package/dist/query/parse-ir.js +240 -53
- package/dist/query/parse-ir.js.map +1 -1
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +8 -10
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +3 -4
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +5 -10
- package/dist/query/scope.js.map +1 -1
- package/dist/relation.d.ts +22 -48
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +30 -82
- package/dist/relation.js.map +1 -1
- package/dist/rows.d.ts +7 -4
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +44 -198
- package/dist/rows.js.map +1 -1
- package/dist/runtime-errors.d.ts +26 -2
- package/dist/runtime-errors.d.ts.map +1 -1
- package/dist/runtime-errors.js +43 -3
- package/dist/runtime-errors.js.map +1 -1
- package/dist/schema.d.ts +9 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +85 -24
- package/dist/schema.js.map +1 -1
- package/dist/selection.d.ts +27 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/selection.js +104 -0
- package/dist/selection.js.map +1 -0
- package/dist/shape.d.ts +6 -9
- package/dist/shape.d.ts.map +1 -1
- package/dist/statements.d.ts +17 -52
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +92 -111
- package/dist/statements.js.map +1 -1
- package/dist/values.d.ts +25 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +203 -0
- package/dist/values.js.map +1 -0
- package/pack-provenance.json +3 -3
- package/package.json +4 -4
- package/src/capacity.ts +86 -76
- package/src/changes.ts +183 -54
- package/src/closed.ts +161 -314
- package/src/codec.ts +116 -190
- package/src/compile.ts +56 -32
- package/src/db-native.ts +42 -0
- package/src/db.ts +134 -52
- package/src/errors.ts +16 -1
- package/src/face.ts +44 -74
- package/src/fields.ts +100 -146
- package/src/immutable.ts +76 -0
- package/src/index.ts +34 -28
- package/src/internal/log.ts +2 -0
- package/src/law.ts +13 -13
- package/src/lower.ts +13 -10
- package/src/native.ts +2 -0
- package/src/query/atom.ts +1 -0
- package/src/query/description.ts +394 -0
- package/src/query/lower.ts +139 -173
- package/src/query/parse-ir.ts +247 -54
- package/src/query/run.ts +15 -9
- package/src/query/scope.ts +10 -18
- package/src/relation.ts +58 -142
- package/src/rows.ts +62 -205
- package/src/runtime-errors.ts +47 -3
- package/src/schema.ts +99 -29
- package/src/selection.ts +124 -0
- package/src/shape.ts +9 -9
- package/src/statements.ts +138 -189
- package/src/values.ts +223 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
|
package/dist/query/lower.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { sealedFieldsOf } from "#closed.ts";
|
|
1
|
+
import { membersAgree, sealedFieldsOf } from "#closed.ts";
|
|
2
2
|
import { AuthoringError, SdkInvariantError } from "#errors.ts";
|
|
3
|
-
import { assertDeclarationOrderKey, f64 as f64Field, isFloatIntervalValue, isIntervalValue, literalShapeError, rosterOf, u64 as u64Field } from "#fields.ts";
|
|
3
|
+
import { assertDeclarationOrderKey, f64 as f64Field, i64 as i64Field, isFloatIntervalValue, isIntervalValue, literalShapeError, rosterOf, rostersAgree, u64 as u64Field } from "#fields.ts";
|
|
4
|
+
import { snapshotData } from "#immutable.ts";
|
|
4
5
|
import { allen, and, eq, ge, gt, le, lt, ne, not, or, pointIn } from "#query/atom.ts";
|
|
5
6
|
import { computeFieldOf, computeVarsOf, isComputeExpr, MAX_COMPUTE_DEPTH } from "#query/compute.ts";
|
|
6
7
|
import { count, max, mean, min, pack, sum } from "#query/find.ts";
|
|
7
8
|
import { parseQueryIr } from "#query/parse-ir.ts";
|
|
8
9
|
import { fieldAntiJoins, fieldJoins, headFieldJoins, importFacadeOf, importFacadeOfOwner, inferred, isImportedSource, isTerm, labelImport, makeParam, makeSetParam, renderFieldKind, term } from "#query/scope.ts";
|
|
9
10
|
import { literalWireOf } from "#scalar.ts";
|
|
10
|
-
import {
|
|
11
|
+
import { schemaDescriptor, schemasAgree } from "#schema.ts";
|
|
12
|
+
import { arrayValue, recordValue, taggedValueOf } from "#values.ts";
|
|
11
13
|
const termOps = Object.freeze({
|
|
12
14
|
param: makeParam,
|
|
13
15
|
inSet: makeSetParam,
|
|
@@ -36,8 +38,8 @@ const EMPTY_RULE = Object.freeze({
|
|
|
36
38
|
});
|
|
37
39
|
/**
|
|
38
40
|
* The MINT slot of a variable, the runtime twin of {@link MintSlotOf}: (i)
|
|
39
|
-
* verifies the mint owner
|
|
40
|
-
*
|
|
41
|
+
* verifies the mint owner agrees with the schema's ordered declaration — a
|
|
42
|
+
* conflicting declaration is refused, naming its label — and (ii)
|
|
41
43
|
* returns the descriptor it was minted at plus the law-computed class read
|
|
42
44
|
* off the schema's frozen class map. Because {@link fieldJoins} is an
|
|
43
45
|
* equality, judging every binding position against this one slot makes all
|
|
@@ -50,16 +52,16 @@ function mintSlotOf(context, ref) {
|
|
|
50
52
|
// the descriptor it projected and the carrier class that survived
|
|
51
53
|
// the projection (aggregate outputs are bare derived scalars).
|
|
52
54
|
const column = facade.columns.get(ref.column);
|
|
53
|
-
if (column === undefined || facade.source.schema
|
|
55
|
+
if (column === undefined || !schemasAgree(facade.source.schema, context.theory)) {
|
|
54
56
|
throw new AuthoringError({
|
|
55
57
|
message: `the variable ${ref.label} was minted from a query template schema ${context.theory.name} does not own`
|
|
56
58
|
});
|
|
57
59
|
}
|
|
58
60
|
return column.slot ?? { field: ref.field, class: undefined };
|
|
59
61
|
}
|
|
60
|
-
if (context.theory.relations[ref.owner.name]
|
|
62
|
+
if (!membersAgree(context.theory.relations[ref.owner.name], ref.owner)) {
|
|
61
63
|
throw new AuthoringError({
|
|
62
|
-
message: `the variable ${ref.label} was minted from a relation schema ${context.theory.name} does not declare —
|
|
64
|
+
message: `the variable ${ref.label} was minted from a relation schema ${context.theory.name} does not declare — use an equivalent ordered declaration`
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
67
|
return { field: ref.field, class: context.classes[ref.owner.name]?.[ref.column] };
|
|
@@ -82,7 +84,7 @@ function membershipSet(context, field, value) {
|
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
const seen = new Set();
|
|
85
|
-
const members = value
|
|
87
|
+
const members = arrayValue(context, value, function memberName(context, member) {
|
|
86
88
|
if (typeof member !== "string") {
|
|
87
89
|
throw literalShapeError(context, `a ${roster.name} handle name (string)`, member);
|
|
88
90
|
}
|
|
@@ -97,16 +99,23 @@ function membershipSet(context, field, value) {
|
|
|
97
99
|
const key = [...members].sort();
|
|
98
100
|
return { name: `∈ ${roster.name} ${JSON.stringify(key)}`, members: Object.freeze(members) };
|
|
99
101
|
}
|
|
100
|
-
function
|
|
102
|
+
function queryRecord(context, input) {
|
|
103
|
+
return recordValue(context, input, typeof input === "object" && input !== null ? Object.keys(input) : []);
|
|
104
|
+
}
|
|
105
|
+
function resolveBindings(context, label, input, bindings, joins = fieldJoins) {
|
|
106
|
+
const relation = context.theory.relations[input.name];
|
|
107
|
+
if (relation === undefined || !membersAgree(relation, input)) {
|
|
108
|
+
throw new AuthoringError({
|
|
109
|
+
message: `${label}: schema ${context.theory.name} does not declare this ordered relation`
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// Retain the schema-owned declaration, not mutable caller metadata.
|
|
101
113
|
const entries = [];
|
|
102
114
|
const vars = [];
|
|
103
115
|
const uses = [];
|
|
104
116
|
const relationClasses = context.classes[relation.name];
|
|
105
117
|
const ordered = sealedFieldsOf(relation);
|
|
106
|
-
for (const [fieldName, value] of Object.entries(bindings)) {
|
|
107
|
-
if (value === undefined) {
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
118
|
+
for (const [fieldName, value] of Object.entries(queryRecord(label, bindings))) {
|
|
110
119
|
const declared = ordered.find(function byName(candidate) {
|
|
111
120
|
return candidate.name === fieldName;
|
|
112
121
|
});
|
|
@@ -166,7 +175,10 @@ function resolveBindings(context, label, relation, bindings, joins = fieldJoins)
|
|
|
166
175
|
}));
|
|
167
176
|
}
|
|
168
177
|
else {
|
|
169
|
-
bound = Object.freeze({
|
|
178
|
+
bound = Object.freeze({
|
|
179
|
+
kind: "literal",
|
|
180
|
+
value: ownLiteral(`${label}.${fieldName}`, declared.field, value, "binding")
|
|
181
|
+
});
|
|
170
182
|
}
|
|
171
183
|
entries.push(Object.freeze({ field: fieldName, data: declared.field, class: fieldClass, term: bound }));
|
|
172
184
|
}
|
|
@@ -211,9 +223,22 @@ function sideUses(op, side, sibling, uses) {
|
|
|
211
223
|
}));
|
|
212
224
|
}
|
|
213
225
|
function condDataOf(cond, uses) {
|
|
226
|
+
queryRecord("query condition", cond);
|
|
214
227
|
if (cond.cond === "cmp") {
|
|
215
|
-
|
|
216
|
-
|
|
228
|
+
let lhs = cmpTermDataOf(cond.lhs);
|
|
229
|
+
let rhs = cmpTermDataOf(cond.rhs);
|
|
230
|
+
if (lhs.kind === "literal" && rhs.kind === "var") {
|
|
231
|
+
lhs = Object.freeze({
|
|
232
|
+
kind: "literal",
|
|
233
|
+
value: ownLiteral("comparison literal", rhs.ref.field, lhs.value, cond.op)
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
if (rhs.kind === "literal" && lhs.kind === "var") {
|
|
237
|
+
rhs = Object.freeze({
|
|
238
|
+
kind: "literal",
|
|
239
|
+
value: ownLiteral("comparison literal", lhs.ref.field, rhs.value, cond.op)
|
|
240
|
+
});
|
|
241
|
+
}
|
|
217
242
|
sideUses(cond.op, lhs, rhs, uses);
|
|
218
243
|
sideUses(cond.op, rhs, lhs, uses);
|
|
219
244
|
if (cond.op === "allen") {
|
|
@@ -233,7 +258,7 @@ function condDataOf(cond, uses) {
|
|
|
233
258
|
return Object.freeze({ kind: "cmp", op: { kind: cond.op }, lhs, rhs });
|
|
234
259
|
}
|
|
235
260
|
if (cond.cond === "tree") {
|
|
236
|
-
const children = cond.children
|
|
261
|
+
const children = arrayValue("query condition children", cond.children, function lowerChild(_context, child) {
|
|
237
262
|
return condDataOf(child, uses);
|
|
238
263
|
});
|
|
239
264
|
return Object.freeze({ kind: "tree", op: cond.op, children: Object.freeze(children) });
|
|
@@ -243,21 +268,16 @@ function condDataOf(cond, uses) {
|
|
|
243
268
|
});
|
|
244
269
|
}
|
|
245
270
|
function advanceWhere(context, state, cond) {
|
|
271
|
+
queryRecord("query condition", cond);
|
|
246
272
|
if (typeof cond !== "object" || cond === null || !("cond" in cond)) {
|
|
247
273
|
throw new AuthoringError({ message: "where() takes a comparison, an and()/or() tree, or a negated atom" });
|
|
248
274
|
}
|
|
249
275
|
if (cond.cond === "notInterior") {
|
|
250
|
-
|
|
251
|
-
return value !== undefined;
|
|
252
|
-
}));
|
|
253
|
-
return notInteriorAdvance(context, state, cond.name, bindings);
|
|
276
|
+
return notInteriorAdvance(context, state, cond.name, queryRecord("negated interior bindings", cond.bindings));
|
|
254
277
|
}
|
|
255
278
|
if (cond.cond === "not") {
|
|
256
279
|
const relation = cond.relation;
|
|
257
|
-
const
|
|
258
|
-
return value !== undefined;
|
|
259
|
-
}));
|
|
260
|
-
const resolved = resolveBindings(context, `negated relation ${relation.name}`, relation, bindings, fieldAntiJoins);
|
|
280
|
+
const resolved = resolveBindings(context, `negated relation ${relation.name}`, relation, cond.bindings, fieldAntiJoins);
|
|
261
281
|
return Object.freeze({
|
|
262
282
|
items: Object.freeze([...state.items, Object.freeze({ kind: "negated", atom: resolved.atom })]),
|
|
263
283
|
bound: state.bound,
|
|
@@ -274,10 +294,7 @@ function advanceWhere(context, state, cond) {
|
|
|
274
294
|
}
|
|
275
295
|
function advanceInterior(state, target, bindings, kind) {
|
|
276
296
|
const resolved = [];
|
|
277
|
-
for (const [key, value] of Object.entries(bindings)) {
|
|
278
|
-
if (value === undefined) {
|
|
279
|
-
continue;
|
|
280
|
-
}
|
|
297
|
+
for (const [key, value] of Object.entries(queryRecord(`interior ${target.name} bindings`, bindings))) {
|
|
281
298
|
if (!isTerm(value) || value[term] !== "var") {
|
|
282
299
|
throw new AuthoringError({
|
|
283
300
|
message: `interior ${target.name}: position ${key} takes a variable — bind literals and params through where()/match()`
|
|
@@ -621,27 +638,42 @@ function interiorAdvance(context, state, name, bindings) {
|
|
|
621
638
|
}
|
|
622
639
|
const importEntries = new WeakMap();
|
|
623
640
|
const importTables = new WeakSet();
|
|
641
|
+
const importOrigins = new WeakMap();
|
|
642
|
+
function snapshotQueryData(input) {
|
|
643
|
+
return snapshotData(input, (source, snapshot) => {
|
|
644
|
+
// Detached imports retain their authoring identity for deduplication.
|
|
645
|
+
if (importTables.has(source)) {
|
|
646
|
+
const table = snapshot;
|
|
647
|
+
importTables.add(table);
|
|
648
|
+
importOrigins.set(table, importOrigins.get(source) ?? source);
|
|
649
|
+
const inner = importInner.get(source);
|
|
650
|
+
if (inner !== undefined)
|
|
651
|
+
importInner.set(table, inner);
|
|
652
|
+
}
|
|
653
|
+
});
|
|
654
|
+
}
|
|
624
655
|
function importEntryOf(context, imported) {
|
|
625
656
|
const cached = importEntries.get(imported);
|
|
626
657
|
if (cached !== undefined) {
|
|
627
|
-
if (imported.schema
|
|
658
|
+
if (!schemasAgree(imported.schema, context.theory)) {
|
|
628
659
|
throw new AuthoringError({
|
|
629
660
|
message: `${contextLabel(context)}: the imported query belongs to schema ${imported.schema.name}, not ${context.theory.name} — templates compose within one schema`
|
|
630
661
|
});
|
|
631
662
|
}
|
|
632
663
|
return cached;
|
|
633
664
|
}
|
|
634
|
-
if (imported.schema
|
|
665
|
+
if (!schemasAgree(imported.schema, context.theory)) {
|
|
635
666
|
throw new AuthoringError({
|
|
636
667
|
message: `${contextLabel(context)}: the imported query belongs to schema ${imported.schema.name}, not ${context.theory.name} — templates compose within one schema`
|
|
637
668
|
});
|
|
638
669
|
}
|
|
639
|
-
|
|
670
|
+
const data = imported.data;
|
|
671
|
+
if (data.kind === "reach") {
|
|
640
672
|
throw new AuthoringError({
|
|
641
673
|
message: `${contextLabel(context)}: a recursive query is not importable as a relation expression yet — declare the recursion on the consuming query (C05 boundary, recorded)`
|
|
642
674
|
});
|
|
643
675
|
}
|
|
644
|
-
const userParams =
|
|
676
|
+
const userParams = data.params.filter(function userSupplied(entry) {
|
|
645
677
|
return entry.membership === undefined;
|
|
646
678
|
});
|
|
647
679
|
if (userParams.length > 0) {
|
|
@@ -654,10 +686,10 @@ function importEntryOf(context, imported) {
|
|
|
654
686
|
const facade = importFacadeOf(imported);
|
|
655
687
|
const table = Object.freeze({
|
|
656
688
|
name: facade.owner.name,
|
|
657
|
-
finds:
|
|
658
|
-
rules:
|
|
689
|
+
finds: data.finds,
|
|
690
|
+
rules: data.rules
|
|
659
691
|
});
|
|
660
|
-
const entry = Object.freeze({ table, inner:
|
|
692
|
+
const entry = Object.freeze({ table, inner: data.interiors });
|
|
661
693
|
importEntries.set(imported, entry);
|
|
662
694
|
importTables.add(table);
|
|
663
695
|
importInner.set(table, entry.inner);
|
|
@@ -679,8 +711,9 @@ function referencedImports(interiors, rec, rules) {
|
|
|
679
711
|
continue;
|
|
680
712
|
}
|
|
681
713
|
const target = item.target;
|
|
682
|
-
|
|
683
|
-
|
|
714
|
+
const origin = importOrigins.get(target) ?? target;
|
|
715
|
+
if (importTables.has(target) && !seen.has(origin)) {
|
|
716
|
+
seen.add(origin);
|
|
684
717
|
out.push(target);
|
|
685
718
|
}
|
|
686
719
|
}
|
|
@@ -712,7 +745,8 @@ function spliceImports(interiors, rec, rules) {
|
|
|
712
745
|
const names = new Set();
|
|
713
746
|
const added = new Set();
|
|
714
747
|
function add(table) {
|
|
715
|
-
|
|
748
|
+
const origin = importOrigins.get(table) ?? table;
|
|
749
|
+
if (added.has(origin)) {
|
|
716
750
|
return;
|
|
717
751
|
}
|
|
718
752
|
if (names.has(table.name)) {
|
|
@@ -720,7 +754,7 @@ function spliceImports(interiors, rec, rules) {
|
|
|
720
754
|
message: `query: the derived-table name ${table.name} appears twice after import splicing — rename the colliding interior (names are unique)`
|
|
721
755
|
});
|
|
722
756
|
}
|
|
723
|
-
added.add(
|
|
757
|
+
added.add(origin);
|
|
724
758
|
names.add(table.name);
|
|
725
759
|
spliced.push(table);
|
|
726
760
|
}
|
|
@@ -749,15 +783,13 @@ function notInteriorAdvance(context, state, name, bindings) {
|
|
|
749
783
|
}
|
|
750
784
|
function findColumns(context, entries) {
|
|
751
785
|
const columns = [];
|
|
786
|
+
queryRecord("query find", entries);
|
|
752
787
|
// Nonrecursive derived stages (interiors) may emit aggregate/computed
|
|
753
788
|
// outputs (C05: "do not leave Interior.rules projection only"); ONLY the
|
|
754
789
|
// recursive feedback cycle stays projection-only — no aggregate,
|
|
755
790
|
// arithmetic-created value or negation flows through it.
|
|
756
791
|
const recName = context.kind === "rec-base" || context.kind === "rec-arm" ? context.self.name : undefined;
|
|
757
792
|
for (const [name, entry] of Object.entries(entries)) {
|
|
758
|
-
if (entry === undefined) {
|
|
759
|
-
continue;
|
|
760
|
-
}
|
|
761
793
|
if (recName !== undefined && !(isTerm(entry) && entry[term] === "var")) {
|
|
762
794
|
throw new AuthoringError({
|
|
763
795
|
message: `rec ${recName}: a rec head projects bound variables only — no aggregate or arithmetic-created value flows through the feedback cycle (compute over the finished set in the main rules)`
|
|
@@ -912,7 +944,7 @@ function paramRegistryOf(interiors, rec, rules) {
|
|
|
912
944
|
if (existing.anchor !== undefined && use.anchor !== undefined) {
|
|
913
945
|
const registered = rosterOf(existing.anchor);
|
|
914
946
|
const anchored = rosterOf(use.anchor);
|
|
915
|
-
if (registered
|
|
947
|
+
if (!rostersAgree(registered, anchored)) {
|
|
916
948
|
throw new AuthoringError({
|
|
917
949
|
message: `query param ${use.name} is anchored at ${renderParamAnchor(registered)} and at ${renderParamAnchor(anchored)} — a closed-anchored param translates handle names through ONE roster (one name, one domain); name the params differently`
|
|
918
950
|
});
|
|
@@ -984,7 +1016,7 @@ function alignedHeadOf(label, rules) {
|
|
|
984
1016
|
}
|
|
985
1017
|
rule.finds.forEach(function verifyClosedSlice(column, position) {
|
|
986
1018
|
const lead = first.finds[position];
|
|
987
|
-
if (lead !== undefined && column.closed
|
|
1019
|
+
if (lead !== undefined && !rostersAgree(column.closed, lead.closed)) {
|
|
988
1020
|
throw new AuthoringError({
|
|
989
1021
|
message: `every rule of ${label} derives the same head — the head column ${lead.name} is ${renderClosedSlice(lead.closed)} in rule 0 but ${renderClosedSlice(column.closed)} in rule ${index} (one column decodes through one roster)`
|
|
990
1022
|
});
|
|
@@ -1025,7 +1057,13 @@ function afterMainError(what) {
|
|
|
1025
1057
|
message: `query: ${what} after a main rule is unwritable — declaration order is interiors, then rec, then main`
|
|
1026
1058
|
});
|
|
1027
1059
|
}
|
|
1028
|
-
function makeRawQuery(
|
|
1060
|
+
function makeRawQuery(inputTheory, inputInteriors, inputRec, inputRules) {
|
|
1061
|
+
const { theory, interiors, rec, rules } = snapshotQueryData({
|
|
1062
|
+
theory: inputTheory,
|
|
1063
|
+
interiors: inputInteriors,
|
|
1064
|
+
rec: inputRec,
|
|
1065
|
+
rules: inputRules
|
|
1066
|
+
});
|
|
1029
1067
|
const mergedFinds = alignedHeadOf("a query", rules);
|
|
1030
1068
|
const first = rules[0];
|
|
1031
1069
|
if (first === undefined) {
|
|
@@ -1053,8 +1091,12 @@ function makeRawQuery(theory, interiors, rec, rules) {
|
|
|
1053
1091
|
params
|
|
1054
1092
|
});
|
|
1055
1093
|
const value = {
|
|
1056
|
-
schema
|
|
1057
|
-
|
|
1094
|
+
get schema() {
|
|
1095
|
+
return snapshotData(theory);
|
|
1096
|
+
},
|
|
1097
|
+
get data() {
|
|
1098
|
+
return snapshotQueryData(data);
|
|
1099
|
+
},
|
|
1058
1100
|
rule(build) {
|
|
1059
1101
|
const built = build(makeRawScope({ kind: "query", classes: theory.classes, theory, ...env }));
|
|
1060
1102
|
return makeRawQuery(theory, interiors, rec, [...rules, built.rule]);
|
|
@@ -1129,9 +1171,9 @@ function collectRec(theory, interiors, name, baseBuilds, recBuilds) {
|
|
|
1129
1171
|
const sealedRec = [firstRec, ...rec.slice(1)];
|
|
1130
1172
|
const recData = Object.freeze({
|
|
1131
1173
|
name,
|
|
1132
|
-
finds: sealedFinds,
|
|
1133
|
-
base: sealedBase,
|
|
1134
|
-
rec: sealedRec
|
|
1174
|
+
finds: Object.freeze(sealedFinds),
|
|
1175
|
+
base: Object.freeze(sealedBase),
|
|
1176
|
+
rec: Object.freeze(sealedRec)
|
|
1135
1177
|
});
|
|
1136
1178
|
return recData;
|
|
1137
1179
|
}
|
|
@@ -1182,105 +1224,18 @@ function makeQueryReachStart(theory, interiors, rec) {
|
|
|
1182
1224
|
return start;
|
|
1183
1225
|
}
|
|
1184
1226
|
function query(theory) {
|
|
1185
|
-
return makeQueryStart(theory, []);
|
|
1186
|
-
}
|
|
1187
|
-
function taggedHandleId(context, closed, value) {
|
|
1188
|
-
if (typeof value !== "string") {
|
|
1189
|
-
throw literalShapeError(context, `a ${closed.name} handle name (string)`, value);
|
|
1190
|
-
}
|
|
1191
|
-
const id = closed.handles.indexOf(value);
|
|
1192
|
-
if (id < 0) {
|
|
1193
|
-
throw new AuthoringError({
|
|
1194
|
-
message: `${context}: "${value}" is not a handle of ${closed.name} — the roster is ${closed.handles.join(", ")}`
|
|
1195
|
-
});
|
|
1196
|
-
}
|
|
1197
|
-
return { kind: "u64", value: BigInt(id) };
|
|
1227
|
+
return makeQueryStart(schemaDescriptor(theory), []);
|
|
1198
1228
|
}
|
|
1199
1229
|
function taggedAtElementDomain(context, element, value) {
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
if (isFloatIntervalValue(value)) {
|
|
1205
|
-
if (Number.isNaN(value.start) || Number.isNaN(value.end) || !(value.start < value.end)) {
|
|
1206
|
-
throw literalShapeError(context, "a nonempty float interval with non-NaN endpoints", value);
|
|
1207
|
-
}
|
|
1208
|
-
return {
|
|
1209
|
-
kind: "intervalF64",
|
|
1210
|
-
start: Object.is(value.start, -0) ? 0 : value.start,
|
|
1211
|
-
end: Object.is(value.end, -0) ? 0 : value.end
|
|
1212
|
-
};
|
|
1213
|
-
}
|
|
1214
|
-
throw literalShapeError(context, "number (point) or { start, end } numbers (interval)", value);
|
|
1215
|
-
}
|
|
1216
|
-
if (typeof value === "bigint") {
|
|
1217
|
-
if (element === "u64") {
|
|
1218
|
-
return { kind: "u64", value };
|
|
1219
|
-
}
|
|
1220
|
-
return { kind: "i64", value };
|
|
1221
|
-
}
|
|
1222
|
-
if (isIntervalValue(value)) {
|
|
1223
|
-
if (element === "u64") {
|
|
1224
|
-
return { kind: "intervalU64", start: value.start, end: value.end };
|
|
1225
|
-
}
|
|
1226
|
-
return { kind: "intervalI64", start: value.start, end: value.end };
|
|
1227
|
-
}
|
|
1228
|
-
throw literalShapeError(context, "bigint (point) or { start, end } (interval)", value);
|
|
1230
|
+
const field = typeof value === "number" || typeof value === "bigint"
|
|
1231
|
+
? { u64: u64Field, i64: i64Field, f64: f64Field }[element]
|
|
1232
|
+
: { kind: "interval", element, width: undefined };
|
|
1233
|
+
return taggedValueOf(context, field, value);
|
|
1229
1234
|
}
|
|
1230
1235
|
function taggedLiteral(context, field, value) {
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
}
|
|
1235
|
-
switch (field.kind) {
|
|
1236
|
-
case "bool": {
|
|
1237
|
-
if (typeof value !== "boolean") {
|
|
1238
|
-
throw literalShapeError(context, "boolean", value);
|
|
1239
|
-
}
|
|
1240
|
-
return { kind: "bool", value };
|
|
1241
|
-
}
|
|
1242
|
-
case "u64": {
|
|
1243
|
-
if (typeof value !== "bigint") {
|
|
1244
|
-
throw literalShapeError(context, "bigint", value);
|
|
1245
|
-
}
|
|
1246
|
-
return { kind: "u64", value };
|
|
1247
|
-
}
|
|
1248
|
-
case "i64": {
|
|
1249
|
-
if (typeof value !== "bigint") {
|
|
1250
|
-
throw literalShapeError(context, "bigint", value);
|
|
1251
|
-
}
|
|
1252
|
-
return { kind: "i64", value };
|
|
1253
|
-
}
|
|
1254
|
-
case "f64": {
|
|
1255
|
-
if (typeof value !== "number") {
|
|
1256
|
-
throw literalShapeError(context, "number", value);
|
|
1257
|
-
}
|
|
1258
|
-
return { kind: "f64", value };
|
|
1259
|
-
}
|
|
1260
|
-
case "uuid": {
|
|
1261
|
-
if (!Uuid.isUuid(value)) {
|
|
1262
|
-
throw literalShapeError(context, "a UUID (canonical UUID text)", value);
|
|
1263
|
-
}
|
|
1264
|
-
return { kind: "uuid", value };
|
|
1265
|
-
}
|
|
1266
|
-
case "str": {
|
|
1267
|
-
if (typeof value !== "string") {
|
|
1268
|
-
throw literalShapeError(context, "string", value);
|
|
1269
|
-
}
|
|
1270
|
-
if (!value.isWellFormed()) {
|
|
1271
|
-
throw literalShapeError(context, "well-formed string", value);
|
|
1272
|
-
}
|
|
1273
|
-
return { kind: "string", value };
|
|
1274
|
-
}
|
|
1275
|
-
case "bytes": {
|
|
1276
|
-
if (!(value instanceof Uint8Array)) {
|
|
1277
|
-
throw literalShapeError(context, "Uint8Array", value);
|
|
1278
|
-
}
|
|
1279
|
-
return { kind: "fixedBytes", value };
|
|
1280
|
-
}
|
|
1281
|
-
case "interval":
|
|
1282
|
-
return taggedAtElementDomain(context, field.element, value);
|
|
1283
|
-
}
|
|
1236
|
+
return field.kind === "interval"
|
|
1237
|
+
? taggedAtElementDomain(context, field.element, value)
|
|
1238
|
+
: taggedValueOf(context, field, value);
|
|
1284
1239
|
}
|
|
1285
1240
|
/**
|
|
1286
1241
|
* Tags one host literal at a COMPARISON or PARAM position, where the SIBLING
|
|
@@ -1288,7 +1243,7 @@ function taggedLiteral(context, field, value) {
|
|
|
1288
1243
|
* contributes its element domain, a scalar sibling its own type. At
|
|
1289
1244
|
* `pointIn` the operand order is interval-left, point-right, so an
|
|
1290
1245
|
* interval-shaped literal beside a scalar element-typed sibling is the LEGAL
|
|
1291
|
-
* interval operand of `pointIn(t,
|
|
1246
|
+
* interval operand of `pointIn(t, { start, end })`; under every other operator an
|
|
1292
1247
|
* interval shape against a scalar sibling stays refused.
|
|
1293
1248
|
*/
|
|
1294
1249
|
function taggedCmpLiteral(context, sibling, value, op) {
|
|
@@ -1306,6 +1261,15 @@ function taggedCmpLiteral(context, sibling, value, op) {
|
|
|
1306
1261
|
}
|
|
1307
1262
|
return taggedLiteral(context, sibling, value);
|
|
1308
1263
|
}
|
|
1264
|
+
/** Validate and own a literal when the query is authored, before caller mutation. */
|
|
1265
|
+
function ownLiteral(context, field, value, op) {
|
|
1266
|
+
const tagged = taggedCmpLiteral(context, field, value, op);
|
|
1267
|
+
if (rosterOf(field) !== undefined)
|
|
1268
|
+
return value;
|
|
1269
|
+
if ("value" in tagged)
|
|
1270
|
+
return tagged.value;
|
|
1271
|
+
return Object.freeze({ start: tagged.start, end: tagged.end });
|
|
1272
|
+
}
|
|
1309
1273
|
function freshVarIds() {
|
|
1310
1274
|
const assigned = new Map();
|
|
1311
1275
|
return {
|
|
@@ -1329,7 +1293,7 @@ function paramIdOf(ctx, name) {
|
|
|
1329
1293
|
}
|
|
1330
1294
|
function lowerAtom(ctx, atom, ids) {
|
|
1331
1295
|
const member = ctx.theory.relations[atom.relation.name];
|
|
1332
|
-
if (member
|
|
1296
|
+
if (!membersAgree(member, atom.relation)) {
|
|
1333
1297
|
throw new AuthoringError({
|
|
1334
1298
|
message: `query lowering: relation ${atom.relation.name} is not the relation value schema ${ctx.theory.name} declares`
|
|
1335
1299
|
});
|
|
@@ -1563,20 +1527,21 @@ function lowerRule(ctx, rule) {
|
|
|
1563
1527
|
}
|
|
1564
1528
|
function lowerQuery(q) {
|
|
1565
1529
|
const theory = q.schema;
|
|
1530
|
+
const data = q.data;
|
|
1566
1531
|
const relationIds = new Map();
|
|
1567
1532
|
Object.keys(theory.relations).forEach(function assignOrdinal(name, index) {
|
|
1568
1533
|
relationIds.set(name, index);
|
|
1569
1534
|
});
|
|
1570
1535
|
const interiorIds = new Map();
|
|
1571
|
-
|
|
1536
|
+
data.interiors.forEach(function assignInteriorId(interior, index) {
|
|
1572
1537
|
interiorIds.set(interior.name, index);
|
|
1573
1538
|
});
|
|
1574
|
-
if (
|
|
1575
|
-
interiorIds.set(
|
|
1539
|
+
if (data.kind === "reach") {
|
|
1540
|
+
interiorIds.set(data.rec.name, data.interiors.length);
|
|
1576
1541
|
}
|
|
1577
1542
|
const paramIds = new Map();
|
|
1578
1543
|
const params = new Map();
|
|
1579
|
-
|
|
1544
|
+
data.params.forEach(function assignParamId(entry, index) {
|
|
1580
1545
|
if (entry.anchor === undefined) {
|
|
1581
1546
|
throw new AuthoringError({
|
|
1582
1547
|
message: `query param ${entry.name} has no field-anchored use — bind it in an atom or compare it against a bound variable`
|
|
@@ -1586,7 +1551,7 @@ function lowerQuery(q) {
|
|
|
1586
1551
|
params.set(entry.name, entry);
|
|
1587
1552
|
});
|
|
1588
1553
|
const ctx = { theory, relationIds, interiorIds, paramIds, params };
|
|
1589
|
-
const interiors =
|
|
1554
|
+
const interiors = data.interiors.map(function lowerInterior(interior) {
|
|
1590
1555
|
return {
|
|
1591
1556
|
head: interior.finds.map(headTermOf),
|
|
1592
1557
|
rules: interior.rules.map(function lowerInteriorRule(rule) {
|
|
@@ -1594,22 +1559,22 @@ function lowerQuery(q) {
|
|
|
1594
1559
|
})
|
|
1595
1560
|
};
|
|
1596
1561
|
});
|
|
1597
|
-
const head =
|
|
1598
|
-
const rules =
|
|
1562
|
+
const head = data.finds.map(headTermOf);
|
|
1563
|
+
const rules = data.rules.map(function lowerMainRule(rule) {
|
|
1599
1564
|
return lowerRule(ctx, rule);
|
|
1600
1565
|
});
|
|
1601
|
-
if (
|
|
1566
|
+
if (data.kind === "cq") {
|
|
1602
1567
|
return parseQueryIr({ kind: "cq", interiors, head, rules });
|
|
1603
1568
|
}
|
|
1604
1569
|
return parseQueryIr({
|
|
1605
1570
|
kind: "reach",
|
|
1606
1571
|
interiors,
|
|
1607
1572
|
rec: {
|
|
1608
|
-
head:
|
|
1609
|
-
base:
|
|
1573
|
+
head: data.rec.finds.map(headTermOf),
|
|
1574
|
+
base: data.rec.base.map(function lowerBase(rule) {
|
|
1610
1575
|
return lowerRule(ctx, rule);
|
|
1611
1576
|
}),
|
|
1612
|
-
rec:
|
|
1577
|
+
rec: data.rec.rec.map(function lowerRecArm(rule) {
|
|
1613
1578
|
return lowerRule(ctx, rule);
|
|
1614
1579
|
})
|
|
1615
1580
|
},
|
|
@@ -1617,5 +1582,5 @@ function lowerQuery(q) {
|
|
|
1617
1582
|
rules
|
|
1618
1583
|
});
|
|
1619
1584
|
}
|
|
1620
|
-
export { lowerQuery, query, taggedCmpLiteral };
|
|
1585
|
+
export { alignedHeadOf, EMPTY_RULE, lowerQuery, makeRawChain, makeRawQuery, query, taggedCmpLiteral };
|
|
1621
1586
|
//# sourceMappingURL=lower.js.map
|