flowquery 1.0.71 → 1.0.73

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 (36) hide show
  1. package/dist/flowquery.min.js +1 -1
  2. package/dist/parsing/ast_node.d.ts +11 -0
  3. package/dist/parsing/ast_node.d.ts.map +1 -1
  4. package/dist/parsing/ast_node.js +13 -0
  5. package/dist/parsing/ast_node.js.map +1 -1
  6. package/dist/parsing/data_structures/list_comprehension.d.ts +1 -0
  7. package/dist/parsing/data_structures/list_comprehension.d.ts.map +1 -1
  8. package/dist/parsing/data_structures/list_comprehension.js +3 -0
  9. package/dist/parsing/data_structures/list_comprehension.js.map +1 -1
  10. package/dist/parsing/expressions/binding_reference.d.ts +11 -1
  11. package/dist/parsing/expressions/binding_reference.d.ts.map +1 -1
  12. package/dist/parsing/expressions/binding_reference.js +5 -1
  13. package/dist/parsing/expressions/binding_reference.js.map +1 -1
  14. package/dist/parsing/expressions/subquery_expression.d.ts +1 -0
  15. package/dist/parsing/expressions/subquery_expression.d.ts.map +1 -1
  16. package/dist/parsing/expressions/subquery_expression.js +3 -0
  17. package/dist/parsing/expressions/subquery_expression.js.map +1 -1
  18. package/dist/parsing/functions/predicate_function.d.ts +1 -0
  19. package/dist/parsing/functions/predicate_function.d.ts.map +1 -1
  20. package/dist/parsing/functions/predicate_function.js +3 -0
  21. package/dist/parsing/functions/predicate_function.js.map +1 -1
  22. package/dist/parsing/operations/aggregated_return.d.ts.map +1 -1
  23. package/dist/parsing/operations/aggregated_return.js +1 -4
  24. package/dist/parsing/operations/aggregated_return.js.map +1 -1
  25. package/dist/parsing/operations/aggregated_with.d.ts.map +1 -1
  26. package/dist/parsing/operations/aggregated_with.js +1 -1
  27. package/dist/parsing/operations/aggregated_with.js.map +1 -1
  28. package/dist/parsing/operations/group_by.d.ts +3 -2
  29. package/dist/parsing/operations/group_by.d.ts.map +1 -1
  30. package/dist/parsing/operations/group_by.js +6 -8
  31. package/dist/parsing/operations/group_by.js.map +1 -1
  32. package/dist/parsing/parser.d.ts +7 -0
  33. package/dist/parsing/parser.d.ts.map +1 -1
  34. package/dist/parsing/parser.js +31 -3
  35. package/dist/parsing/parser.js.map +1 -1
  36. package/package.json +1 -1
@@ -61,6 +61,17 @@ declare class ASTNode {
61
61
  * @returns The node's value, or null if not applicable
62
62
  */
63
63
  value(): any;
64
+ /**
65
+ * Whether this node introduces its own variable scope (e.g. the
66
+ * iteration variable of a predicate function / list comprehension,
67
+ * or a nested sub-query). References inside such a node are either
68
+ * binders or resolved within that inner scope, so outer-scope
69
+ * rewrites (such as `LET`-binding resolution in projections) must
70
+ * not descend into them. Override in scope-introducing subclasses.
71
+ *
72
+ * @returns True if the node owns an inner variable scope
73
+ */
74
+ introducesScope(): boolean;
64
75
  /**
65
76
  * Checks if this node represents an operator.
66
77
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ast_node.d.ts","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAM,OAAO;IACT,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IACzC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKrC;;;;;;;OAOG;IACI,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAUlE;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAO5B;;;;;OAKG;IACI,SAAS,IAAI,OAAO;IAO3B;;;;OAIG;IACI,WAAW,IAAI,OAAO,EAAE;IAI/B;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,KAAK,IAAI,GAAG;IAInB;;;;OAIG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB;;;;;OAKG;IACH,OAAO,CAAE,MAAM;IAWf;;;;OAIG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM;CAG/B;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"ast_node.d.ts","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAM,OAAO;IACT,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IACzC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKrC;;;;;;;OAOG;IACI,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAUlE;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAO5B;;;;;OAKG;IACI,SAAS,IAAI,OAAO;IAO3B;;;;OAIG;IACI,WAAW,IAAI,OAAO,EAAE;IAI/B;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,KAAK,IAAI,GAAG;IAInB;;;;;;;;;OASG;IACI,eAAe,IAAI,OAAO;IAIjC;;;;OAIG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB;;;;;OAKG;IACH,OAAO,CAAE,MAAM;IAWf;;;;OAIG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM;CAG/B;AAED,eAAe,OAAO,CAAC"}
@@ -92,6 +92,19 @@ class ASTNode {
92
92
  value() {
93
93
  return null;
94
94
  }
95
+ /**
96
+ * Whether this node introduces its own variable scope (e.g. the
97
+ * iteration variable of a predicate function / list comprehension,
98
+ * or a nested sub-query). References inside such a node are either
99
+ * binders or resolved within that inner scope, so outer-scope
100
+ * rewrites (such as `LET`-binding resolution in projections) must
101
+ * not descend into them. Override in scope-introducing subclasses.
102
+ *
103
+ * @returns True if the node owns an inner variable scope
104
+ */
105
+ introducesScope() {
106
+ return false;
107
+ }
95
108
  /**
96
109
  * Checks if this node represents an operator.
97
110
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ast_node.js","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast_node.js","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ import Where from "../operations/where";
25
25
  */
26
26
  declare class ListComprehension extends ASTNode {
27
27
  private _valueHolder;
28
+ introducesScope(): boolean;
28
29
  /**
29
30
  * The iteration variable reference.
30
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"list_comprehension.d.ts","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,YAAY,CAAkC;IAEtD;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,UAAU,GAAG,IAAI,CAMtC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,KAAK,GAAG,IAAI,CAK/B;IAED;;;;;;OAMG;IACI,KAAK,IAAI,GAAG,EAAE;IAoBd,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"list_comprehension.d.ts","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,YAAY,CAAkC;IAE/C,eAAe,IAAI,OAAO;IAIjC;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,UAAU,GAAG,IAAI,CAMtC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,KAAK,GAAG,IAAI,CAK/B;IAED;;;;;;OAMG;IACI,KAAK,IAAI,GAAG,EAAE;IAoBd,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
@@ -32,6 +32,9 @@ class ListComprehension extends ast_node_1.default {
32
32
  super(...arguments);
33
33
  this._valueHolder = new value_holder_1.default();
34
34
  }
35
+ introducesScope() {
36
+ return true;
37
+ }
35
38
  /**
36
39
  * The iteration variable reference.
37
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"list_comprehension.js","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAGlC,6EAAoD;AACpD,gEAAwC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,iBAAkB,SAAQ,kBAAO;IAAvC;;QACY,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;IAoE1D,CAAC;IAlEG;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAW,OAAO;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,YAAY,eAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAkB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,IAAI,KAAK,YAAY,eAAK;gBAAE,OAAO,KAAc,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,QAAQ;QACX,OAAO,mBAAmB,CAAC;IAC/B,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"list_comprehension.js","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAGlC,6EAAoD;AACpD,gEAAwC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,iBAAkB,SAAQ,kBAAO;IAAvC;;QACY,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;IAwE1D,CAAC;IAtEU,eAAe;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAW,OAAO;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,YAAY,eAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAkB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,IAAI,KAAK,YAAY,eAAK;gBAAE,OAAO,KAAc,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,QAAQ;QACX,OAAO,mBAAmB,CAAC;IAC/B,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
@@ -7,7 +7,17 @@ import Identifier from "./identifier";
7
7
  * against the global {@link Bindings} singleton at execution time.
8
8
  */
9
9
  declare class BindingReference extends Identifier {
10
- constructor(value: string);
10
+ /**
11
+ * When `true`, resolving a name that is not present in the global
12
+ * {@link Bindings} store yields `undefined` instead of throwing.
13
+ *
14
+ * Used for projection references (`RETURN name` / `WITH name`),
15
+ * where a bare unresolved identifier historically evaluated to
16
+ * `undefined`; lenient mode preserves that behaviour for genuinely
17
+ * unknown names while still resolving real `LET` bindings.
18
+ */
19
+ private _optional;
20
+ constructor(value: string, optional?: boolean);
11
21
  get name(): string;
12
22
  toString(): string;
13
23
  value(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"binding_reference.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC;;;;;;GAMG;AACH,cAAM,gBAAiB,SAAQ,UAAU;gBACzB,KAAK,EAAE,MAAM;IAIzB,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,GAAG;CAOtB;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"binding_reference.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC;;;;;;GAMG;AACH,cAAM,gBAAiB,SAAQ,UAAU;IACrC;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,CAAU;gBAEf,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe;IAKpD,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,GAAG;CAUtB;AAED,eAAe,gBAAgB,CAAC"}
@@ -13,8 +13,9 @@ const identifier_1 = __importDefault(require("./identifier"));
13
13
  * against the global {@link Bindings} singleton at execution time.
14
14
  */
15
15
  class BindingReference extends identifier_1.default {
16
- constructor(value) {
16
+ constructor(value, optional = false) {
17
17
  super(value);
18
+ this._optional = optional;
18
19
  }
19
20
  get name() {
20
21
  return this._value;
@@ -25,6 +26,9 @@ class BindingReference extends identifier_1.default {
25
26
  value() {
26
27
  const bindings = bindings_1.default.getInstance();
27
28
  if (!bindings.has(this._value)) {
29
+ if (this._optional) {
30
+ return undefined;
31
+ }
28
32
  throw new Error(`Binding '${this._value}' is not defined`);
29
33
  }
30
34
  return bindings.get(this._value);
@@ -1 +1 @@
1
- {"version":3,"file":"binding_reference.js","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,8DAAsC;AAEtC;;;;;;GAMG;AACH,MAAM,gBAAiB,SAAQ,oBAAU;IACrC,YAAY,KAAa;QACrB,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,OAAO,qBAAqB,IAAI,CAAC,MAAM,GAAG,CAAC;IAC/C,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,kBAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"binding_reference.js","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,8DAAsC;AAEtC;;;;;;GAMG;AACH,MAAM,gBAAiB,SAAQ,oBAAU;IAYrC,YAAY,KAAa,EAAE,WAAoB,KAAK;QAChD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,OAAO,qBAAqB,IAAI,CAAC,MAAM,GAAG,CAAC;IAC/C,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,kBAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,kBAAe,gBAAgB,CAAC"}
@@ -11,6 +11,7 @@ declare class SubqueryExpression extends ASTNode {
11
11
  private _rowCount;
12
12
  constructor(mode: SubqueryMode, subqueryAST: ASTNode);
13
13
  get mode(): SubqueryMode;
14
+ introducesScope(): boolean;
14
15
  evaluate(): Promise<void>;
15
16
  value(): any;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subquery_expression.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,aAAa,CAAC;AAIlC,oBAAY,YAAY;IACpB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACtB;AAaD,cAAM,kBAAmB,SAAQ,OAAO;IACpC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAa;gBAElB,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO;IAMpD,IAAW,IAAI,IAAI,YAAY,CAE9B;IAEY,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B/B,KAAK,IAAI,GAAG;CAiBtB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"subquery_expression.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,aAAa,CAAC;AAIlC,oBAAY,YAAY;IACpB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACtB;AAaD,cAAM,kBAAmB,SAAQ,OAAO;IACpC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAa;gBAElB,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO;IAMpD,IAAW,IAAI,IAAI,YAAY,CAE9B;IAEM,eAAe,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B/B,KAAK,IAAI,GAAG;CAiBtB;AAED,eAAe,kBAAkB,CAAC"}
@@ -49,6 +49,9 @@ class SubqueryExpression extends ast_node_1.default {
49
49
  get mode() {
50
50
  return this._mode;
51
51
  }
52
+ introducesScope() {
53
+ return true;
54
+ }
52
55
  evaluate() {
53
56
  return __awaiter(this, void 0, void 0, function* () {
54
57
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"subquery_expression.js","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subquery_expression.js","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ declare class PredicateFunction extends ASTNode {
11
11
  get name(): string;
12
12
  get hasReturnExpression(): boolean;
13
13
  set hasReturnExpression(value: boolean);
14
+ introducesScope(): boolean;
14
15
  protected get reference(): Reference;
15
16
  protected get array(): ASTNode;
16
17
  protected get _return(): Expression | null;
@@ -1 +1 @@
1
- {"version":3,"file":"predicate_function.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,SAAS,CAAC,YAAY,EAAE,WAAW,CAAqB;IACxD,OAAO,CAAC,oBAAoB,CAAiB;gBAEjC,IAAI,CAAC,EAAE,MAAM;IAKzB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAED,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;IAED,SAAS,KAAK,KAAK,IAAI,OAAO,CAE7B;IAED,SAAS,KAAK,OAAO,IAAI,UAAU,GAAG,IAAI,CAGzC;IAED,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAWlC;IAEM,KAAK,IAAI,GAAG;IAIZ,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"predicate_function.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,SAAS,CAAC,YAAY,EAAE,WAAW,CAAqB;IACxD,OAAO,CAAC,oBAAoB,CAAiB;gBAEjC,IAAI,CAAC,EAAE,MAAM;IAKzB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAEM,eAAe,IAAI,OAAO;IAIjC,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;IAED,SAAS,KAAK,KAAK,IAAI,OAAO,CAE7B;IAED,SAAS,KAAK,OAAO,IAAI,UAAU,GAAG,IAAI,CAGzC;IAED,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAWlC;IAEM,KAAK,IAAI,GAAG;IAIZ,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
@@ -21,6 +21,9 @@ class PredicateFunction extends ast_node_1.default {
21
21
  set hasReturnExpression(value) {
22
22
  this._hasReturnExpression = value;
23
23
  }
24
+ introducesScope() {
25
+ return true;
26
+ }
24
27
  get reference() {
25
28
  return this.firstChild();
26
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"predicate_function.js","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAIlC,kEAAyC;AAEzC,MAAM,iBAAkB,SAAQ,kBAAO;IAKnC,YAAY,IAAa;QACrB,KAAK,EAAE,CAAC;QAJF,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;QAChD,yBAAoB,GAAY,IAAI,CAAC;QAIzC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAc;QACzC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAc,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED,IAAc,KAAK;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAe,CAAC;IAC/C,CAAC;IAED,IAAc,KAAK;QACf,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACX,OAAO,sBAAsB,IAAI,CAAC,KAAK,GAAG,CAAC;IAC/C,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"predicate_function.js","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAIlC,kEAAyC;AAEzC,MAAM,iBAAkB,SAAQ,kBAAO;IAKnC,YAAY,IAAa;QACrB,KAAK,EAAE,CAAC;QAJF,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;QAChD,yBAAoB,GAAY,IAAI,CAAC;QAIzC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAc;QACzC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAc,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED,IAAc,KAAK;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAe,CAAC;IAC/C,CAAC;IAED,IAAc,KAAK;QACf,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACX,OAAO,sBAAsB,IAAI,CAAC,KAAK,GAAG,CAAC;IAC/C,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated_return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAI3E,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,cAAM,gBAAiB,SAAQ,MAAM;IACjC,OAAO,CAAC,SAAS,CAAuD;IAC3D,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC;;;;;OAKG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAG1C;IACY,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC,OAAO,CAAC,qBAAqB;CAmChC;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"aggregated_return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAI3E,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,cAAM,gBAAiB,SAAQ,MAAM;IACjC,OAAO,CAAC,SAAS,CAA0E;IAC9E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC;;;;;OAKG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAG1C;IACY,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC,OAAO,CAAC,qBAAqB;CAgChC;AAED,eAAe,gBAAgB,CAAC"}
@@ -18,7 +18,7 @@ const return_1 = __importDefault(require("./return"));
18
18
  class AggregatedReturn extends return_1.default {
19
19
  constructor() {
20
20
  super(...arguments);
21
- this._group_by = new group_by_1.default(this.children);
21
+ this._group_by = new group_by_1.default(this.children, () => this._where);
22
22
  }
23
23
  run() {
24
24
  return __awaiter(this, void 0, void 0, function* () {
@@ -53,9 +53,6 @@ class AggregatedReturn extends return_1.default {
53
53
  });
54
54
  }
55
55
  _buildAggregateOutput() {
56
- if (this._where !== null) {
57
- this._group_by.where = this._where;
58
- }
59
56
  const results = [];
60
57
  const provenance = [];
61
58
  // Emit a provenance entry per result row whenever a sink is
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated_return.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregated_return.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated_with.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_with.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAG3E,OAAO,IAAI,MAAM,UAAU,CAAC;AAE5B,cAAM,cAAe,SAAQ,IAAI;IAC7B,OAAO,CAAC,SAAS,CAAuD;IACxE;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAA8B;IAChD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC;;;OAGG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D;;;;;OAKG;IACI,kBAAkB,IAAI,gBAAgB;IAMhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAavC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"aggregated_with.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_with.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAG3E,OAAO,IAAI,MAAM,UAAU,CAAC;AAE5B,cAAM,cAAe,SAAQ,IAAI;IAC7B,OAAO,CAAC,SAAS,CAA0E;IAC3F;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAA8B;IAChD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC;;;OAGG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D;;;;;OAKG;IACI,kBAAkB,IAAI,gBAAgB;IAMhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAavC;AAED,eAAe,cAAc,CAAC"}
@@ -17,7 +17,7 @@ const return_1 = __importDefault(require("./return"));
17
17
  class AggregatedWith extends return_1.default {
18
18
  constructor() {
19
19
  super(...arguments);
20
- this._group_by = new group_by_1.default(this.children);
20
+ this._group_by = new group_by_1.default(this.children, () => this._where);
21
21
  /**
22
22
  * Iterator over the per-group provenance produced by `_group_by`.
23
23
  * Advanced in lockstep with `generate_results()` inside `finish()` so
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated_with.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_with.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,0DAAiC;AACjC,sDAA4B;AAE5B,MAAM,cAAe,SAAQ,gBAAI;IAAjC;;QACY,cAAS,GAAY,IAAI,kBAAO,CAAC,IAAI,CAAC,QAAwB,CAAC,CAAC;QACxE;;;;;WAKG;QACK,4BAAuB,GAAyB,IAAI,CAAC;IAoCjE,CAAC;IAnCgB,GAAG;;YACZ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;KAAA;IACD;;;OAGG;IACI,mBAAmB,CAAC,MAAwB;QAC/C,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD;;;;;OAKG;IACI,kBAAkB;QACrB,OAAO;YACH,QAAQ,EAAE,GAAkB,EAAE,WAC1B,OAAA,MAAA,IAAI,CAAC,uBAAuB,mCAAI,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA,EAAA;SACjF,CAAC;IACN,CAAC;IACY,MAAM;;;;;;YACf,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;YACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAChD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjE,CAAC;gBACD,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,MAAM,OAAM,MAAM,WAAE,CAAC;QACzB,CAAC;KAAA;CACJ;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"aggregated_with.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_with.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,0DAAiC;AACjC,sDAA4B;AAE5B,MAAM,cAAe,SAAQ,gBAAI;IAAjC;;QACY,cAAS,GAAY,IAAI,kBAAO,CAAC,IAAI,CAAC,QAAwB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F;;;;;WAKG;QACK,4BAAuB,GAAyB,IAAI,CAAC;IAoCjE,CAAC;IAnCgB,GAAG;;YACZ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;KAAA;IACD;;;OAGG;IACI,mBAAmB,CAAC,MAAwB;QAC/C,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD;;;;;OAKG;IACI,kBAAkB;QACrB,OAAO;YACH,QAAQ,EAAE,GAAkB,EAAE,WAC1B,OAAA,MAAA,IAAI,CAAC,uBAAuB,mCAAI,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA,EAAA;SACjF,CAAC;IACN,CAAC;IACY,MAAM;;;;;;YACf,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;YACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAChD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjE,CAAC;gBACD,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,MAAM,OAAM,MAAM,WAAE,CAAC;QACzB,CAAC;KAAA;CACJ;AAED,kBAAe,cAAc,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { NodeBinding, ProvenanceSource, RelationshipBinding, RowProvenance, RowSegment } from "../../compute/provenance";
2
+ import Expression from "../expressions/expression";
2
3
  import AggregationElement from "../functions/reducer_element";
3
4
  import Projection from "./projection";
4
5
  import Where from "./where";
@@ -31,8 +32,9 @@ declare class GroupBy extends Projection {
31
32
  private _current;
32
33
  private _mappers;
33
34
  private _reducers;
34
- protected _where: Where | null;
35
+ private _whereProvider;
35
36
  private _provenanceSources;
37
+ constructor(expressions: Expression[], whereProvider?: () => Where | null);
36
38
  run(): Promise<void>;
37
39
  /**
38
40
  * Register a provenance source whose snapshot is folded into the
@@ -60,7 +62,6 @@ declare class GroupBy extends Projection {
60
62
  * disabled, yields empty entries so callers can still zip cleanly.
61
63
  */
62
64
  generate_provenance(mapperIndex?: number, node?: Node): Generator<RowProvenance>;
63
- set where(where: Where);
64
65
  get where(): boolean;
65
66
  }
66
67
  export default GroupBy;
@@ -1 +1 @@
1
- {"version":3,"file":"group_by.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,UAAU,EAGb,MAAM,0BAA0B,CAAC;AAGlC,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,cAAM,IAAI;IACN,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,eAAe,CAA6B;gBACxC,KAAK,GAAE,GAAU;IAG7B,IAAW,KAAK,IAAI,GAAG,CAEtB;IACD,IAAW,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAEvC;IACD,IAAW,QAAQ,IAAI,kBAAkB,EAAE,GAAG,IAAI,CAEjD;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAEjD;IACD,iEAAiE;IACjE,IAAW,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAKrD;IACD,yEAAyE;IACzE,IAAW,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAKrE;IACD;;;;;OAKG;IACH,IAAW,cAAc,IAAI,UAAU,EAAE,CAKxC;CACJ;AAED,cAAM,OAAQ,SAAQ,UAAU;IAC5B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAoC;IACrD,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACtC,OAAO,CAAC,kBAAkB,CAAmC;IAChD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;;;;OAKG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAM1D,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IACD,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,KAAK,IAAI,GAEf;IACD,OAAO,KAAK,OAAO,GAElB;IACD,OAAO,KAAK,OAAO,QAElB;IACD,OAAO,CAAC,SAAS;IAGjB,OAAO,CAAC,GAAG;IAeX,OAAO,CAAC,MAAM;IASd,OAAO,KAAK,OAAO,GAKlB;IACD,OAAO,CAAE,iBAAiB;IAO1B,OAAO,KAAK,QAAQ,GASnB;IACO,gBAAgB,CACpB,WAAW,GAAE,MAAU,EACvB,IAAI,GAAE,IAAgB,GACvB,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAyBjC;;;;;OAKG;IACK,mBAAmB,CACvB,WAAW,GAAE,MAAU,EACvB,IAAI,GAAE,IAAgB,GACvB,SAAS,CAAC,aAAa,CAAC;IAwB3B,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;CACJ;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"group_by.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,UAAU,EAGb,MAAM,0BAA0B,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AAEnD,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,cAAM,IAAI;IACN,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,eAAe,CAA6B;gBACxC,KAAK,GAAE,GAAU;IAG7B,IAAW,KAAK,IAAI,GAAG,CAEtB;IACD,IAAW,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAEvC;IACD,IAAW,QAAQ,IAAI,kBAAkB,EAAE,GAAG,IAAI,CAEjD;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAEjD;IACD,iEAAiE;IACjE,IAAW,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAKrD;IACD,yEAAyE;IACzE,IAAW,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAKrE;IACD;;;;;OAKG;IACH,IAAW,cAAc,IAAI,UAAU,EAAE,CAKxC;CACJ;AAED,cAAM,OAAQ,SAAQ,UAAU;IAC5B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAAmC;gBACjD,WAAW,EAAE,UAAU,EAAE,EAAE,aAAa,GAAE,MAAM,KAAK,GAAG,IAAiB;IAIxE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;;;;OAKG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAM1D,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IACD,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,KAAK,IAAI,GAEf;IACD,OAAO,KAAK,OAAO,GAElB;IACD,OAAO,KAAK,OAAO,QAElB;IACD,OAAO,CAAC,SAAS;IAGjB,OAAO,CAAC,GAAG;IAeX,OAAO,CAAC,MAAM;IASd,OAAO,KAAK,OAAO,GAKlB;IACD,OAAO,CAAE,iBAAiB;IAO1B,OAAO,KAAK,QAAQ,GASnB;IACO,gBAAgB,CACpB,WAAW,GAAE,MAAU,EACvB,IAAI,GAAE,IAAgB,GACvB,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAyBjC;;;;;OAKG;IACK,mBAAmB,CACvB,WAAW,GAAE,MAAU,EACvB,IAAI,GAAE,IAAgB,GACvB,SAAS,CAAC,aAAa,CAAC;IAwB3B,IAAW,KAAK,IAAI,OAAO,CAM1B;CACJ;AAED,eAAe,OAAO,CAAC"}
@@ -63,14 +63,14 @@ class Node {
63
63
  }
64
64
  }
65
65
  class GroupBy extends projection_1.default {
66
- constructor() {
67
- super(...arguments);
66
+ constructor(expressions, whereProvider = () => null) {
67
+ super(expressions);
68
68
  this._root = new Node();
69
69
  this._current = this._root;
70
70
  this._mappers = null;
71
71
  this._reducers = null;
72
- this._where = null;
73
72
  this._provenanceSources = null;
73
+ this._whereProvider = whereProvider;
74
74
  }
75
75
  run() {
76
76
  return __awaiter(this, void 0, void 0, function* () {
@@ -235,14 +235,12 @@ class GroupBy extends projection_1.default {
235
235
  };
236
236
  }
237
237
  }
238
- set where(where) {
239
- this._where = where;
240
- }
241
238
  get where() {
242
- if (this._where === null) {
239
+ const where = this._whereProvider();
240
+ if (where === null) {
243
241
  return true;
244
242
  }
245
- return this._where.value();
243
+ return where.value();
246
244
  }
247
245
  }
248
246
  exports.default = GroupBy;
@@ -1 +1 @@
1
- {"version":3,"file":"group_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,13 @@ declare class Parser extends BaseParser {
120
120
  * Used by `UPDATE … AS u DELETE WHERE …` so that predicates can
121
121
  * reference other bindings by name, and to keep `LOAD JSON FROM …`
122
122
  * behaviour consistent at arbitrary depth.
123
+ *
124
+ * When `optional` is true, the produced {@link BindingReference}
125
+ * yields `undefined` (rather than throwing) for names absent from
126
+ * the bindings store. Projection conversions pass `optional` so
127
+ * that an unresolved bare identifier in `RETURN`/`WITH` keeps its
128
+ * historical "silently undefined" behaviour for unknown names while
129
+ * still resolving real `LET` bindings.
123
130
  */
124
131
  private convertUnresolvedReferencesToBindings;
125
132
  private parseMatch;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAUA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AA4EvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAiBxC;;;;;;;;;OASG;IACK,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;IAgC9D;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,eAAe;IAwHvB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,SAAS;IAgCjB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IA+EjB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,WAAW;IAkInB,OAAO,CAAC,WAAW;IAgEnB,OAAO,CAAC,YAAY;IA6DpB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,QAAQ;IA4EhB,OAAO,CAAC,WAAW;IA2BnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAyHlB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgE5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAqCzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAsC7B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qCAAqC;IAuB7C,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;IAyEjB,OAAO,CAAE,eAAe;IAwCxB,OAAO,CAAE,aAAa;IAgCtB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,iBAAiB;IAmFzB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,YAAY;IAyCpB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAE,iBAAiB;IAsC1B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA+HpB,OAAO,CAAC,mCAAmC;IAqB3C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,aAAa;IAoCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IA4E9B,OAAO,CAAC,oCAAoC;IAoB5C,OAAO,CAAC,YAAY;IA4BpB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IA8D9B,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;IAMlD,OAAO,CAAC,2BAA2B;IAiBnC,OAAO,CAAC,uBAAuB;CAgClC;AAED,eAAe,MAAM,CAAC"}
@@ -361,6 +361,12 @@ class Parser extends base_parser_1.default {
361
361
  if (expressions.length === 0) {
362
362
  throw new Error("Expected expression");
363
363
  }
364
+ // Bare identifiers left unresolved by the parser scope refer to
365
+ // `LET`-bound values, resolved at run-time against the global
366
+ // Bindings store (lenient: unknown names stay `undefined`).
367
+ for (const expression of expressions) {
368
+ this.convertUnresolvedReferencesToBindings(expression, true);
369
+ }
364
370
  if (distinct || expressions.some((expression) => expression.has_reducers())) {
365
371
  return new aggregated_with_1.default(expressions);
366
372
  }
@@ -415,6 +421,12 @@ class Parser extends base_parser_1.default {
415
421
  if (expressions.length === 0) {
416
422
  throw new Error("Expected expression");
417
423
  }
424
+ // Bare identifiers left unresolved by the parser scope refer to
425
+ // `LET`-bound values, resolved at run-time against the global
426
+ // Bindings store (lenient: unknown names stay `undefined`).
427
+ for (const expression of expressions) {
428
+ this.convertUnresolvedReferencesToBindings(expression, true);
429
+ }
418
430
  if (distinct || expressions.some((expression) => expression.has_reducers())) {
419
431
  return new aggregated_return_1.default(expressions);
420
432
  }
@@ -1299,16 +1311,32 @@ class Parser extends base_parser_1.default {
1299
1311
  * Used by `UPDATE … AS u DELETE WHERE …` so that predicates can
1300
1312
  * reference other bindings by name, and to keep `LOAD JSON FROM …`
1301
1313
  * behaviour consistent at arbitrary depth.
1314
+ *
1315
+ * When `optional` is true, the produced {@link BindingReference}
1316
+ * yields `undefined` (rather than throwing) for names absent from
1317
+ * the bindings store. Projection conversions pass `optional` so
1318
+ * that an unresolved bare identifier in `RETURN`/`WITH` keeps its
1319
+ * historical "silently undefined" behaviour for unknown names while
1320
+ * still resolving real `LET` bindings.
1302
1321
  */
1303
- convertUnresolvedReferencesToBindings(node) {
1322
+ convertUnresolvedReferencesToBindings(node, optional = false) {
1304
1323
  for (const child of node.getChildren().slice()) {
1324
+ // Scope-introducing constructs manage their own variable
1325
+ // bindings (the iteration-variable declaration of a
1326
+ // predicate function / list comprehension, or a nested
1327
+ // sub-query's own scope). Their inner references are either
1328
+ // binders or resolved within that inner scope, so rewriting
1329
+ // them here would corrupt the binding wiring. Skip them.
1330
+ if (child.introducesScope()) {
1331
+ continue;
1332
+ }
1305
1333
  if (child instanceof reference_1.default &&
1306
1334
  child.referred === undefined &&
1307
1335
  !child.identifier.startsWith("$")) {
1308
- node.replaceChild(child, new binding_reference_1.default(child.identifier));
1336
+ node.replaceChild(child, new binding_reference_1.default(child.identifier, optional));
1309
1337
  }
1310
1338
  else {
1311
- this.convertUnresolvedReferencesToBindings(child);
1339
+ this.convertUnresolvedReferencesToBindings(child, optional);
1312
1340
  }
1313
1341
  }
1314
1342
  }