@_linked/core 2.5.0-next.20260406153131 → 2.5.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.
Files changed (82) hide show
  1. package/CHANGELOG.md +77 -8
  2. package/README.md +5 -7
  3. package/lib/cjs/expressions/ExpressionNode.d.ts +44 -0
  4. package/lib/cjs/expressions/ExpressionNode.js +78 -12
  5. package/lib/cjs/expressions/ExpressionNode.js.map +1 -1
  6. package/lib/cjs/index.js +2 -2
  7. package/lib/cjs/index.js.map +1 -1
  8. package/lib/cjs/interfaces/{IQuadStore.d.ts → IDataset.d.ts} +5 -7
  9. package/lib/cjs/interfaces/{IQuadStore.js → IDataset.js} +1 -1
  10. package/lib/cjs/interfaces/IDataset.js.map +1 -0
  11. package/lib/cjs/queries/CreateQuery.d.ts +1 -1
  12. package/lib/cjs/queries/DeleteQuery.d.ts +1 -1
  13. package/lib/cjs/queries/FieldSet.d.ts +0 -8
  14. package/lib/cjs/queries/FieldSet.js +0 -29
  15. package/lib/cjs/queries/FieldSet.js.map +1 -1
  16. package/lib/cjs/queries/IRCanonicalize.d.ts +5 -25
  17. package/lib/cjs/queries/IRCanonicalize.js +8 -103
  18. package/lib/cjs/queries/IRCanonicalize.js.map +1 -1
  19. package/lib/cjs/queries/IRDesugar.d.ts +8 -28
  20. package/lib/cjs/queries/IRDesugar.js +8 -59
  21. package/lib/cjs/queries/IRDesugar.js.map +1 -1
  22. package/lib/cjs/queries/IRLower.js +50 -92
  23. package/lib/cjs/queries/IRLower.js.map +1 -1
  24. package/lib/cjs/queries/QueryBuilder.js +10 -1
  25. package/lib/cjs/queries/QueryBuilder.js.map +1 -1
  26. package/lib/cjs/queries/SelectQuery.d.ts +15 -46
  27. package/lib/cjs/queries/SelectQuery.js +140 -105
  28. package/lib/cjs/queries/SelectQuery.js.map +1 -1
  29. package/lib/cjs/queries/UpdateQuery.d.ts +1 -1
  30. package/lib/cjs/queries/queryDispatch.d.ts +1 -1
  31. package/lib/cjs/sparql/SparqlStore.d.ts +2 -2
  32. package/lib/cjs/test-helpers/query-capture-store.d.ts +1 -1
  33. package/lib/cjs/test-helpers/query-capture-store.js +1 -1
  34. package/lib/cjs/test-helpers/query-fixtures.d.ts +19 -1
  35. package/lib/cjs/test-helpers/query-fixtures.js +7 -0
  36. package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
  37. package/lib/cjs/utils/LinkedStorage.d.ts +7 -7
  38. package/lib/cjs/utils/LinkedStorage.js.map +1 -1
  39. package/lib/cjs/utils/Package.js +7 -0
  40. package/lib/cjs/utils/Package.js.map +1 -1
  41. package/lib/esm/expressions/ExpressionNode.d.ts +44 -0
  42. package/lib/esm/expressions/ExpressionNode.js +74 -11
  43. package/lib/esm/expressions/ExpressionNode.js.map +1 -1
  44. package/lib/esm/index.js +2 -2
  45. package/lib/esm/index.js.map +1 -1
  46. package/lib/esm/interfaces/{IQuadStore.d.ts → IDataset.d.ts} +5 -7
  47. package/lib/esm/interfaces/IDataset.js +2 -0
  48. package/lib/esm/interfaces/IDataset.js.map +1 -0
  49. package/lib/esm/queries/CreateQuery.d.ts +1 -1
  50. package/lib/esm/queries/DeleteQuery.d.ts +1 -1
  51. package/lib/esm/queries/FieldSet.d.ts +0 -8
  52. package/lib/esm/queries/FieldSet.js +0 -29
  53. package/lib/esm/queries/FieldSet.js.map +1 -1
  54. package/lib/esm/queries/IRCanonicalize.d.ts +5 -25
  55. package/lib/esm/queries/IRCanonicalize.js +8 -103
  56. package/lib/esm/queries/IRCanonicalize.js.map +1 -1
  57. package/lib/esm/queries/IRDesugar.d.ts +8 -28
  58. package/lib/esm/queries/IRDesugar.js +8 -59
  59. package/lib/esm/queries/IRDesugar.js.map +1 -1
  60. package/lib/esm/queries/IRLower.js +51 -93
  61. package/lib/esm/queries/IRLower.js.map +1 -1
  62. package/lib/esm/queries/QueryBuilder.js +10 -1
  63. package/lib/esm/queries/QueryBuilder.js.map +1 -1
  64. package/lib/esm/queries/SelectQuery.d.ts +15 -46
  65. package/lib/esm/queries/SelectQuery.js +140 -103
  66. package/lib/esm/queries/SelectQuery.js.map +1 -1
  67. package/lib/esm/queries/UpdateQuery.d.ts +1 -1
  68. package/lib/esm/queries/queryDispatch.d.ts +1 -1
  69. package/lib/esm/sparql/SparqlStore.d.ts +2 -2
  70. package/lib/esm/test-helpers/query-capture-store.d.ts +1 -1
  71. package/lib/esm/test-helpers/query-capture-store.js +1 -1
  72. package/lib/esm/test-helpers/query-fixtures.d.ts +19 -1
  73. package/lib/esm/test-helpers/query-fixtures.js +7 -0
  74. package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
  75. package/lib/esm/utils/LinkedStorage.d.ts +7 -7
  76. package/lib/esm/utils/LinkedStorage.js.map +1 -1
  77. package/lib/esm/utils/Package.js +7 -0
  78. package/lib/esm/utils/Package.js.map +1 -1
  79. package/package.json +4 -3
  80. package/lib/cjs/interfaces/IQuadStore.js.map +0 -1
  81. package/lib/esm/interfaces/IQuadStore.js +0 -2
  82. package/lib/esm/interfaces/IQuadStore.js.map +0 -1
@@ -19,19 +19,10 @@ export function toIRExpression(input) {
19
19
  return { kind: 'literal_expr', value: input };
20
20
  if (input instanceof Date)
21
21
  return { kind: 'literal_expr', value: input.toISOString() };
22
+ if (typeof input === 'object' && input !== null && 'id' in input)
23
+ return { kind: 'reference_expr', value: input.id };
22
24
  throw new Error(`Invalid expression input: ${input}`);
23
25
  }
24
- /** Collect property refs from an ExpressionInput (only ExpressionNode has refs). */
25
- function collectRefs(...inputs) {
26
- const merged = new Map();
27
- for (const input of inputs) {
28
- if (input instanceof ExpressionNode) {
29
- for (const [k, v] of input._refs)
30
- merged.set(k, v);
31
- }
32
- }
33
- return merged;
34
- }
35
26
  function binary(op, left, right) {
36
27
  return { kind: 'binary_expr', operator: op, left, right: toIRExpression(right) };
37
28
  }
@@ -295,6 +286,20 @@ export function tracedPropertyExpression(segmentIds) {
295
286
  const refs = new Map([[placeholder, segmentIds]]);
296
287
  return new ExpressionNode(ir, refs);
297
288
  }
289
+ /**
290
+ * Create a traced expression that resolves to an alias reference (the entity itself,
291
+ * not a property on it). Used for root shape comparisons like `p.equals(entity)`.
292
+ * The traversalSegmentIds are walked to resolve the alias, then the result is alias_expr.
293
+ */
294
+ export function tracedAliasExpression(traversalSegmentIds) {
295
+ const placeholder = `__alias_ref_${_refCounter++}__`;
296
+ const ir = {
297
+ kind: 'alias_expr',
298
+ alias: placeholder,
299
+ };
300
+ const refs = new Map([[placeholder, traversalSegmentIds]]);
301
+ return new ExpressionNode(ir, refs);
302
+ }
298
303
  /**
299
304
  * Resolve unresolved property references in an IRExpression tree.
300
305
  * Walks the tree and replaces placeholder sourceAlias values with
@@ -320,10 +325,23 @@ export function resolveExpressionRefs(expr, refs, rootAlias, resolveTraversal) {
320
325
  property: segments[segments.length - 1],
321
326
  };
322
327
  }
328
+ case 'alias_expr': {
329
+ const segments = refs.get(e.alias);
330
+ if (!segments)
331
+ return e;
332
+ // Resolve all segments as traversals, return alias_expr for the final alias
333
+ let currentAlias = rootAlias;
334
+ for (const seg of segments) {
335
+ currentAlias = resolveTraversal(currentAlias, seg);
336
+ }
337
+ return { kind: 'alias_expr', alias: currentAlias };
338
+ }
323
339
  case 'binary_expr':
324
340
  return Object.assign(Object.assign({}, e), { left: resolve(e.left), right: resolve(e.right) });
325
341
  case 'function_expr':
326
342
  return Object.assign(Object.assign({}, e), { args: e.args.map(resolve) });
343
+ case 'aggregate_expr':
344
+ return Object.assign(Object.assign({}, e), { args: e.args.map(resolve) });
327
345
  case 'logical_expr':
328
346
  return Object.assign(Object.assign({}, e), { expressions: e.expressions.map(resolve) });
329
347
  case 'not_expr':
@@ -334,6 +352,51 @@ export function resolveExpressionRefs(expr, refs, rootAlias, resolveTraversal) {
334
352
  };
335
353
  return resolve(expr);
336
354
  }
355
+ /**
356
+ * Represents an EXISTS quantifier condition over a collection path.
357
+ * Used by .some(), .every(), .none() on QueryShapeSet.
358
+ * Supports .and() / .or() / .not() chaining to compose with other conditions.
359
+ *
360
+ * The desugar/lower pipeline recognizes this via isExistsCondition() and builds
361
+ * IRExistsExpression with proper traversal patterns and aliases.
362
+ */
363
+ export class ExistsCondition {
364
+ constructor(
365
+ /** PropertyShape IDs forming the path from root to the collection. */
366
+ pathSegmentIds,
367
+ /** The inner predicate ExpressionNode. */
368
+ predicate,
369
+ /** Whether the EXISTS is negated (NOT EXISTS). */
370
+ negated = false,
371
+ /** Optional chained and/or conditions. */
372
+ _chain = []) {
373
+ this.pathSegmentIds = pathSegmentIds;
374
+ this.predicate = predicate;
375
+ this.negated = negated;
376
+ this._chain = _chain;
377
+ }
378
+ not() {
379
+ return new ExistsCondition(this.pathSegmentIds, this.predicate, !this.negated, this._chain);
380
+ }
381
+ and(other) {
382
+ return new ExistsCondition(this.pathSegmentIds, this.predicate, this.negated, [
383
+ ...this._chain,
384
+ { op: 'and', condition: other instanceof ExistsCondition ? other : other instanceof ExpressionNode ? other : new ExpressionNode(toIRExpression(other)) },
385
+ ]);
386
+ }
387
+ or(other) {
388
+ return new ExistsCondition(this.pathSegmentIds, this.predicate, this.negated, [
389
+ ...this._chain,
390
+ { op: 'or', condition: other instanceof ExistsCondition ? other : other instanceof ExpressionNode ? other : new ExpressionNode(toIRExpression(other)) },
391
+ ]);
392
+ }
393
+ get chain() {
394
+ return this._chain;
395
+ }
396
+ }
397
+ export function isExistsCondition(value) {
398
+ return value instanceof ExistsCondition;
399
+ }
337
400
  /** Check if a value is an ExpressionNode. */
338
401
  export function isExpressionNode(value) {
339
402
  return value instanceof ExpressionNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionNode.js","sourceRoot":"","sources":["../../../src/expressions/ExpressionNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionNode.js","sourceRoot":"","sources":["../../../src/expressions/ExpressionNode.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -28,7 +28,7 @@ import * as cached from './utils/cached.js';
28
28
  import * as List from './shapes/List.js';
29
29
  import * as ICoreIterable from './interfaces/ICoreIterable.js';
30
30
  import * as IFileStore from './interfaces/IFileStore.js';
31
- import * as IQuadStore from './interfaces/IQuadStore.js';
31
+ import * as IDataset from './interfaces/IDataset.js';
32
32
  import * as rdf from './ontologies/rdf.js';
33
33
  import * as rdfs from './ontologies/rdfs.js';
34
34
  import * as xsd from './ontologies/xsd.js';
@@ -74,7 +74,7 @@ export function initModularApp() {
74
74
  List,
75
75
  ICoreIterable,
76
76
  IFileStore,
77
- IQuadStore,
77
+ IDataset,
78
78
  SelectQuery,
79
79
  UpdateQuery,
80
80
  MutationQuery,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,17 +4,15 @@ import type { UpdateQuery } from '../queries/UpdateQuery.js';
4
4
  import type { DeleteQuery, DeleteResponse } from '../queries/DeleteQuery.js';
5
5
  import type { SelectResult, CreateResult, UpdateResult } from '../queries/IntermediateRepresentation.js';
6
6
  /**
7
- * Store interface for executing IR queries.
8
- *
9
- * Implement this interface to back Linked with a custom storage engine
10
- * (SPARQL endpoint, SQL database, in-memory store, etc.).
7
+ * Universal dataset interface. Every dataset in the Linked framework accepts
8
+ * Linked Queries as input. The implementing class decides how to handle them —
9
+ * compiling to SPARQL for Fuseki, forwarding as-is to a Host Agent API, etc.
11
10
  *
12
11
  * Each method receives a canonical IR query object and returns the result.
13
12
  * The calling layer (LinkedStorage via queryDispatch) threads the precise
14
- * DSL-level TypeScript result type back to the caller — the store only
15
- * needs to produce data that matches the structural result types.
13
+ * DSL-level TypeScript result type back to the caller.
16
14
  */
17
- export interface IQuadStore {
15
+ export interface IDataset {
18
16
  /**
19
17
  * Prepares the store to be used.
20
18
  */
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDataset.js","sourceRoot":"","sources":["../../../src/interfaces/IDataset.ts"],"names":[],"mappings":""}
@@ -4,7 +4,7 @@ import { MutationQueryFactory } from './MutationQuery.js';
4
4
  import { IRCreateMutation } from './IntermediateRepresentation.js';
5
5
  /**
6
6
  * The canonical CreateQuery type — an IR AST node representing a create mutation.
7
- * This is the type received by IQuadStore.createQuery().
7
+ * This is the type received by IDataset.createQuery().
8
8
  */
9
9
  export type CreateQuery = IRCreateMutation;
10
10
  export type CreateResponse<U> = AddId<U, true>;
@@ -4,7 +4,7 @@ import { MutationQueryFactory, NodeId } from './MutationQuery.js';
4
4
  import { IRDeleteMutation, IRDeleteAllMutation, IRDeleteWhereMutation } from './IntermediateRepresentation.js';
5
5
  /**
6
6
  * The canonical DeleteQuery type — an IR AST node representing a delete mutation.
7
- * This is the type received by IQuadStore.deleteQuery().
7
+ * This is the type received by IDataset.deleteQuery().
8
8
  */
9
9
  export type DeleteQuery = IRDeleteMutation | IRDeleteAllMutation | IRDeleteWhereMutation;
10
10
  export type DeleteResponse = {
@@ -23,10 +23,6 @@ export type FieldSetEntry = {
23
23
  subSelect?: FieldSet;
24
24
  aggregation?: 'count';
25
25
  customKey?: string;
26
- evaluation?: {
27
- method: string;
28
- wherePath: any;
29
- };
30
26
  /** Component preload composition — the FieldSet comes from a linked component's own query,
31
27
  * merged in via `preloadFor()`. Distinct from subSelect which is a user-authored nested query. */
32
28
  preloadSubSelect?: FieldSet;
@@ -49,10 +45,6 @@ export type FieldSetFieldJSON = {
49
45
  subSelect?: FieldSetJSON;
50
46
  aggregation?: string;
51
47
  customKey?: string;
52
- evaluation?: {
53
- method: string;
54
- wherePath: any;
55
- };
56
48
  };
57
49
  /** JSON representation of a FieldSet. */
58
50
  export type FieldSetJSON = {
@@ -14,12 +14,6 @@ const isSetSize = (obj) => obj !== null &&
14
14
  typeof obj.getPropertyPath === 'function' &&
15
15
  // SetSize has a 'countable' field (may be undefined) and 'label' field
16
16
  'label' in obj;
17
- // Evaluation: has .method (WhereMethods), .value (QueryBuilderObject), .getWherePath()
18
- const isEvaluation = (obj) => obj !== null &&
19
- typeof obj === 'object' &&
20
- 'method' in obj &&
21
- 'value' in obj &&
22
- typeof obj.getWherePath === 'function';
23
17
  // BoundComponent: has .source (QueryBuilderObject) and .originalValue (component-like)
24
18
  const isBoundComponent = (obj) => obj !== null &&
25
19
  typeof obj === 'object' &&
@@ -211,9 +205,6 @@ export class FieldSet {
211
205
  if (entry.customKey) {
212
206
  field.customKey = entry.customKey;
213
207
  }
214
- if (entry.evaluation) {
215
- field.evaluation = entry.evaluation;
216
- }
217
208
  return field;
218
209
  }),
219
210
  };
@@ -238,9 +229,6 @@ export class FieldSet {
238
229
  if (field.customKey) {
239
230
  entry.customKey = field.customKey;
240
231
  }
241
- if (field.evaluation) {
242
- entry.evaluation = field.evaluation;
243
- }
244
232
  return entry;
245
233
  });
246
234
  return new FieldSet(resolvedShape, entries);
@@ -347,10 +335,6 @@ export class FieldSet {
347
335
  if (isSetSize(result)) {
348
336
  return [FieldSet.convertTraceResult(nodeShape, result)];
349
337
  }
350
- // Single Evaluation (e.g. p.bestFriend.equals(...))
351
- if (isEvaluation(result)) {
352
- return [FieldSet.convertTraceResult(nodeShape, result)];
353
- }
354
338
  // Single BoundComponent (e.g. p.bestFriend.preloadFor(comp))
355
339
  if (isBoundComponent(result)) {
356
340
  return [FieldSet.convertTraceResult(nodeShape, result)];
@@ -392,15 +376,6 @@ export class FieldSet {
392
376
  subSelect: subSelect,
393
377
  };
394
378
  }
395
- // Evaluation → where-as-selection (e.g. p.bestFriend.equals(...) used as select)
396
- // The Evaluation's .value is the QueryBuilderObject chain leading to the comparison.
397
- if (isEvaluation(obj)) {
398
- const segments = FieldSet.collectPropertySegments(obj.value);
399
- return {
400
- path: new PropertyPath(rootShape, segments),
401
- evaluation: { method: obj.method, wherePath: obj.getWherePath() },
402
- };
403
- }
404
379
  // BoundComponent → preload composition (e.g. p.bestFriend.preloadFor(component))
405
380
  // Extract the component's FieldSet and store it as preloadSubSelect.
406
381
  if (isBoundComponent(obj)) {
@@ -533,10 +508,6 @@ export class FieldSet {
533
508
  if (isSetSize(traceResponse)) {
534
509
  return [FieldSet.convertTraceResult(rootShape, traceResponse)];
535
510
  }
536
- // Single Evaluation
537
- if (isEvaluation(traceResponse)) {
538
- return [FieldSet.convertTraceResult(rootShape, traceResponse)];
539
- }
540
511
  // Single ExpressionNode
541
512
  if (isExpressionNode(traceResponse)) {
542
513
  return [FieldSet.convertTraceResult(rootShape, traceResponse)];
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSet.js","sourceRoot":"","sources":["../../../src/queries/FieldSet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldSet.js","sourceRoot":"","sources":["../../../src/queries/FieldSet.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,5 @@
1
- import { DesugaredExpressionWhere, DesugaredSelectionPath, DesugaredSelectQuery, DesugaredWhere, DesugaredWhereArg, PropertyPathSegment } from './IRDesugar.js';
2
- import { WhereMethods } from './SelectQuery.js';
3
- export type CanonicalWhereComparison = {
4
- kind: 'where_binary';
5
- operator: WhereMethods;
6
- left: DesugaredSelectionPath;
7
- right: DesugaredWhereArg[];
8
- };
9
- export type CanonicalWhereLogical = {
10
- kind: 'where_logical';
11
- operator: 'and' | 'or';
12
- expressions: CanonicalWhereExpression[];
13
- };
14
- export type CanonicalWhereExists = {
15
- kind: 'where_exists';
16
- path: DesugaredSelectionPath;
17
- predicate: CanonicalWhereExpression;
18
- };
19
- export type CanonicalWhereNot = {
20
- kind: 'where_not';
21
- expression: CanonicalWhereExpression;
22
- };
23
- export type CanonicalWhereExpression = CanonicalWhereComparison | CanonicalWhereLogical | CanonicalWhereExists | CanonicalWhereNot | DesugaredExpressionWhere;
1
+ import { DesugaredExpressionWhere, DesugaredExistsWhere, DesugaredSelectQuery, DesugaredWhere, PropertyPathSegment } from './IRDesugar.js';
2
+ export type CanonicalWhereExpression = DesugaredExpressionWhere | DesugaredExistsWhere;
24
3
  /** A canonicalized MINUS entry. */
25
4
  export type CanonicalMinusEntry = {
26
5
  shapeId?: string;
@@ -32,8 +11,9 @@ export type CanonicalDesugaredSelectQuery = Omit<DesugaredSelectQuery, 'where' |
32
11
  minusEntries?: CanonicalMinusEntry[];
33
12
  };
34
13
  /**
35
- * Recursively rewrites a desugared where-clause into canonical form:
36
- * flattens nested AND/OR groups, converts quantifiers (some/every) to exists patterns.
14
+ * Recursively rewrites a desugared where-clause into canonical form.
15
+ * With the Evaluation class retired, this is now a simple passthrough
16
+ * for expression and exists where types.
37
17
  */
38
18
  export declare const canonicalizeWhere: (where: DesugaredWhere) => CanonicalWhereExpression;
39
19
  /**
@@ -1,114 +1,19 @@
1
- import { WhereMethods } from './SelectQuery.js';
2
- const toComparison = (comparison) => {
3
- return {
4
- kind: 'where_binary',
5
- operator: comparison.operator,
6
- left: comparison.left,
7
- right: comparison.right,
8
- };
9
- };
10
- const isDesugaredWhere = (arg) => {
11
- return (typeof arg === 'object' &&
12
- !!arg &&
13
- 'kind' in arg &&
14
- (arg.kind === 'where_comparison' ||
15
- arg.kind === 'where_boolean'));
16
- };
17
- const toExists = (comparison) => {
18
- const nested = comparison.right.find(isDesugaredWhere);
19
- if (!nested) {
20
- return toComparison(comparison);
21
- }
22
- const nestedExpr = canonicalizeWhere(nested);
23
- if (comparison.operator === WhereMethods.SOME) {
24
- return {
25
- kind: 'where_exists',
26
- path: comparison.left,
27
- predicate: nestedExpr,
28
- };
29
- }
30
- if (comparison.operator === WhereMethods.EVERY) {
31
- return {
32
- kind: 'where_not',
33
- expression: {
34
- kind: 'where_exists',
35
- path: comparison.left,
36
- predicate: {
37
- kind: 'where_not',
38
- expression: nestedExpr,
39
- },
40
- },
41
- };
42
- }
43
- return toComparison(comparison);
44
- };
45
- const canonicalizeComparison = (comparison) => {
46
- if (comparison.operator === WhereMethods.SOME ||
47
- comparison.operator === WhereMethods.EVERY ||
48
- comparison.operator === 'some' ||
49
- comparison.operator === 'every') {
50
- return toExists(comparison);
51
- }
52
- return toComparison(comparison);
53
- };
54
- const flattenLogical = (operator, left, right) => {
55
- const expressions = [];
56
- if (left.kind === 'where_logical' && left.operator === operator) {
57
- expressions.push(...left.expressions);
58
- }
59
- else {
60
- expressions.push(left);
61
- }
62
- if (right.kind === 'where_logical' && right.operator === operator) {
63
- expressions.push(...right.expressions);
64
- }
65
- else {
66
- expressions.push(right);
67
- }
68
- return {
69
- kind: 'where_logical',
70
- operator,
71
- expressions,
72
- };
73
- };
74
1
  /**
75
- * Recursively rewrites a desugared where-clause into canonical form:
76
- * flattens nested AND/OR groups, converts quantifiers (some/every) to exists patterns.
2
+ * Recursively rewrites a desugared where-clause into canonical form.
3
+ * With the Evaluation class retired, this is now a simple passthrough
4
+ * for expression and exists where types.
77
5
  */
78
6
  export const canonicalizeWhere = (where) => {
79
7
  // ExpressionNode-based WHERE — passthrough (already canonical)
80
8
  if (where.kind === 'where_expression') {
81
9
  return where;
82
10
  }
83
- if (where.kind === 'where_comparison') {
84
- if (where.operator === WhereMethods.EQUALS) {
85
- const nestedQuantifier = where.right.find((arg) => isDesugaredWhere(arg) &&
86
- arg.kind === 'where_comparison' &&
87
- (arg.operator === WhereMethods.SOME ||
88
- arg.operator === WhereMethods.EVERY));
89
- if (nestedQuantifier) {
90
- return canonicalizeWhere(nestedQuantifier);
91
- }
92
- }
93
- if (where.operator === WhereMethods.SOME ||
94
- where.operator === WhereMethods.EVERY ||
95
- where.operator === 'some' ||
96
- where.operator === 'every') {
97
- return toExists(where);
98
- }
99
- return toComparison(where);
11
+ // ExistsCondition-based WHERE passthrough to lowering
12
+ if (where.kind === 'where_exists_condition') {
13
+ return where;
100
14
  }
101
- const grouped = where;
102
- let current = canonicalizeComparison(grouped.first);
103
- grouped.andOr.forEach((token) => {
104
- if (token.and) {
105
- current = flattenLogical('and', current, canonicalizeWhere(token.and));
106
- }
107
- else if (token.or) {
108
- current = flattenLogical('or', current, canonicalizeWhere(token.or));
109
- }
110
- });
111
- return current;
15
+ const _exhaustive = where;
16
+ throw new Error(`Unknown where kind: ${_exhaustive.kind}`);
112
17
  };
113
18
  /**
114
19
  * Canonicalizes a desugared select query by normalizing its where-clause.
@@ -1 +1 @@
1
- {"version":3,"file":"IRCanonicalize.js","sourceRoot":"","sources":["../../../src/queries/IRCanonicalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IRCanonicalize.js","sourceRoot":"","sources":["../../../src/queries/IRCanonicalize.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAqB,EACK,EAAE;IAC5B,+DAA+D;IAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,wDAAwD;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAU,KAAK,CAAC;IACjC,MAAM,IAAI,KAAK,CAAC,uBAAwB,WAA8B,CAAC,IAAI,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,KAA2B,EACI,EAAE;;IACjC,uCACK,KAAK,KACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,YAAY,EAAE,MAAA,KAAK,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/D,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC,IACH;AACJ,CAAC,CAAC"}