@bjornpagen/bumbledb 0.3.0 → 0.4.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 +66 -46
- package/README.md +28 -15
- package/dist/closed.d.ts +50 -73
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +38 -109
- package/dist/closed.js.map +1 -1
- package/dist/db.d.ts +4 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +26 -3
- package/dist/db.js.map +1 -1
- package/dist/face.d.ts +39 -39
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +7 -16
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +28 -14
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +15 -14
- package/dist/fields.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/marshal.d.ts +33 -6
- package/dist/marshal.d.ts.map +1 -1
- package/dist/marshal.js +67 -6
- package/dist/marshal.js.map +1 -1
- package/dist/query/atom.d.ts +59 -14
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +3 -0
- package/dist/query/atom.js.map +1 -1
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +251 -26
- package/dist/query/lower.js.map +1 -1
- package/dist/query/run.d.ts +15 -5
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +26 -6
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +35 -13
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +16 -4
- package/dist/query/scope.js.map +1 -1
- package/dist/relation.d.ts +8 -7
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +32 -10
- package/dist/relation.js.map +1 -1
- package/dist/spec.d.ts +3 -2
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/statements.d.ts +10 -4
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +79 -7
- package/dist/statements.js.map +1 -1
- package/package.json +2 -2
- package/src/closed.ts +72 -179
- package/src/db.ts +42 -5
- package/src/face.ts +34 -45
- package/src/fields.ts +46 -34
- package/src/index.ts +1 -2
- package/src/marshal.ts +74 -7
- package/src/query/atom.ts +58 -15
- package/src/query/lower.ts +301 -28
- package/src/query/run.ts +26 -6
- package/src/query/scope.ts +49 -15
- package/src/relation.ts +45 -17
- package/src/spec.ts +3 -2
- package/src/statements.ts +86 -7
package/dist/query/lower.js
CHANGED
|
@@ -79,6 +79,45 @@ function matchFieldsOf(owner) {
|
|
|
79
79
|
}
|
|
80
80
|
return owner.data.fields;
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Judges one membership ARRAY at a binding position — legal exactly at a
|
|
84
|
+
* CLOSED-reference field (the owner ruling: ordinary u64/str membership is
|
|
85
|
+
* spelled through `r.inSet` params; literal arrays are the closed
|
|
86
|
+
* vocabulary's spelling), holding ≥ 2 DISTINCT handle names (the
|
|
87
|
+
* degenerate sets are refusals: empty selects nothing, one element is the
|
|
88
|
+
* bare literal respelled, and a duplicate member is the same respelling in
|
|
89
|
+
* disguise — write each member once). The returned name is
|
|
90
|
+
* CONTENT-ADDRESSED (vocabulary + the member SET — the key sorts a copy,
|
|
91
|
+
* so two spellings of one set, reordered or not, share one dense
|
|
92
|
+
* `ParamId`); the members are shape-checked strings here and
|
|
93
|
+
* roster-verified at the one verification point (`taggedHandleId`) when
|
|
94
|
+
* the SDK supplies the set at execute — the same moment a bound `r.inSet`
|
|
95
|
+
* param's members are judged.
|
|
96
|
+
*/
|
|
97
|
+
function membershipSet(context, field, value) {
|
|
98
|
+
if (!("closed" in field)) {
|
|
99
|
+
throw errors.new(`${context}: a membership array is the closed-reference spelling — ordinary field membership is a bound ∈-set param (r.inSet)`);
|
|
100
|
+
}
|
|
101
|
+
if (value.length === 0) {
|
|
102
|
+
throw errors.new(`${context}: an empty membership array selects nothing — write the query you mean`);
|
|
103
|
+
}
|
|
104
|
+
if (value.length === 1) {
|
|
105
|
+
throw errors.new(`${context}: a one-element membership array is the bare literal respelled — write the literal (the canonical-utterance law: one meaning, one spelling)`);
|
|
106
|
+
}
|
|
107
|
+
const seen = new Set();
|
|
108
|
+
const members = value.map(function memberName(member) {
|
|
109
|
+
if (typeof member !== "string") {
|
|
110
|
+
throw literalShapeError(context, `a ${field.closed.name} handle name (string)`, member);
|
|
111
|
+
}
|
|
112
|
+
if (seen.has(member)) {
|
|
113
|
+
throw errors.new(`${context}: the membership array spells ${member} twice — write it once (the canonical-utterance law: one meaning, one spelling)`);
|
|
114
|
+
}
|
|
115
|
+
seen.add(member);
|
|
116
|
+
return member;
|
|
117
|
+
});
|
|
118
|
+
const key = [...members].sort();
|
|
119
|
+
return { name: `∈ ${field.closed.name} ${JSON.stringify(key)}`, members: Object.freeze(members) };
|
|
120
|
+
}
|
|
82
121
|
/**
|
|
83
122
|
* Resolves a bindings record against an atom owner's matchable fields (a
|
|
84
123
|
* relation's declared fields; a closed relation's sealed id + columns), in
|
|
@@ -115,12 +154,24 @@ function resolveBindings(context, relation, bindings, classes) {
|
|
|
115
154
|
}
|
|
116
155
|
case "param": {
|
|
117
156
|
bound = Object.freeze({ kind: "param", name: value.name });
|
|
118
|
-
uses.push(Object.freeze({
|
|
157
|
+
uses.push(Object.freeze({
|
|
158
|
+
name: value.name,
|
|
159
|
+
shape: "value",
|
|
160
|
+
anchor: declared.field,
|
|
161
|
+
op: "binding",
|
|
162
|
+
members: undefined
|
|
163
|
+
}));
|
|
119
164
|
break;
|
|
120
165
|
}
|
|
121
166
|
case "setParam": {
|
|
122
167
|
bound = Object.freeze({ kind: "setParam", name: value.name });
|
|
123
|
-
uses.push(Object.freeze({
|
|
168
|
+
uses.push(Object.freeze({
|
|
169
|
+
name: value.name,
|
|
170
|
+
shape: "set",
|
|
171
|
+
anchor: declared.field,
|
|
172
|
+
op: "binding",
|
|
173
|
+
members: undefined
|
|
174
|
+
}));
|
|
124
175
|
break;
|
|
125
176
|
}
|
|
126
177
|
case "maskParam":
|
|
@@ -129,6 +180,17 @@ function resolveBindings(context, relation, bindings, classes) {
|
|
|
129
180
|
throw errors.new(`${context}.${fieldName}: the measure is not a field-typed value — it lives in comparisons and select entries`);
|
|
130
181
|
}
|
|
131
182
|
}
|
|
183
|
+
else if (Array.isArray(value)) {
|
|
184
|
+
const set = membershipSet(`${context}.${fieldName}`, declared.field, value);
|
|
185
|
+
bound = Object.freeze({ kind: "literalSet", name: set.name, members: set.members });
|
|
186
|
+
uses.push(Object.freeze({
|
|
187
|
+
name: set.name,
|
|
188
|
+
shape: "set",
|
|
189
|
+
anchor: declared.field,
|
|
190
|
+
op: "binding",
|
|
191
|
+
members: set.members
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
132
194
|
else {
|
|
133
195
|
bound = Object.freeze({ kind: "literal", value });
|
|
134
196
|
}
|
|
@@ -207,7 +269,8 @@ function sideUses(op, side, sibling, varFields, uses) {
|
|
|
207
269
|
name: side.name,
|
|
208
270
|
shape: side.kind === "param" ? "value" : "set",
|
|
209
271
|
anchor,
|
|
210
|
-
op
|
|
272
|
+
op,
|
|
273
|
+
members: undefined
|
|
211
274
|
}));
|
|
212
275
|
}
|
|
213
276
|
/** Lowers one condition VALUE to its runtime data, recording param uses. */
|
|
@@ -225,7 +288,13 @@ function condDataOf(cond, varFields, uses) {
|
|
|
225
288
|
}
|
|
226
289
|
else if (isTerm(maskValue) && maskValue[term] === "maskParam") {
|
|
227
290
|
mask = Object.freeze({ kind: "param", name: maskValue.name });
|
|
228
|
-
uses.push(Object.freeze({
|
|
291
|
+
uses.push(Object.freeze({
|
|
292
|
+
name: maskValue.name,
|
|
293
|
+
shape: "mask",
|
|
294
|
+
anchor: undefined,
|
|
295
|
+
op: "allen",
|
|
296
|
+
members: undefined
|
|
297
|
+
}));
|
|
229
298
|
}
|
|
230
299
|
else {
|
|
231
300
|
throw errors.new("allen: the mask position takes a 13-bit mask number or a maskParam");
|
|
@@ -286,14 +355,27 @@ function advanceIdb(state, rec, vars) {
|
|
|
286
355
|
function isAggregateEntry(value) {
|
|
287
356
|
return typeof value === "object" && value !== null && "agg" in value;
|
|
288
357
|
}
|
|
289
|
-
/**
|
|
358
|
+
/**
|
|
359
|
+
* Classifies one select entry into its named answer column. The `closed`
|
|
360
|
+
* slice is resolved LATER, at rule completion (`completeRule`), where the
|
|
361
|
+
* rule's `varFields` are in hand — until then every column is provisionally
|
|
362
|
+
* bare.
|
|
363
|
+
*/
|
|
290
364
|
function selectColumnOf(entry) {
|
|
291
365
|
if (typeof entry === "string") {
|
|
292
|
-
return Object.freeze({
|
|
366
|
+
return Object.freeze({
|
|
367
|
+
name: entry,
|
|
368
|
+
entry: Object.freeze({ kind: "var", over: entry }),
|
|
369
|
+
closed: undefined
|
|
370
|
+
});
|
|
293
371
|
}
|
|
294
372
|
if (isTerm(entry)) {
|
|
295
373
|
if (entry[term] === "duration") {
|
|
296
|
-
return Object.freeze({
|
|
374
|
+
return Object.freeze({
|
|
375
|
+
name: entry.name,
|
|
376
|
+
entry: Object.freeze({ kind: "measure", over: entry.name }),
|
|
377
|
+
closed: undefined
|
|
378
|
+
});
|
|
297
379
|
}
|
|
298
380
|
throw errors.new(`query select: a ${entry[term]} is not projectable — select takes variable names, duration(v), or aggregates`);
|
|
299
381
|
}
|
|
@@ -305,7 +387,11 @@ function selectColumnOf(entry) {
|
|
|
305
387
|
/** Classifies one aggregate select entry. */
|
|
306
388
|
function aggregateColumnOf(entry) {
|
|
307
389
|
function column(name, agg) {
|
|
308
|
-
return Object.freeze({
|
|
390
|
+
return Object.freeze({
|
|
391
|
+
name,
|
|
392
|
+
entry: Object.freeze({ kind: "aggregate", agg: Object.freeze(agg) }),
|
|
393
|
+
closed: undefined
|
|
394
|
+
});
|
|
309
395
|
}
|
|
310
396
|
const over = entry.over;
|
|
311
397
|
switch (entry.agg) {
|
|
@@ -345,6 +431,22 @@ function aggregateColumnOf(entry) {
|
|
|
345
431
|
throw errors.new(`unknown aggregate ${entry.agg}`);
|
|
346
432
|
}
|
|
347
433
|
}
|
|
434
|
+
/**
|
|
435
|
+
* The orderable ban's pointed refusal (`docs/architecture/10-data-model.md`
|
|
436
|
+
* § orderability): a closed reference is equality-and-membership only —
|
|
437
|
+
* its declaration-id order is an encoding accident, so every
|
|
438
|
+
* order-comparison and fold position refuses it. The construction-time
|
|
439
|
+
* twin of the type tier's `OrderVarOk` exclusion, so the wall holds for
|
|
440
|
+
* untyped callers too (the engine cannot backstop this one: the wire IR
|
|
441
|
+
* carries plain u64s, no rosters).
|
|
442
|
+
*/
|
|
443
|
+
function closedOrderError(context, position, vocabulary) {
|
|
444
|
+
return errors.new(`${context}: ${position} is a ${vocabulary} reference — declaration order is an accident, not semantics: vocabularies do not order (docs/architecture/10-data-model.md; equality, membership, and counting remain)`);
|
|
445
|
+
}
|
|
446
|
+
/** The comparison ops the orderable ban covers (order roster + point membership — every order-comparison position). */
|
|
447
|
+
function isOrderOp(op) {
|
|
448
|
+
return op === "lt" || op === "le" || op === "gt" || op === "ge" || op === "pointIn";
|
|
449
|
+
}
|
|
348
450
|
/** Requires a var name to be bound by a relation atom of the rule. */
|
|
349
451
|
function assertBound(context, varFields, name) {
|
|
350
452
|
const slot = varFields[name];
|
|
@@ -373,7 +475,10 @@ function validateCond(context, varFields, cond) {
|
|
|
373
475
|
if (cond.kind === "cmp") {
|
|
374
476
|
for (const side of [cond.lhs, cond.rhs]) {
|
|
375
477
|
if (side.kind === "var") {
|
|
376
|
-
assertBound(context, varFields, side.name);
|
|
478
|
+
const slot = assertBound(context, varFields, side.name);
|
|
479
|
+
if (isOrderOp(cond.op) && "closed" in slot.field) {
|
|
480
|
+
throw closedOrderError(context, `the ${cond.op} side ${side.name}`, slot.field.closed.name);
|
|
481
|
+
}
|
|
377
482
|
}
|
|
378
483
|
if (side.kind === "measure") {
|
|
379
484
|
assertIntervalBound(context, varFields, side.name);
|
|
@@ -412,21 +517,58 @@ function validateColumn(context, varFields, column) {
|
|
|
412
517
|
return;
|
|
413
518
|
case "fold": {
|
|
414
519
|
if (typeof agg.over === "string") {
|
|
415
|
-
assertBound(`${context} select ${column.name}`, varFields, agg.over);
|
|
520
|
+
const slot = assertBound(`${context} select ${column.name}`, varFields, agg.over);
|
|
521
|
+
if ("closed" in slot.field) {
|
|
522
|
+
throw closedOrderError(`${context} select ${column.name}`, `the ${agg.fold} input ${agg.over}`, slot.field.closed.name);
|
|
523
|
+
}
|
|
416
524
|
return;
|
|
417
525
|
}
|
|
418
526
|
assertIntervalBound(`${context} select ${column.name}`, varFields, agg.over.duration);
|
|
419
527
|
return;
|
|
420
528
|
}
|
|
421
|
-
case "arg":
|
|
529
|
+
case "arg": {
|
|
422
530
|
assertBound(`${context} select ${column.name}`, varFields, agg.over);
|
|
423
|
-
assertBound(`${context} select ${column.name}`, varFields, agg.key);
|
|
531
|
+
const key = assertBound(`${context} select ${column.name}`, varFields, agg.key);
|
|
532
|
+
if ("closed" in key.field) {
|
|
533
|
+
throw closedOrderError(`${context} select ${column.name}`, `the ${agg.direction} key ${agg.key}`, key.field.closed.name);
|
|
534
|
+
}
|
|
424
535
|
return;
|
|
536
|
+
}
|
|
425
537
|
case "pack":
|
|
426
538
|
assertIntervalBound(`${context} select ${column.name}`, varFields, agg.over);
|
|
427
539
|
return;
|
|
428
540
|
}
|
|
429
541
|
}
|
|
542
|
+
/**
|
|
543
|
+
* Resolves the roster one select column decodes through: a projected var,
|
|
544
|
+
* or an Arg-carried payload, bound at a closed-referencing field carries
|
|
545
|
+
* that field's roster (read off `varFields` — the same slot the domain
|
|
546
|
+
* machinery reads), and `decodeAnswers` lifts the column's row ids back to
|
|
547
|
+
* handle NAMES through it — the runtime twin of the row type's `Infer`
|
|
548
|
+
* claim. Every other entry decodes bare: counts are counts, the measure
|
|
549
|
+
* and `pack` are never closed, and a closed FOLD is banned outright
|
|
550
|
+
* ({@link closedOrderError}) before this resolution runs.
|
|
551
|
+
*/
|
|
552
|
+
function selectClosedOf(varFields, entry) {
|
|
553
|
+
let over;
|
|
554
|
+
if (entry.kind === "var") {
|
|
555
|
+
over = entry.over;
|
|
556
|
+
}
|
|
557
|
+
else if (entry.kind === "aggregate" && entry.agg.op === "arg") {
|
|
558
|
+
over = entry.agg.over;
|
|
559
|
+
}
|
|
560
|
+
else {
|
|
561
|
+
over = undefined;
|
|
562
|
+
}
|
|
563
|
+
if (over === undefined) {
|
|
564
|
+
return undefined;
|
|
565
|
+
}
|
|
566
|
+
const field = varFields[over]?.field;
|
|
567
|
+
if (field !== undefined && "closed" in field) {
|
|
568
|
+
return field.closed;
|
|
569
|
+
}
|
|
570
|
+
return undefined;
|
|
571
|
+
}
|
|
430
572
|
/**
|
|
431
573
|
* Completes one rule: classifies the select record (written order = answer
|
|
432
574
|
* column order, names must be declaration-order-safe keys), and validates
|
|
@@ -485,7 +627,13 @@ function completeRule(context, state, columns) {
|
|
|
485
627
|
}
|
|
486
628
|
return Object.freeze({
|
|
487
629
|
items: state.items,
|
|
488
|
-
select: Object.freeze(
|
|
630
|
+
select: Object.freeze(columns.map(function enrichColumn(column) {
|
|
631
|
+
return Object.freeze({
|
|
632
|
+
name: column.name,
|
|
633
|
+
entry: column.entry,
|
|
634
|
+
closed: selectClosedOf(state.varFields, column.entry)
|
|
635
|
+
});
|
|
636
|
+
})),
|
|
489
637
|
varFields: state.varFields,
|
|
490
638
|
paramUses: state.paramUses
|
|
491
639
|
});
|
|
@@ -588,6 +736,10 @@ function makeOutputRuleScope(program) {
|
|
|
588
736
|
}
|
|
589
737
|
return raw;
|
|
590
738
|
}
|
|
739
|
+
/** Renders one head column's closed slice for the rule-alignment check's diagnostics. */
|
|
740
|
+
function renderClosedSlice(closed) {
|
|
741
|
+
return closed === undefined ? "a bare value" : `a ${closed.name} reference`;
|
|
742
|
+
}
|
|
591
743
|
/** Renders one head column's signature for the rule-alignment check. */
|
|
592
744
|
function headSignature(column) {
|
|
593
745
|
const entry = column.entry;
|
|
@@ -603,11 +755,36 @@ function headSignature(column) {
|
|
|
603
755
|
}
|
|
604
756
|
return `${column.name}:${agg.op}`;
|
|
605
757
|
}
|
|
758
|
+
/** The roster a param anchor carries: present exactly on a closed-reference field anchor. */
|
|
759
|
+
function anchorRosterOf(anchor) {
|
|
760
|
+
if (anchor === undefined || anchor === "measure") {
|
|
761
|
+
return undefined;
|
|
762
|
+
}
|
|
763
|
+
if ("closed" in anchor) {
|
|
764
|
+
return anchor.closed;
|
|
765
|
+
}
|
|
766
|
+
return undefined;
|
|
767
|
+
}
|
|
768
|
+
/** Renders one param anchor's closedness for the registry's coherence diagnostics. */
|
|
769
|
+
function renderParamAnchor(roster) {
|
|
770
|
+
return roster === undefined ? "a non-closed position" : `a ${roster.name} reference`;
|
|
771
|
+
}
|
|
606
772
|
/**
|
|
607
773
|
* Folds every rule's param uses (recs in declaration order first, output
|
|
608
774
|
* rules last — exactly the lowering walk) into the query's registry:
|
|
609
775
|
* first use mints the dense `ParamId`, the first FIELD-ANCHORED use types
|
|
610
|
-
* the wire, and one name must keep one shape
|
|
776
|
+
* the wire, and one name must keep one shape AND one closedness — every
|
|
777
|
+
* anchored use of one name must agree on the roster (value identity), so a
|
|
778
|
+
* param anchored at a closed reference is GUARANTEED to ride the one
|
|
779
|
+
* roster-verification point (`taggedHandleId`) at execute; a name anchored
|
|
780
|
+
* both at a closed reference and at a non-closed position (or at two
|
|
781
|
+
* vocabularies) is refused here, because the wire would translate only the
|
|
782
|
+
* first anchor's reading (the type tier intersects the uses to `never`;
|
|
783
|
+
* this is its runtime twin for untyped callers). A param whose anchor is a
|
|
784
|
+
* CLOSED reference must never sit in an order-comparison position — the
|
|
785
|
+
* anchor types its value a handle name and the engine would order the
|
|
786
|
+
* translated row ids, so the pairing is refused here too (the registry is
|
|
787
|
+
* the one place a name's every use and its anchoring field meet).
|
|
611
788
|
*/
|
|
612
789
|
function paramRegistryOf(recs, rules) {
|
|
613
790
|
const order = [];
|
|
@@ -617,16 +794,35 @@ function paramRegistryOf(recs, rules) {
|
|
|
617
794
|
const existing = byName.get(use.name);
|
|
618
795
|
if (existing === undefined) {
|
|
619
796
|
order.push(use.name);
|
|
620
|
-
byName.set(use.name, {
|
|
797
|
+
byName.set(use.name, {
|
|
798
|
+
shape: use.shape,
|
|
799
|
+
anchor: use.anchor,
|
|
800
|
+
op: use.op,
|
|
801
|
+
members: use.members,
|
|
802
|
+
orderOp: isOrderOp(use.op) ? use.op : undefined
|
|
803
|
+
});
|
|
621
804
|
continue;
|
|
622
805
|
}
|
|
806
|
+
if ((existing.members === undefined) !== (use.members === undefined)) {
|
|
807
|
+
throw errors.new(`query param ${use.name} collides with a membership array's registry entry — name the param differently`);
|
|
808
|
+
}
|
|
623
809
|
if (existing.shape !== use.shape) {
|
|
624
810
|
throw errors.new(`query param ${use.name} is used both as a ${existing.shape} param and a ${use.shape} param — one name, one shape`);
|
|
625
811
|
}
|
|
812
|
+
if (existing.anchor !== undefined && use.anchor !== undefined) {
|
|
813
|
+
const registered = anchorRosterOf(existing.anchor);
|
|
814
|
+
const anchored = anchorRosterOf(use.anchor);
|
|
815
|
+
if (registered !== anchored) {
|
|
816
|
+
throw errors.new(`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`);
|
|
817
|
+
}
|
|
818
|
+
}
|
|
626
819
|
if (existing.anchor === undefined && use.anchor !== undefined) {
|
|
627
820
|
existing.anchor = use.anchor;
|
|
628
821
|
existing.op = use.op;
|
|
629
822
|
}
|
|
823
|
+
if (existing.orderOp === undefined && isOrderOp(use.op)) {
|
|
824
|
+
existing.orderOp = use.op;
|
|
825
|
+
}
|
|
630
826
|
}
|
|
631
827
|
}
|
|
632
828
|
for (const rec of recs) {
|
|
@@ -642,7 +838,13 @@ function paramRegistryOf(recs, rules) {
|
|
|
642
838
|
if (entry === undefined) {
|
|
643
839
|
throw errors.new(`query param ${name} lost its registry entry`);
|
|
644
840
|
}
|
|
645
|
-
|
|
841
|
+
if (entry.orderOp !== undefined &&
|
|
842
|
+
entry.anchor !== undefined &&
|
|
843
|
+
entry.anchor !== "measure" &&
|
|
844
|
+
"closed" in entry.anchor) {
|
|
845
|
+
throw closedOrderError(`query param ${name}`, `its ${entry.orderOp} use's anchor`, entry.anchor.closed.name);
|
|
846
|
+
}
|
|
847
|
+
return Object.freeze({ name, shape: entry.shape, anchor: entry.anchor, op: entry.op, members: entry.members });
|
|
646
848
|
}));
|
|
647
849
|
}
|
|
648
850
|
/**
|
|
@@ -662,6 +864,17 @@ function makeRawQuery(theory, recs, rules) {
|
|
|
662
864
|
if (candidate !== signature) {
|
|
663
865
|
throw errors.new(`every rule of a query derives the same head — rule 0 selects (${signature}), rule ${index} selects (${candidate})`);
|
|
664
866
|
}
|
|
867
|
+
// The closed slice is part of the head too: one answer column decodes
|
|
868
|
+
// through one roster, so a union whose rules bind a column at
|
|
869
|
+
// different vocabularies (or one closed, one bare — the ids would
|
|
870
|
+
// mistranslate silently) is refused pointed. Vocabulary identity is
|
|
871
|
+
// value identity, the SDK's membership rule everywhere.
|
|
872
|
+
rule.select.forEach(function verifyClosedSlice(column, position) {
|
|
873
|
+
const lead = first.select[position];
|
|
874
|
+
if (lead !== undefined && column.closed !== lead.closed) {
|
|
875
|
+
throw errors.new(`every rule of a query derives the same head — the answer column ${lead.name} is ${renderClosedSlice(lead.closed)} in rule 0 but ${renderClosedSlice(column.closed)} in rule ${index} (one column decodes through one roster)`);
|
|
876
|
+
}
|
|
877
|
+
});
|
|
665
878
|
});
|
|
666
879
|
const data = Object.freeze({
|
|
667
880
|
recs: Object.freeze([...recs]),
|
|
@@ -727,19 +940,24 @@ function isIntervalShaped(value) {
|
|
|
727
940
|
typeof value.end === "bigint");
|
|
728
941
|
}
|
|
729
942
|
/**
|
|
730
|
-
* Tags one closed-reference literal: the
|
|
731
|
-
*
|
|
732
|
-
* make any
|
|
733
|
-
* never handle
|
|
943
|
+
* Tags one closed-reference literal: the handle NAME, verified against the
|
|
944
|
+
* roster (the belt the wide fallback type cannot provide — structural
|
|
945
|
+
* values make any string spellable here) and translated to its
|
|
946
|
+
* declaration-order row id, tagged u64 — queries cross ids, never handle
|
|
947
|
+
* names; the wire is untouched. THE single roster-verification point of
|
|
948
|
+
* the query surface: atom-binding literals, comparison literals,
|
|
949
|
+
* execute-time params, and membership-array members all reach it (never
|
|
950
|
+
* duplicate the check per call site).
|
|
734
951
|
*/
|
|
735
952
|
function taggedHandleId(context, closed, value) {
|
|
736
|
-
if (typeof value !== "
|
|
737
|
-
throw literalShapeError(context, `a ${closed.name} handle
|
|
953
|
+
if (typeof value !== "string") {
|
|
954
|
+
throw literalShapeError(context, `a ${closed.name} handle name (string)`, value);
|
|
738
955
|
}
|
|
739
|
-
|
|
740
|
-
|
|
956
|
+
const id = closed.handles.indexOf(value);
|
|
957
|
+
if (id < 0) {
|
|
958
|
+
throw errors.new(`${context}: "${value}" is not a handle of ${closed.name} — the roster is ${closed.handles.join(", ")}`);
|
|
741
959
|
}
|
|
742
|
-
return { kind: "u64", value };
|
|
960
|
+
return { kind: "u64", value: BigInt(id) };
|
|
743
961
|
}
|
|
744
962
|
/**
|
|
745
963
|
* Tags one literal in an interval element domain: a bigint tags as the
|
|
@@ -890,7 +1108,12 @@ function lowerAtom(ctx, atom, ids) {
|
|
|
890
1108
|
});
|
|
891
1109
|
return { source: { kind: "edb", relation: relationId }, bindings };
|
|
892
1110
|
}
|
|
893
|
-
/**
|
|
1111
|
+
/**
|
|
1112
|
+
* Lowers one binding term. A membership ARRAY (`literalSet`) lowers to the
|
|
1113
|
+
* existing param-set term over its content-addressed registry entry — the
|
|
1114
|
+
* program IR is byte-identical to the same set spelled `r.inSet`; the SDK
|
|
1115
|
+
* supplies the translated member set itself at execute (`wireParams`).
|
|
1116
|
+
*/
|
|
894
1117
|
function lowerBindingTerm(ctx, context, binding, ids) {
|
|
895
1118
|
const bound = binding.term;
|
|
896
1119
|
switch (bound.kind) {
|
|
@@ -900,6 +1123,8 @@ function lowerBindingTerm(ctx, context, binding, ids) {
|
|
|
900
1123
|
return { kind: "param", param: paramIdOf(ctx, bound.name) };
|
|
901
1124
|
case "setParam":
|
|
902
1125
|
return { kind: "paramSet", param: paramIdOf(ctx, bound.name) };
|
|
1126
|
+
case "literalSet":
|
|
1127
|
+
return { kind: "paramSet", param: paramIdOf(ctx, bound.name) };
|
|
903
1128
|
case "literal":
|
|
904
1129
|
return { kind: "literal", value: taggedLiteral(context, binding.data, bound.value) };
|
|
905
1130
|
}
|
package/dist/query/lower.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lower.js","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lower.js","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
|