flowquery 1.0.67 → 1.0.68

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.
@@ -8,15 +8,23 @@ const node_1 = __importDefault(require("../graph/node"));
8
8
  const relationship_1 = __importDefault(require("../graph/relationship"));
9
9
  const ast_node_1 = __importDefault(require("./ast_node"));
10
10
  const lookup_1 = __importDefault(require("./data_structures/lookup"));
11
+ const f_string_1 = __importDefault(require("./expressions/f_string"));
11
12
  const identifier_1 = __importDefault(require("./expressions/identifier"));
13
+ const operator_1 = require("./expressions/operator");
14
+ const parameter_reference_1 = __importDefault(require("./expressions/parameter_reference"));
12
15
  const reference_1 = __importDefault(require("./expressions/reference"));
13
16
  const subquery_expression_1 = __importDefault(require("./expressions/subquery_expression"));
17
+ const aggregated_return_1 = __importDefault(require("./operations/aggregated_return"));
18
+ const aggregated_with_1 = __importDefault(require("./operations/aggregated_with"));
14
19
  const create_node_1 = __importDefault(require("./operations/create_node"));
15
20
  const create_relationship_1 = __importDefault(require("./operations/create_relationship"));
16
21
  const delete_node_1 = __importDefault(require("./operations/delete_node"));
17
22
  const delete_relationship_1 = __importDefault(require("./operations/delete_relationship"));
18
23
  const load_1 = __importDefault(require("./operations/load"));
19
24
  const match_1 = __importDefault(require("./operations/match"));
25
+ const order_by_1 = __importDefault(require("./operations/order_by"));
26
+ const return_1 = __importDefault(require("./operations/return"));
27
+ const with_1 = __importDefault(require("./operations/with"));
20
28
  /**
21
29
  * Walks one or more parsed FlowQuery statement ASTs and extracts a
22
30
  * `StatementInfo` describing the labels, relationship types, sources, and
@@ -41,12 +49,18 @@ class StatementInfoCrawler {
41
49
  this._relProps = new Map();
42
50
  this._nodeSources = new Map();
43
51
  this._relSources = new Map();
52
+ this._nodeLiterals = new Map();
53
+ this._relLiterals = new Map();
54
+ this._nodeDeclaredProps = new Map();
55
+ this._relDeclaredProps = new Map();
56
+ this._nodeDeclaredSources = new Map();
57
+ this._relDeclaredSources = new Map();
44
58
  this._ownCreatedNodeLabels = new Set();
45
59
  this._ownCreatedRelTypes = new Set();
46
60
  /**
47
61
  * For each inline CREATE VIRTUAL clause, the (label or type) it
48
62
  * declares and its inner statement AST. The label key receives the
49
- * sources collected from the statement during {@link resolveRegisteredSources}.
63
+ * sources collected from the statement during {@link resolveRegisteredDefinitions}.
50
64
  */
51
65
  this._ownNodeCreates = [];
52
66
  this._ownRelCreates = [];
@@ -63,7 +77,7 @@ class StatementInfoCrawler {
63
77
  for (const root of roots) {
64
78
  this.crawlStatement(root);
65
79
  }
66
- this.resolveRegisteredSources();
80
+ this.resolveRegisteredDefinitions();
67
81
  return this.snapshot();
68
82
  }
69
83
  toIterable(statements) {
@@ -79,6 +93,12 @@ class StatementInfoCrawler {
79
93
  this._relProps = new Map();
80
94
  this._nodeSources = new Map();
81
95
  this._relSources = new Map();
96
+ this._nodeLiterals = new Map();
97
+ this._relLiterals = new Map();
98
+ this._nodeDeclaredProps = new Map();
99
+ this._relDeclaredProps = new Map();
100
+ this._nodeDeclaredSources = new Map();
101
+ this._relDeclaredSources = new Map();
82
102
  this._ownCreatedNodeLabels = new Set();
83
103
  this._ownCreatedRelTypes = new Set();
84
104
  this._ownNodeCreates = [];
@@ -142,15 +162,17 @@ class StatementInfoCrawler {
142
162
  if (element instanceof node_1.default) {
143
163
  for (const lbl of element.labels)
144
164
  this._nodeLabels.add(lbl);
145
- for (const propKey of element.properties.keys()) {
165
+ for (const [propKey, expr] of element.properties) {
146
166
  this.addNodeProp(element.labels, propKey);
167
+ this.tryAddNodeLiteral(element.labels, propKey, expr);
147
168
  }
148
169
  }
149
170
  else if (element instanceof relationship_1.default) {
150
171
  for (const t of element.types)
151
172
  this._relTypes.add(t);
152
- for (const propKey of element.properties.keys()) {
173
+ for (const [propKey, expr] of element.properties) {
153
174
  this.addRelProp(element.types, propKey);
175
+ this.tryAddRelLiteral(element.types, propKey, expr);
154
176
  }
155
177
  }
156
178
  }
@@ -166,16 +188,22 @@ class StatementInfoCrawler {
166
188
  this.collectPropertyAccesses(op);
167
189
  }
168
190
  }
169
- resolveRegisteredSources() {
170
- // Sources from inline CREATE VIRTUAL clauses in the crawled statements.
191
+ resolveRegisteredDefinitions() {
192
+ // Sources and declared properties from inline CREATE VIRTUAL clauses
193
+ // in the crawled statements.
171
194
  for (const { label, statement } of this._ownNodeCreates) {
172
195
  this.collectSources(statement, this.getOrCreate(this._nodeSources, label));
196
+ this.collectSources(statement, this.getOrCreate(this._nodeDeclaredSources, label));
197
+ this.collectDeclaredProps(statement, this.getOrCreate(this._nodeDeclaredProps, label));
173
198
  }
174
199
  for (const { type, statement } of this._ownRelCreates) {
175
200
  this.collectSources(statement, this.getOrCreate(this._relSources, type));
201
+ this.collectSources(statement, this.getOrCreate(this._relDeclaredSources, type));
202
+ this.collectDeclaredProps(statement, this.getOrCreate(this._relDeclaredProps, type));
176
203
  }
177
- // Sources from already-registered virtuals that the crawled statements
178
- // reference (e.g. MATCH/DELETE against a virtual registered earlier).
204
+ // Sources / declared properties from already-registered virtuals
205
+ // that the crawled statements reference (e.g. MATCH/DELETE against
206
+ // a virtual registered earlier).
179
207
  const db = database_1.default.getInstance();
180
208
  for (const label of this._nodeLabels) {
181
209
  if (this._ownCreatedNodeLabels.has(label))
@@ -183,6 +211,8 @@ class StatementInfoCrawler {
183
211
  const physical = db.nodes.get(label);
184
212
  if (physical === null || physical === void 0 ? void 0 : physical.statement) {
185
213
  this.collectSources(physical.statement, this.getOrCreate(this._nodeSources, label));
214
+ this.collectSources(physical.statement, this.getOrCreate(this._nodeDeclaredSources, label));
215
+ this.collectDeclaredProps(physical.statement, this.getOrCreate(this._nodeDeclaredProps, label));
186
216
  }
187
217
  }
188
218
  for (const type of this._relTypes) {
@@ -194,6 +224,8 @@ class StatementInfoCrawler {
194
224
  for (const physical of typeMap.values()) {
195
225
  if (physical.statement) {
196
226
  this.collectSources(physical.statement, this.getOrCreate(this._relSources, type));
227
+ this.collectSources(physical.statement, this.getOrCreate(this._relDeclaredSources, type));
228
+ this.collectDeclaredProps(physical.statement, this.getOrCreate(this._relDeclaredProps, type));
197
229
  }
198
230
  }
199
231
  }
@@ -206,6 +238,13 @@ class StatementInfoCrawler {
206
238
  }
207
239
  return set;
208
240
  }
241
+ /**
242
+ * Walks the AST rooted at `root` and records every property access
243
+ * (via `Lookup`) on a known node/relationship binding, every literal
244
+ * value supplied via equality / `IN` predicates, and descends into
245
+ * subqueries plus the privately-held WHERE / ORDER BY ASTs of
246
+ * RETURN-style operations.
247
+ */
209
248
  collectPropertyAccesses(root) {
210
249
  const visited = new Set();
211
250
  const stack = [root];
@@ -215,20 +254,13 @@ class StatementInfoCrawler {
215
254
  continue;
216
255
  visited.add(node);
217
256
  if (node instanceof lookup_1.default) {
218
- const variable = node.variable;
219
- const index = node.index;
220
- if (variable instanceof reference_1.default && index instanceof identifier_1.default) {
221
- const referred = variable.referred;
222
- const propName = index.value();
223
- if (typeof propName === "string" && propName.length > 0) {
224
- if (referred instanceof node_1.default) {
225
- this.addNodeProp(referred.labels, propName);
226
- }
227
- else if (referred instanceof relationship_1.default) {
228
- this.addRelProp(referred.types, propName);
229
- }
230
- }
231
- }
257
+ this.handleLookupAccess(node);
258
+ }
259
+ if (node instanceof operator_1.Equals) {
260
+ this.handleEqualityLiteral(node);
261
+ }
262
+ else if (node instanceof operator_1.In) {
263
+ this.handleInLiteral(node);
232
264
  }
233
265
  for (const child of node.getChildren()) {
234
266
  stack.push(child);
@@ -240,6 +272,196 @@ class StatementInfoCrawler {
240
272
  if (inner !== undefined)
241
273
  stack.push(inner);
242
274
  }
275
+ // RETURN / AggregatedReturn hold WHERE and ORDER BY clauses in
276
+ // private fields; descend into the ones with expression trees.
277
+ if (node instanceof return_1.default) {
278
+ const w = node._where;
279
+ const o = node._orderBy;
280
+ if (w)
281
+ stack.push(w);
282
+ if (o)
283
+ stack.push(o);
284
+ }
285
+ // OrderBy stores its sort expressions in a private array of
286
+ // SortField objects rather than as AST children; descend
287
+ // explicitly.
288
+ if (node instanceof order_by_1.default) {
289
+ for (const field of node.fields) {
290
+ stack.push(field.expression);
291
+ }
292
+ }
293
+ }
294
+ }
295
+ handleLookupAccess(node) {
296
+ const target = this.resolveLookupTarget(node);
297
+ if (target === null)
298
+ return;
299
+ if (target.kind === "node") {
300
+ this.addNodeProp(target.labels, target.prop);
301
+ }
302
+ else {
303
+ this.addRelProp(target.types, target.prop);
304
+ }
305
+ }
306
+ /**
307
+ * Resolves a `Lookup` of the shape `alias.prop` to the labels/types
308
+ * of the bound entity and the property name. Returns `null` if the
309
+ * lookup isn't of that shape or its variable doesn't resolve to a
310
+ * Node/Relationship.
311
+ */
312
+ resolveLookupTarget(lookup) {
313
+ const variable = lookup.variable;
314
+ const index = lookup.index;
315
+ if (!(variable instanceof reference_1.default) || !(index instanceof identifier_1.default))
316
+ return null;
317
+ const propName = index.value();
318
+ if (typeof propName !== "string" || propName.length === 0)
319
+ return null;
320
+ const referred = variable.referred;
321
+ if (referred instanceof node_1.default) {
322
+ return { kind: "node", labels: referred.labels, prop: propName };
323
+ }
324
+ if (referred instanceof relationship_1.default) {
325
+ return { kind: "rel", types: referred.types, prop: propName };
326
+ }
327
+ return null;
328
+ }
329
+ handleEqualityLiteral(op) {
330
+ const lhs = op.lhs;
331
+ const rhs = op.rhs;
332
+ // Try both orientations: `alias.prop = literal` and `literal = alias.prop`.
333
+ this.tryRecordPropEquality(lhs, rhs);
334
+ this.tryRecordPropEquality(rhs, lhs);
335
+ }
336
+ tryRecordPropEquality(side, other) {
337
+ if (!(side instanceof lookup_1.default))
338
+ return;
339
+ if (!this.isLiteralAst(other))
340
+ return;
341
+ const target = this.resolveLookupTarget(side);
342
+ if (target === null)
343
+ return;
344
+ const value = this.safeEvaluate(other);
345
+ if (value === undefined)
346
+ return;
347
+ if (target.kind === "node") {
348
+ this.addNodeLiteralValue(target.labels, target.prop, value);
349
+ }
350
+ else {
351
+ this.addRelLiteralValue(target.types, target.prop, value);
352
+ }
353
+ }
354
+ handleInLiteral(op) {
355
+ const lhs = op.lhs;
356
+ const rhs = op.rhs;
357
+ if (!(lhs instanceof lookup_1.default))
358
+ return;
359
+ if (!this.isLiteralAst(rhs))
360
+ return;
361
+ const target = this.resolveLookupTarget(lhs);
362
+ if (target === null)
363
+ return;
364
+ const value = this.safeEvaluate(rhs);
365
+ if (!Array.isArray(value))
366
+ return;
367
+ for (const item of value) {
368
+ if (target.kind === "node") {
369
+ this.addNodeLiteralValue(target.labels, target.prop, item);
370
+ }
371
+ else {
372
+ this.addRelLiteralValue(target.types, target.prop, item);
373
+ }
374
+ }
375
+ }
376
+ /**
377
+ * Returns true iff the AST subtree contains only literal nodes (no
378
+ * References, ParameterReferences, Lookups, FStrings, or
379
+ * SubqueryExpressions). Used to guard literal-value extraction
380
+ * against runtime-dependent expressions.
381
+ */
382
+ isLiteralAst(node) {
383
+ if (node instanceof reference_1.default ||
384
+ node instanceof parameter_reference_1.default ||
385
+ node instanceof lookup_1.default ||
386
+ node instanceof f_string_1.default ||
387
+ node instanceof subquery_expression_1.default) {
388
+ return false;
389
+ }
390
+ for (const child of node.getChildren()) {
391
+ if (!this.isLiteralAst(child))
392
+ return false;
393
+ }
394
+ return true;
395
+ }
396
+ safeEvaluate(node) {
397
+ try {
398
+ return node.value();
399
+ }
400
+ catch (_a) {
401
+ return undefined;
402
+ }
403
+ }
404
+ tryAddNodeLiteral(labels, prop, expr) {
405
+ if (!this.isLiteralAst(expr))
406
+ return;
407
+ const value = this.safeEvaluate(expr);
408
+ if (value === undefined)
409
+ return;
410
+ this.addNodeLiteralValue(labels, prop, value);
411
+ }
412
+ tryAddRelLiteral(types, prop, expr) {
413
+ if (!this.isLiteralAst(expr))
414
+ return;
415
+ const value = this.safeEvaluate(expr);
416
+ if (value === undefined)
417
+ return;
418
+ this.addRelLiteralValue(types, prop, value);
419
+ }
420
+ /**
421
+ * Walks a virtual definition's inner statement to find the final
422
+ * RETURN-style projection and records its aliases as the declared
423
+ * property set. Falls back to the last WITH if no RETURN exists.
424
+ */
425
+ collectDeclaredProps(statement, target) {
426
+ let op = null;
427
+ try {
428
+ op = statement.firstChild();
429
+ }
430
+ catch (_a) {
431
+ return;
432
+ }
433
+ let lastReturn = null;
434
+ let lastWith = null;
435
+ while (op !== null) {
436
+ if (op instanceof return_1.default || op instanceof aggregated_return_1.default) {
437
+ lastReturn = op;
438
+ }
439
+ else if (op instanceof with_1.default || op instanceof aggregated_with_1.default) {
440
+ lastWith = op;
441
+ }
442
+ op = op.next;
443
+ }
444
+ const projection = lastReturn !== null && lastReturn !== void 0 ? lastReturn : lastWith;
445
+ if (projection === null)
446
+ return;
447
+ for (const alias of this.projectionAliases(projection)) {
448
+ target.add(alias);
449
+ }
450
+ }
451
+ /**
452
+ * Yields the alias of every projected expression in a Projection.
453
+ * Mirrors the alias-resolution logic of `Projection.expressions()`
454
+ * (which is protected).
455
+ */
456
+ *projectionAliases(projection) {
457
+ var _a;
458
+ const children = projection.getChildren();
459
+ for (let i = 0; i < children.length; i++) {
460
+ const expr = children[i];
461
+ const alias = (_a = expr.alias) !== null && _a !== void 0 ? _a : `expr${i}`;
462
+ if (typeof alias === "string" && alias.length > 0) {
463
+ yield alias;
464
+ }
243
465
  }
244
466
  }
245
467
  collectSources(statement, target) {
@@ -297,6 +519,85 @@ class StatementInfoCrawler {
297
519
  set.add(prop);
298
520
  }
299
521
  }
522
+ addNodeLiteralValue(labels, prop, value) {
523
+ for (const label of labels) {
524
+ if (!label)
525
+ continue;
526
+ let propMap = this._nodeLiterals.get(label);
527
+ if (propMap === undefined) {
528
+ propMap = new Map();
529
+ this._nodeLiterals.set(label, propMap);
530
+ }
531
+ this.appendUniqueLiteral(propMap, prop, value);
532
+ }
533
+ }
534
+ addRelLiteralValue(types, prop, value) {
535
+ for (const type of types) {
536
+ if (!type)
537
+ continue;
538
+ let propMap = this._relLiterals.get(type);
539
+ if (propMap === undefined) {
540
+ propMap = new Map();
541
+ this._relLiterals.set(type, propMap);
542
+ }
543
+ this.appendUniqueLiteral(propMap, prop, value);
544
+ }
545
+ }
546
+ appendUniqueLiteral(propMap, prop, value) {
547
+ let arr = propMap.get(prop);
548
+ if (arr === undefined) {
549
+ arr = [];
550
+ propMap.set(prop, arr);
551
+ }
552
+ for (const existing of arr) {
553
+ if (this.literalsEqual(existing, value))
554
+ return;
555
+ }
556
+ arr.push(value);
557
+ }
558
+ literalsEqual(a, b) {
559
+ if (a === b)
560
+ return true;
561
+ if (a === null || b === null || a === undefined || b === undefined)
562
+ return false;
563
+ if (typeof a !== typeof b)
564
+ return false;
565
+ if (typeof a !== "object")
566
+ return false;
567
+ if (Array.isArray(a) !== Array.isArray(b))
568
+ return false;
569
+ if (Array.isArray(a)) {
570
+ if (a.length !== b.length)
571
+ return false;
572
+ for (let i = 0; i < a.length; i++) {
573
+ if (!this.literalsEqual(a[i], b[i]))
574
+ return false;
575
+ }
576
+ return true;
577
+ }
578
+ const ka = Object.keys(a);
579
+ const kb = Object.keys(b);
580
+ if (ka.length !== kb.length)
581
+ return false;
582
+ for (const k of ka) {
583
+ if (!Object.prototype.hasOwnProperty.call(b, k))
584
+ return false;
585
+ if (!this.literalsEqual(a[k], b[k]))
586
+ return false;
587
+ }
588
+ return true;
589
+ }
590
+ literalsSnapshot(map, key) {
591
+ const propMap = map.get(key);
592
+ if (propMap === undefined || propMap.size === 0)
593
+ return {};
594
+ const out = {};
595
+ const sortedKeys = Array.from(propMap.keys()).sort();
596
+ for (const propKey of sortedKeys) {
597
+ out[propKey] = [...propMap.get(propKey)];
598
+ }
599
+ return out;
600
+ }
300
601
  snapshot() {
301
602
  const allSources = new Set();
302
603
  const nodes = {};
@@ -310,6 +611,7 @@ class StatementInfoCrawler {
310
611
  nodes[label] = {
311
612
  properties: props ? Array.from(props).sort() : [],
312
613
  sources: sources ? Array.from(sources).sort() : [],
614
+ literal_values: this.literalsSnapshot(this._nodeLiterals, label),
313
615
  };
314
616
  }
315
617
  const relationships = {};
@@ -323,8 +625,31 @@ class StatementInfoCrawler {
323
625
  relationships[type] = {
324
626
  properties: props ? Array.from(props).sort() : [],
325
627
  sources: sources ? Array.from(sources).sort() : [],
628
+ literal_values: this.literalsSnapshot(this._relLiterals, type),
326
629
  };
327
630
  }
631
+ const declaredNodes = {};
632
+ for (const label of this._nodeLabels) {
633
+ const props = this._nodeDeclaredProps.get(label);
634
+ const sources = this._nodeDeclaredSources.get(label);
635
+ if ((props && props.size > 0) || (sources && sources.size > 0)) {
636
+ declaredNodes[label] = {
637
+ properties: props ? Array.from(props).sort() : [],
638
+ sources: sources ? Array.from(sources).sort() : [],
639
+ };
640
+ }
641
+ }
642
+ const declaredRelationships = {};
643
+ for (const type of this._relTypes) {
644
+ const props = this._relDeclaredProps.get(type);
645
+ const sources = this._relDeclaredSources.get(type);
646
+ if ((props && props.size > 0) || (sources && sources.size > 0)) {
647
+ declaredRelationships[type] = {
648
+ properties: props ? Array.from(props).sort() : [],
649
+ sources: sources ? Array.from(sources).sort() : [],
650
+ };
651
+ }
652
+ }
328
653
  const info = {
329
654
  node_labels: Array.from(this._nodeLabels).sort(),
330
655
  relationship_types: Array.from(this._relTypes).sort(),
@@ -333,6 +658,10 @@ class StatementInfoCrawler {
333
658
  relationship_properties: {},
334
659
  nodes,
335
660
  relationships,
661
+ declared: {
662
+ nodes: declaredNodes,
663
+ relationships: declaredRelationships,
664
+ },
336
665
  };
337
666
  for (const [label, props] of this._nodeProps) {
338
667
  info.node_properties[label] = Array.from(props).sort();
@@ -346,13 +675,33 @@ class StatementInfoCrawler {
346
675
  * Returns a deep copy of a StatementInfo so callers can mutate it freely.
347
676
  */
348
677
  static clone(info) {
678
+ var _a, _b, _c, _d;
349
679
  const cloneProps = (props) => {
350
680
  const out = {};
351
681
  for (const [k, v] of Object.entries(props))
352
682
  out[k] = [...v];
353
683
  return out;
354
684
  };
685
+ const cloneLiterals = (literals) => {
686
+ const out = {};
687
+ for (const [k, v] of Object.entries(literals)) {
688
+ out[k] = v.map((item) => typeof item === "object" && item !== null ? structuredClone(item) : item);
689
+ }
690
+ return out;
691
+ };
355
692
  const cloneEntities = (entities) => {
693
+ var _a;
694
+ const out = {};
695
+ for (const [k, v] of Object.entries(entities)) {
696
+ out[k] = {
697
+ properties: [...v.properties],
698
+ sources: [...v.sources],
699
+ literal_values: cloneLiterals((_a = v.literal_values) !== null && _a !== void 0 ? _a : {}),
700
+ };
701
+ }
702
+ return out;
703
+ };
704
+ const cloneDeclared = (entities) => {
356
705
  const out = {};
357
706
  for (const [k, v] of Object.entries(entities)) {
358
707
  out[k] = {
@@ -370,6 +719,10 @@ class StatementInfoCrawler {
370
719
  relationship_properties: cloneProps(info.relationship_properties),
371
720
  nodes: cloneEntities(info.nodes),
372
721
  relationships: cloneEntities(info.relationships),
722
+ declared: {
723
+ nodes: cloneDeclared((_b = (_a = info.declared) === null || _a === void 0 ? void 0 : _a.nodes) !== null && _b !== void 0 ? _b : {}),
724
+ relationships: cloneDeclared((_d = (_c = info.declared) === null || _c === void 0 ? void 0 : _c.relationships) !== null && _d !== void 0 ? _d : {}),
725
+ },
373
726
  };
374
727
  }
375
728
  }
@@ -1 +1 @@
1
- {"version":3,"file":"statement_info_crawler.js","sourceRoot":"","sources":["../../src/parsing/statement_info_crawler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statement_info_crawler.js","sourceRoot":"","sources":["../../src/parsing/statement_info_crawler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowquery",
3
- "version": "1.0.67",
3
+ "version": "1.0.68",
4
4
  "description": "A declarative query language for data processing pipelines.",
5
5
  "main": "dist/index.node.js",
6
6
  "types": "dist/index.node.d.ts",