@quereus/quereus 3.1.2 → 3.3.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 (263) hide show
  1. package/dist/src/core/database-assertions.d.ts.map +1 -1
  2. package/dist/src/core/database-assertions.js +7 -3
  3. package/dist/src/core/database-assertions.js.map +1 -1
  4. package/dist/src/core/database.js +3 -3
  5. package/dist/src/core/database.js.map +1 -1
  6. package/dist/src/core/statement.js +3 -3
  7. package/dist/src/core/statement.js.map +1 -1
  8. package/dist/src/emit/ast-stringify.js +2 -2
  9. package/dist/src/emit/ast-stringify.js.map +1 -1
  10. package/dist/src/index.d.ts +2 -1
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +1 -0
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/parser/parser.d.ts +1 -1
  15. package/dist/src/parser/parser.d.ts.map +1 -1
  16. package/dist/src/parser/parser.js +6 -2
  17. package/dist/src/parser/parser.js.map +1 -1
  18. package/dist/src/parser/visitor.js +1 -1
  19. package/dist/src/parser/visitor.js.map +1 -1
  20. package/dist/src/planner/analysis/attribute-provenance.d.ts +45 -0
  21. package/dist/src/planner/analysis/attribute-provenance.d.ts.map +1 -0
  22. package/dist/src/planner/analysis/attribute-provenance.js +81 -0
  23. package/dist/src/planner/analysis/attribute-provenance.js.map +1 -0
  24. package/dist/src/planner/analysis/binding-extractor.d.ts.map +1 -1
  25. package/dist/src/planner/analysis/binding-extractor.js +9 -6
  26. package/dist/src/planner/analysis/binding-extractor.js.map +1 -1
  27. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  28. package/dist/src/planner/analysis/change-scope.js +7 -0
  29. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  30. package/dist/src/planner/analysis/const-evaluator.js +5 -5
  31. package/dist/src/planner/analysis/const-evaluator.js.map +1 -1
  32. package/dist/src/planner/analysis/constraint-extractor.d.ts +10 -0
  33. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  34. package/dist/src/planner/analysis/constraint-extractor.js +28 -12
  35. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  36. package/dist/src/planner/building/delete.d.ts.map +1 -1
  37. package/dist/src/planner/building/delete.js +7 -4
  38. package/dist/src/planner/building/delete.js.map +1 -1
  39. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  40. package/dist/src/planner/building/select-aggregates.js +4 -13
  41. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  42. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  43. package/dist/src/planner/building/select-window.js +54 -21
  44. package/dist/src/planner/building/select-window.js.map +1 -1
  45. package/dist/src/planner/cache/correlation-detector.d.ts +7 -0
  46. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  47. package/dist/src/planner/cache/correlation-detector.js +34 -2
  48. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  49. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  50. package/dist/src/planner/framework/physical-utils.js +7 -1
  51. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  52. package/dist/src/planner/nodes/aggregate-node.d.ts +6 -4
  53. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  54. package/dist/src/planner/nodes/aggregate-node.js +8 -6
  55. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  56. package/dist/src/planner/nodes/analyze-node.d.ts.map +1 -1
  57. package/dist/src/planner/nodes/analyze-node.js +3 -0
  58. package/dist/src/planner/nodes/analyze-node.js.map +1 -1
  59. package/dist/src/planner/nodes/async-gather-node.d.ts +169 -0
  60. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -0
  61. package/dist/src/planner/nodes/async-gather-node.js +488 -0
  62. package/dist/src/planner/nodes/async-gather-node.js.map +1 -0
  63. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  64. package/dist/src/planner/nodes/bloom-join-node.js +8 -7
  65. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  66. package/dist/src/planner/nodes/eager-prefetch-node.d.ts +47 -0
  67. package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -0
  68. package/dist/src/planner/nodes/eager-prefetch-node.js +96 -0
  69. package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -0
  70. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +150 -0
  71. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -0
  72. package/dist/src/planner/nodes/fanout-lookup-join-node.js +265 -0
  73. package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -0
  74. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  75. package/dist/src/planner/nodes/hash-aggregate.js +6 -16
  76. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  77. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  78. package/dist/src/planner/nodes/join-utils.js +7 -1
  79. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  80. package/dist/src/planner/nodes/limit-offset.d.ts +12 -0
  81. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  82. package/dist/src/planner/nodes/limit-offset.js +53 -3
  83. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  84. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  85. package/dist/src/planner/nodes/merge-join-node.js +8 -7
  86. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  87. package/dist/src/planner/nodes/plan-node-type.d.ts +3 -0
  88. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  89. package/dist/src/planner/nodes/plan-node-type.js +3 -0
  90. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  91. package/dist/src/planner/nodes/plan-node.d.ts +36 -0
  92. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  93. package/dist/src/planner/nodes/plan-node.js +26 -0
  94. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  95. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  96. package/dist/src/planner/nodes/project-node.js +18 -5
  97. package/dist/src/planner/nodes/project-node.js.map +1 -1
  98. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  99. package/dist/src/planner/nodes/reference.js +14 -3
  100. package/dist/src/planner/nodes/reference.js.map +1 -1
  101. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  102. package/dist/src/planner/nodes/set-operation-node.js +12 -1
  103. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  104. package/dist/src/planner/nodes/sort.js +1 -1
  105. package/dist/src/planner/nodes/sort.js.map +1 -1
  106. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  107. package/dist/src/planner/nodes/stream-aggregate.js +8 -23
  108. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  109. package/dist/src/planner/nodes/values-node.d.ts +2 -1
  110. package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
  111. package/dist/src/planner/nodes/values-node.js +16 -0
  112. package/dist/src/planner/nodes/values-node.js.map +1 -1
  113. package/dist/src/planner/nodes/window-node.js +1 -1
  114. package/dist/src/planner/nodes/window-node.js.map +1 -1
  115. package/dist/src/planner/optimizer-tuning.d.ts +107 -0
  116. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  117. package/dist/src/planner/optimizer-tuning.js +43 -0
  118. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  119. package/dist/src/planner/optimizer.d.ts.map +1 -1
  120. package/dist/src/planner/optimizer.js +91 -0
  121. package/dist/src/planner/optimizer.js.map +1 -1
  122. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  123. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +1 -6
  124. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  125. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.d.ts.map +1 -1
  126. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +8 -27
  127. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
  128. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +9 -3
  129. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  130. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +47 -5
  131. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  132. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts +8 -7
  133. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts.map +1 -1
  134. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js +14 -21
  135. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js.map +1 -1
  136. package/dist/src/planner/rules/join/equi-pair-extractor.js +4 -4
  137. package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
  138. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts +74 -0
  139. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -0
  140. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +139 -0
  141. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -0
  142. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +58 -0
  143. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -0
  144. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +590 -0
  145. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -0
  146. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  147. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +10 -0
  148. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  149. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  150. package/dist/src/planner/rules/join/rule-join-physical-selection.js +2 -1
  151. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  152. package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts.map +1 -1
  153. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js +1 -2
  154. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js.map +1 -1
  155. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts +43 -0
  156. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -0
  157. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +115 -0
  158. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -0
  159. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts +102 -0
  160. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -0
  161. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +545 -0
  162. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -0
  163. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts +45 -0
  164. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -0
  165. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +78 -0
  166. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -0
  167. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +1 -1
  168. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  169. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +2 -2
  170. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  171. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts +16 -0
  172. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts.map +1 -1
  173. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js +47 -4
  174. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js.map +1 -1
  175. package/dist/src/planner/rules/window/rule-monotonic-window.js +1 -1
  176. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
  177. package/dist/src/planner/scopes/param.d.ts.map +1 -1
  178. package/dist/src/planner/scopes/param.js +13 -11
  179. package/dist/src/planner/scopes/param.js.map +1 -1
  180. package/dist/src/planner/type-utils.js +1 -1
  181. package/dist/src/planner/type-utils.js.map +1 -1
  182. package/dist/src/planner/util/fd-utils.d.ts +59 -1
  183. package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
  184. package/dist/src/planner/util/fd-utils.js +122 -0
  185. package/dist/src/planner/util/fd-utils.js.map +1 -1
  186. package/dist/src/planner/util/key-utils.d.ts +26 -3
  187. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  188. package/dist/src/planner/util/key-utils.js +113 -33
  189. package/dist/src/planner/util/key-utils.js.map +1 -1
  190. package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
  191. package/dist/src/planner/validation/plan-validator.js +17 -19
  192. package/dist/src/planner/validation/plan-validator.js.map +1 -1
  193. package/dist/src/runtime/async-semaphore.d.ts +36 -0
  194. package/dist/src/runtime/async-semaphore.d.ts.map +1 -0
  195. package/dist/src/runtime/async-semaphore.js +72 -0
  196. package/dist/src/runtime/async-semaphore.js.map +1 -0
  197. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  198. package/dist/src/runtime/deferred-constraint-queue.js +4 -3
  199. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  200. package/dist/src/runtime/delta-executor.d.ts.map +1 -1
  201. package/dist/src/runtime/delta-executor.js +9 -0
  202. package/dist/src/runtime/delta-executor.js.map +1 -1
  203. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
  204. package/dist/src/runtime/emit/asof-scan.js +6 -4
  205. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  206. package/dist/src/runtime/emit/async-gather.d.ts +77 -0
  207. package/dist/src/runtime/emit/async-gather.d.ts.map +1 -0
  208. package/dist/src/runtime/emit/async-gather.js +234 -0
  209. package/dist/src/runtime/emit/async-gather.js.map +1 -0
  210. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  211. package/dist/src/runtime/emit/binary.js +19 -27
  212. package/dist/src/runtime/emit/binary.js.map +1 -1
  213. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  214. package/dist/src/runtime/emit/bloom-join.js +42 -19
  215. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  216. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  217. package/dist/src/runtime/emit/constraint-check.js +35 -1
  218. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  219. package/dist/src/runtime/emit/delete.d.ts.map +1 -1
  220. package/dist/src/runtime/emit/delete.js +15 -5
  221. package/dist/src/runtime/emit/delete.js.map +1 -1
  222. package/dist/src/runtime/emit/eager-prefetch.d.ts +77 -0
  223. package/dist/src/runtime/emit/eager-prefetch.d.ts.map +1 -0
  224. package/dist/src/runtime/emit/eager-prefetch.js +223 -0
  225. package/dist/src/runtime/emit/eager-prefetch.js.map +1 -0
  226. package/dist/src/runtime/emit/fanout-lookup-join.d.ts +130 -0
  227. package/dist/src/runtime/emit/fanout-lookup-join.d.ts.map +1 -0
  228. package/dist/src/runtime/emit/fanout-lookup-join.js +521 -0
  229. package/dist/src/runtime/emit/fanout-lookup-join.js.map +1 -0
  230. package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
  231. package/dist/src/runtime/emit/merge-join.js +4 -2
  232. package/dist/src/runtime/emit/merge-join.js.map +1 -1
  233. package/dist/src/runtime/parallel-driver.d.ts +68 -0
  234. package/dist/src/runtime/parallel-driver.d.ts.map +1 -0
  235. package/dist/src/runtime/parallel-driver.js +233 -0
  236. package/dist/src/runtime/parallel-driver.js.map +1 -0
  237. package/dist/src/runtime/register.d.ts.map +1 -1
  238. package/dist/src/runtime/register.js +9 -0
  239. package/dist/src/runtime/register.js.map +1 -1
  240. package/dist/src/runtime/strict-fork.d.ts +36 -0
  241. package/dist/src/runtime/strict-fork.d.ts.map +1 -0
  242. package/dist/src/runtime/strict-fork.js +125 -0
  243. package/dist/src/runtime/strict-fork.js.map +1 -0
  244. package/dist/src/types/temporal-types.d.ts.map +1 -1
  245. package/dist/src/types/temporal-types.js +71 -36
  246. package/dist/src/types/temporal-types.js.map +1 -1
  247. package/dist/src/util/comparison.d.ts.map +1 -1
  248. package/dist/src/util/comparison.js +11 -1
  249. package/dist/src/util/comparison.js.map +1 -1
  250. package/dist/src/vtab/concurrency.d.ts +29 -0
  251. package/dist/src/vtab/concurrency.d.ts.map +1 -0
  252. package/dist/src/vtab/concurrency.js +47 -0
  253. package/dist/src/vtab/concurrency.js.map +1 -0
  254. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  255. package/dist/src/vtab/memory/layer/scan-layer.js +67 -29
  256. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  257. package/dist/src/vtab/memory/module.d.ts +21 -0
  258. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  259. package/dist/src/vtab/memory/module.js +21 -0
  260. package/dist/src/vtab/memory/module.js.map +1 -1
  261. package/dist/src/vtab/module.d.ts +47 -0
  262. package/dist/src/vtab/module.d.ts.map +1 -1
  263. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"select-window.js","sourceRoot":"","sources":["../../../../src/planner/building/select-window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-window.js","sourceRoot":"","sources":["../../../../src/planner/building/select-window.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,11 @@ import { type RelationalPlanNode } from '../nodes/plan-node.js';
8
8
  * that are not defined within its own scope.
9
9
  */
10
10
  export declare function isCorrelatedSubquery(subqueryNode: RelationalPlanNode): boolean;
11
+ /**
12
+ * Collect the attribute IDs the subquery references from *outer* scopes (i.e.
13
+ * not defined within its own subtree). An empty set means the subquery is not
14
+ * correlated. Used by rules that need to know *which* outer attributes a
15
+ * correlation depends on, not merely that it is correlated.
16
+ */
17
+ export declare function collectExternalReferences(subqueryNode: RelationalPlanNode): Set<number>;
11
18
  //# sourceMappingURL=correlation-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"correlation-detector.d.ts","sourceRoot":"","sources":["../../../../src/planner/cache/correlation-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAIjG;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAO9E"}
1
+ {"version":3,"file":"correlation-detector.d.ts","sourceRoot":"","sources":["../../../../src/planner/cache/correlation-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAIjG;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAK9E;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,CAMvF"}
@@ -9,12 +9,24 @@ import { PlanNodeType } from '../nodes/plan-node-type.js';
9
9
  * that are not defined within its own scope.
10
10
  */
11
11
  export function isCorrelatedSubquery(subqueryNode) {
12
- // Collect all attributes defined within the subquery
12
+ // Short-circuit: stop at the first external reference rather than collecting all.
13
13
  const definedAttributes = new Set();
14
14
  collectDefinedAttributes(subqueryNode, definedAttributes);
15
- // Check if any column references use attributes not defined within the subquery
16
15
  return hasExternalReferences(subqueryNode, definedAttributes);
17
16
  }
17
+ /**
18
+ * Collect the attribute IDs the subquery references from *outer* scopes (i.e.
19
+ * not defined within its own subtree). An empty set means the subquery is not
20
+ * correlated. Used by rules that need to know *which* outer attributes a
21
+ * correlation depends on, not merely that it is correlated.
22
+ */
23
+ export function collectExternalReferences(subqueryNode) {
24
+ const definedAttributes = new Set();
25
+ collectDefinedAttributes(subqueryNode, definedAttributes);
26
+ const external = new Set();
27
+ collectExternalAttributeIds(subqueryNode, definedAttributes, external);
28
+ return external;
29
+ }
18
30
  /**
19
31
  * Recursively collect all attributes defined by relational nodes within a subtree
20
32
  */
@@ -70,4 +82,24 @@ function hasExternalReferences(node, definedAttributes) {
70
82
  }
71
83
  return false;
72
84
  }
85
+ /**
86
+ * Like {@link hasExternalReferences}, but accumulates every external attribute
87
+ * ID into `external` instead of short-circuiting at the first one.
88
+ */
89
+ function collectExternalAttributeIds(node, definedAttributes, external) {
90
+ if (node.nodeType === PlanNodeType.ColumnReference) {
91
+ const colRef = node;
92
+ if (!definedAttributes.has(colRef.attributeId)) {
93
+ external.add(colRef.attributeId);
94
+ }
95
+ }
96
+ for (const child of node.getChildren()) {
97
+ collectExternalAttributeIds(child, definedAttributes, external);
98
+ }
99
+ if (isRelationalNode(node)) {
100
+ for (const relation of node.getRelations()) {
101
+ collectExternalAttributeIds(relation, definedAttributes, external);
102
+ }
103
+ }
104
+ }
73
105
  //# sourceMappingURL=correlation-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"correlation-detector.js","sourceRoot":"","sources":["../../../../src/planner/cache/correlation-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAA0C,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAgC;IACpE,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,wBAAwB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAE1D,gFAAgF;IAChF,OAAO,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,IAAc,EAAE,iBAA8B;IAC/E,mDAAmD;IACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC/B,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,mCAAmC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAED,0CAA0C;IAC1C,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAc,EAAE,iBAA8B;IAC5E,sCAAsC;IACtC,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,eAAe,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAA2B,CAAC;QAC3C,6FAA6F;QAC7F,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,CAAC,+BAA+B;QAC7C,CAAC;IACF,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,wCAAwC;IACxC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,IAAI,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACxD,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"correlation-detector.js","sourceRoot":"","sources":["../../../../src/planner/cache/correlation-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"physical-utils.d.ts","sourceRoot":"","sources":["../../../../src/planner/framework/physical-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,SAAS;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,EAAE,EAC9E,gBAAgB,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GACzC,QAAQ,EAAE,GAAG,SAAS,CAwBxB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/B,MAAM,GAAG,SAAS,CAGpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAC9B,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC3B,QAAQ,EAAE,GAAG,SAAS,CA6BxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC9B,OAAO,CAwBT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EACzB,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,GACvB,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAEhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,QAAQ,EAAE,GAAG,SAAS,CAexB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACzC,WAAW,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,EACnD,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACnC,SAAS,eAAe,EAAE,GAAG,SAAS,CAIxC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,EAC5C,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,GAC3C,SAAS,eAAe,EAAE,GAAG,SAAS,CAcxC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC5C,WAAW,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,EACnD,KAAK,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,SAAS,CAUjD"}
1
+ {"version":3,"file":"physical-utils.d.ts","sourceRoot":"","sources":["../../../../src/planner/framework/physical-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,SAAS;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,EAAE,EAC9E,gBAAgB,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GACzC,QAAQ,EAAE,GAAG,SAAS,CA0BxB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/B,MAAM,GAAG,SAAS,CAKpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAC9B,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC3B,QAAQ,EAAE,GAAG,SAAS,CA6BxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC9B,OAAO,CAwBT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EACzB,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,GACvB,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAEhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,QAAQ,EAAE,GAAG,SAAS,CAexB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACzC,WAAW,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,EACnD,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACnC,SAAS,eAAe,EAAE,GAAG,SAAS,CAIxC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,EAC5C,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,GAC3C,SAAS,eAAe,EAAE,GAAG,SAAS,CAcxC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC5C,WAAW,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,EACnD,KAAK,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,SAAS,CAYjD"}
@@ -15,7 +15,9 @@ export function extractOrderingFromSortKeys(sortKeys, sourceAttributes) {
15
15
  return undefined; // Non-trivial expression, cannot determine ordering
16
16
  }
17
17
  const columnRef = sortKey.expression;
18
- // Find the column index in the source attributes
18
+ // Raw `{ id }[]` helper with no owning node (unit-tested against bare arrays);
19
+ // see getAttributeIndex() callers — migrating would change this signature
20
+ // contract, so the array scan stays.
19
21
  const columnIndex = sourceAttributes.findIndex(attr => attr.id === columnRef.attributeId);
20
22
  if (columnIndex === -1) {
21
23
  return undefined; // Column not found in source
@@ -37,6 +39,8 @@ export function isTrivialColumnReference(expr) {
37
39
  * Extract column index from a column reference if it exists in the given attributes
38
40
  */
39
41
  export function getColumnIndex(columnRef, attributes) {
42
+ // Raw `{ id }[]` helper with no owning node — see getAttributeIndex() callers;
43
+ // the array scan stays rather than forcing a throwaway local map.
40
44
  const index = attributes.findIndex(attr => attr.id === columnRef.attributeId);
41
45
  return index >= 0 ? index : undefined;
42
46
  }
@@ -174,6 +178,8 @@ export function deriveOrderingFromMonotonicOn(monotonicOn, attrs) {
174
178
  return undefined;
175
179
  const result = [];
176
180
  for (const m of monotonicOn) {
181
+ // Raw `{ id }[]` helper with no owning node — see getAttributeIndex() callers;
182
+ // migrating would force a throwaway local map, so the array scan stays.
177
183
  const idx = attrs.findIndex(a => a.id === m.attrId);
178
184
  if (idx >= 0) {
179
185
  result.push({ column: idx, desc: m.direction === 'desc' });
@@ -1 +1 @@
1
- {"version":3,"file":"physical-utils.js","sourceRoot":"","sources":["../../../../src/planner/framework/physical-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physical-utils.js","sourceRoot":"","sources":["../../../../src/planner/framework/physical-utils.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,13 @@ export interface AggregateExpression {
22
22
  * - GROUP BY non-empty: `{0..groupCount-1} → (all_other_output_cols)`.
23
23
  * - GROUP BY empty: `∅ → all_output_cols` (singleton: one row total).
24
24
  *
25
- * `outputColumnCount` is the aggregate node's total output-column count, which
26
- * may exceed `groupCount + aggregateCount` when source columns pass through
27
- * (e.g. for HAVING-clause access on the streaming variant).
25
+ * `outputColumnCount` is the aggregate node's total output-column count. It is
26
+ * always exactly `groupCount + aggregateCount`: aggregate nodes advertise (and
27
+ * emit) only their GROUP BY + aggregate columns. Source columns needed for
28
+ * HAVING / correlated access flow through the runtime row-descriptor context,
29
+ * never as output columns, so they do not appear here.
28
30
  */
29
- export declare function propagateAggregateFds(sourceAttrs: readonly Attribute[], groupBy: readonly ScalarPlanNode[], sourcePhysical: PhysicalProperties | undefined, outputColumnCount: number): {
31
+ export declare function propagateAggregateFds(sourceAttrIndex: ReadonlyMap<number, number>, groupBy: readonly ScalarPlanNode[], sourcePhysical: PhysicalProperties | undefined, outputColumnCount: number): {
30
32
  fds?: ReadonlyArray<FunctionalDependency>;
31
33
  equivClasses?: ReadonlyArray<ReadonlyArray<number>>;
32
34
  constantBindings?: ReadonlyArray<ConstantBinding>;
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/aggregate-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAoB,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAG7K,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,SAAS,SAAS,EAAE,EACjC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,cAAc,EAAE,kBAAkB,GAAG,SAAS,EAC9C,iBAAiB,EAAE,MAAM,GACxB;IACD,GAAG,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,gBAAgB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CACrD,CAqDA;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,QAAS,YAAW,mBAAmB,EAAE,kBAAkB;aAQ1E,MAAM,EAAE,kBAAkB;aAC1B,OAAO,EAAE,SAAS,cAAc,EAAE;aAClC,UAAU,EAAE,SAAS,mBAAmB,EAAE;aAE1C,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE;IAX7D,SAAkB,QAAQ,0BAA0B;IAEpD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAsB;gBAG3C,KAAK,EAAE,KAAK,EACI,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,UAAU,EAAE,SAAS,mBAAmB,EAAE,EAC1D,qBAAqB,CAAC,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE,YAAA;IAS7D,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,eAAe;IAkCvB,OAAO,IAAI,YAAY;IAIvB,aAAa,IAAI,SAAS,SAAS,EAAE;IAIrC,WAAW,IAAI,SAAS,QAAQ,EAAE;IAIlC,YAAY,IAAI,SAAS,CAAC,kBAAkB,CAAC;IAI7C,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAyCxD,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAatC;IAED,eAAe,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmB3E,QAAQ,IAAI,MAAM;IAiBlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBxD,eAAe,IAAI,SAAS,cAAc,EAAE;IAI5C,uBAAuB,IAAI,SAAS;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;IAWlG,gBAAgB,IAAI,OAAO;IAI3B,kBAAkB,IAAI,OAAO;IAI9B,SAAS,IAAI,kBAAkB;CAG/B"}
1
+ {"version":3,"file":"aggregate-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/aggregate-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAoB,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAG7K,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,cAAc,EAAE,kBAAkB,GAAG,SAAS,EAC9C,iBAAiB,EAAE,MAAM,GACxB;IACD,GAAG,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,gBAAgB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CACrD,CAqDA;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,QAAS,YAAW,mBAAmB,EAAE,kBAAkB;aAQ1E,MAAM,EAAE,kBAAkB;aAC1B,OAAO,EAAE,SAAS,cAAc,EAAE;aAClC,UAAU,EAAE,SAAS,mBAAmB,EAAE;aAE1C,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE;IAX7D,SAAkB,QAAQ,0BAA0B;IAEpD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAsB;gBAG3C,KAAK,EAAE,KAAK,EACI,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,UAAU,EAAE,SAAS,mBAAmB,EAAE,EAC1D,qBAAqB,CAAC,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE,YAAA;IAS7D,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,eAAe;IAkCvB,OAAO,IAAI,YAAY;IAIvB,aAAa,IAAI,SAAS,SAAS,EAAE;IAIrC,WAAW,IAAI,SAAS,QAAQ,EAAE;IAIlC,YAAY,IAAI,SAAS,CAAC,kBAAkB,CAAC;IAI7C,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAyCxD,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAatC;IAED,eAAe,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmB3E,QAAQ,IAAI,MAAM;IAiBlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBxD,eAAe,IAAI,SAAS,cAAc,EAAE;IAI5C,uBAAuB,IAAI,SAAS;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;IAWlG,gBAAgB,IAAI,OAAO;IAI3B,kBAAkB,IAAI,OAAO;IAI9B,SAAS,IAAI,kBAAkB;CAG/B"}
@@ -20,11 +20,13 @@ import { quereusError } from '../../common/errors.js';
20
20
  * - GROUP BY non-empty: `{0..groupCount-1} → (all_other_output_cols)`.
21
21
  * - GROUP BY empty: `∅ → all_output_cols` (singleton: one row total).
22
22
  *
23
- * `outputColumnCount` is the aggregate node's total output-column count, which
24
- * may exceed `groupCount + aggregateCount` when source columns pass through
25
- * (e.g. for HAVING-clause access on the streaming variant).
23
+ * `outputColumnCount` is the aggregate node's total output-column count. It is
24
+ * always exactly `groupCount + aggregateCount`: aggregate nodes advertise (and
25
+ * emit) only their GROUP BY + aggregate columns. Source columns needed for
26
+ * HAVING / correlated access flow through the runtime row-descriptor context,
27
+ * never as output columns, so they do not appear here.
26
28
  */
27
- export function propagateAggregateFds(sourceAttrs, groupBy, sourcePhysical, outputColumnCount) {
29
+ export function propagateAggregateFds(sourceAttrIndex, groupBy, sourcePhysical, outputColumnCount) {
28
30
  const groupCount = groupBy.length;
29
31
  if (groupCount === 0) {
30
32
  // Single-group aggregate: emit the singleton FD if there is at least one
@@ -38,7 +40,7 @@ export function propagateAggregateFds(sourceAttrs, groupBy, sourcePhysical, outp
38
40
  const map = new Map();
39
41
  groupBy.forEach((expr, outIdx) => {
40
42
  if (expr instanceof ColumnReferenceNode) {
41
- const srcIdx = sourceAttrs.findIndex(a => a.id === expr.attributeId);
43
+ const srcIdx = sourceAttrIndex.get(expr.attributeId) ?? -1;
42
44
  if (srcIdx >= 0 && !map.has(srcIdx))
43
45
  map.set(srcIdx, outIdx);
44
46
  }
@@ -221,7 +223,7 @@ export class AggregateNode extends PlanNode {
221
223
  }
222
224
  computePhysical(childrenPhysical) {
223
225
  const sourcePhysical = childrenPhysical[0];
224
- const { fds, equivClasses, constantBindings, domainConstraints } = propagateAggregateFds(this.source.getAttributes(), this.groupBy, sourcePhysical, this.getAttributes().length);
226
+ const { fds, equivClasses, constantBindings, domainConstraints } = propagateAggregateFds(this.source.getAttributeIndex(), this.groupBy, sourcePhysical, this.getAttributes().length);
225
227
  return {
226
228
  estimatedRows: this.estimatedRows,
227
229
  ordering: sourcePhysical?.ordering,
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/aggregate-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/aggregate-node.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/analyze-node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,qBAAa,eAAgB,SAAQ,QAAS,YAAW,kBAAkB;aAOzD,YAAY,EAAE,GAAG,CAAC,WAAW;aAC7B,eAAe,CAAC,EAAE,MAAM;aACxB,gBAAgB,CAAC,EAAE,MAAM;IAR1C,SAAkB,QAAQ,wBAAwB;IAElD,OAAO,CAAC,eAAe,CAAsB;gBAG5C,KAAK,EAAE,KAAK,EACI,YAAY,EAAE,GAAG,CAAC,WAAW,EAC7B,eAAe,CAAC,EAAE,MAAM,YAAA,EACxB,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAM1C,OAAO,IAAI,YAAY;IA+BvB,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,OAAO,CAAC,eAAe;IASvB,aAAa,IAAI,SAAS,EAAE;IAI5B,WAAW,IAAI,QAAQ,EAAE;IAIzB,YAAY,CAAC,YAAY,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAIhD,QAAQ,IAAI,MAAM;IAUlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOxD"}
1
+ {"version":3,"file":"analyze-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/analyze-node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,qBAAa,eAAgB,SAAQ,QAAS,YAAW,kBAAkB;aAOzD,YAAY,EAAE,GAAG,CAAC,WAAW;aAC7B,eAAe,CAAC,EAAE,MAAM;aACxB,gBAAgB,CAAC,EAAE,MAAM;IAR1C,SAAkB,QAAQ,wBAAwB;IAElD,OAAO,CAAC,eAAe,CAAsB;gBAG5C,KAAK,EAAE,KAAK,EACI,YAAY,EAAE,GAAG,CAAC,WAAW,EAC7B,eAAe,CAAC,EAAE,MAAM,YAAA,EACxB,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAM1C,OAAO,IAAI,YAAY;IA+BvB,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,OAAO,CAAC,eAAe;IASvB,aAAa,IAAI,SAAS,EAAE;IAI5B,WAAW,IAAI,QAAQ,EAAE;IAIzB,YAAY,CAAC,YAAY,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAIhD,QAAQ,IAAI,MAAM;IAalB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOxD"}
@@ -76,6 +76,9 @@ export class AnalyzePlanNode extends PlanNode {
76
76
  if (this.targetTableName) {
77
77
  return `ANALYZE ${this.targetTableName}`;
78
78
  }
79
+ if (this.targetSchemaName) {
80
+ return `ANALYZE ${this.targetSchemaName}.*`;
81
+ }
79
82
  return 'ANALYZE';
80
83
  }
81
84
  getLogicalAttributes() {
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/analyze-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/analyze-node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAO3B;IACA;IACA;IARC,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;IAE1C,eAAe,CAAsB;IAE7C,YACC,KAAY,EACI,YAA6B,EAC7B,eAAwB,EACxB,gBAAyB;QAEzC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAJA,iBAAY,GAAZ,YAAY,CAAiB;QAC7B,oBAAe,GAAf,eAAe,CAAS;QACxB,qBAAgB,GAAhB,gBAAgB,CAAS;QAGzC,IAAI,CAAC,eAAe,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO;QACN,OAAO;YACN,SAAS,EAAE,UAAU;YACrB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE;wBACL,SAAS,EAAE,QAAQ;wBACnB,WAAW,EAAE,SAAS;wBACtB,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,IAAI;qBAChB;oBACD,SAAS,EAAE,IAAI;iBACf;gBACD;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACL,SAAS,EAAE,QAAQ;wBACnB,WAAW,EAAE,YAAY;wBACzB,QAAQ,EAAE,KAAK;qBACf;oBACD,SAAS,EAAE,IAAI;iBACf;aACD;YACD,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,cAAc,EAAE,EAAE;SAClB,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,yCAAyC;IAChF,CAAC;IAEO,eAAe;QACtB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE;SACxB,CAAA,CAAC,CAAC;IACzB,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,WAAW;QACV,OAAO,EAAE,CAAC;IACX,CAAC;IAED,YAAY,CAAC,YAAiC;QAC7C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxG,CAAC;IAEQ,QAAQ;QAChB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,WAAW,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,WAAW,IAAI,CAAC,gBAAgB,IAAI,CAAC;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEQ,oBAAoB;QAC5B,OAAO;YACN,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,UAAU,EAAE,IAAI,CAAC,gBAAgB;SACjC,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,169 @@
1
+ import { PlanNode } from './plan-node.js';
2
+ import type { RelationalPlanNode, Attribute, PhysicalProperties } from './plan-node.js';
3
+ import type { RelationType } from '../../common/datatype.js';
4
+ import { PlanNodeType } from './plan-node-type.js';
5
+ import type { Scope } from '../scopes/scope.js';
6
+ /**
7
+ * How {@link AsyncGatherNode} combines rows from its N independent child relations.
8
+ *
9
+ * - `unionAll`: yield every row from every branch in arrival order — multiset
10
+ * union (no dedup). All children must have matching column counts.
11
+ *
12
+ * - `crossProduct`: drain every branch fully, then yield the full Cartesian
13
+ * product. The output attributes are the concatenation of all children's
14
+ * attributes. **Materialises every branch in memory before yielding the
15
+ * first row** — see emitter docs in `runtime/emit/async-gather.ts`.
16
+ *
17
+ * - `zipByKey`: full N-way outer join on the key columns named **per branch** by
18
+ * `branchKeyAttrs`. For each distinct key value present in any branch, emit
19
+ * exactly one composed row: the K merged key columns once (carrying the
20
+ * gather-minted `outputKeyAttrs` ids), then each branch's non-key columns
21
+ * (NULL when that branch has no row for that key). Implemented as an **eager
22
+ * hash-merge** over a `BTree` keyed by the key tuple — **drains every branch
23
+ * in memory before yielding the first row** (see emitter docs). It is *not*
24
+ * a chained binary full-outer-join lowering.
25
+ *
26
+ * The gather genuinely **originates** the K merged key columns (their ids,
27
+ * `outputKeyAttrs`, appear in no child — "branch0's key, or branch1's key, …,
28
+ * whichever row is present") and **forwards** each branch's non-key ids (each
29
+ * appears in exactly one child). This is provenance-clean by construction:
30
+ * no id is output by two branches, so `validatePhysicalTree` passes.
31
+ *
32
+ * The discriminated-union shape is deliberate: future variants (e.g.
33
+ * `mergeOrdered`) will attach per-combinator config without breaking the
34
+ * constructor.
35
+ */
36
+ export type AsyncGatherCombinator = {
37
+ readonly kind: 'unionAll';
38
+ } | {
39
+ readonly kind: 'crossProduct';
40
+ } | {
41
+ readonly kind: 'zipByKey';
42
+ /**
43
+ * Per branch b, the attribute IDs of that branch's K key columns, in
44
+ * key-position order. Distinct per branch (provenance-clean — each branch
45
+ * originates its own key id). `length === children.length`; every inner
46
+ * list has the same length K.
47
+ */
48
+ readonly branchKeyAttrs: readonly (readonly number[])[];
49
+ /**
50
+ * The K output key attribute IDs the gather mints (originates). One per
51
+ * key position. Pairwise distinct and disjoint from every child's
52
+ * attribute IDs. Output key columns sit at index 0..K-1, in this order.
53
+ */
54
+ readonly outputKeyAttrs: readonly number[];
55
+ };
56
+ /**
57
+ * Per-branch column-index mapping for a `zipByKey` gather, resolved from the
58
+ * per-branch {@link AsyncGatherCombinator.branchKeyAttrs} lists against each
59
+ * child's attribute layout. Consumed by the node's type inference and by the
60
+ * runtime emitter (via {@link AsyncGatherNode.getZipByKeyIndices}).
61
+ */
62
+ export interface ZipByKeyIndices {
63
+ /** Per branch, the column index of each key attribute, in `branchKeyAttrs[b]` order. */
64
+ readonly branchKeyIndices: readonly (readonly number[])[];
65
+ /** Per branch, the column indices of non-key columns, in declared order. */
66
+ readonly branchNonKeyIndices: readonly (readonly number[])[];
67
+ }
68
+ /**
69
+ * Physical N-ary relational node that drives ≥ 2 independent (uncorrelated)
70
+ * child relations concurrently via {@link ParallelDriver.drive} and combines
71
+ * their outputs with the configured {@link AsyncGatherCombinator}.
72
+ *
73
+ * Properties:
74
+ *
75
+ * - `unionAll`: ordering is dropped (arrival-order interleave is
76
+ * non-deterministic); FDs / ECs / constant bindings / domain constraints
77
+ * are dropped (same conservatism `SetOperationNode.computePhysical` already
78
+ * applies); attribute IDs mirror `children[0]` to preserve downstream
79
+ * `ORDER BY` references; `isSet` is `false` (duplicates allowed); per-column
80
+ * nullability is the OR across children.
81
+ *
82
+ * - `crossProduct`: ordering is dropped; FDs / ECs / bindings / domain
83
+ * constraints are the pairwise N-ary fold of the children (the same fold
84
+ * `JoinNode(cross)` does, repeated); attribute IDs are the verbatim
85
+ * concatenation of children; per-column nullability flows through
86
+ * unchanged. Cartesian product order is deterministic-but-unspecified
87
+ * (a function of the per-branch arrival order). **Buffers all branches
88
+ * before yielding** — not suitable for large branches.
89
+ *
90
+ * `concurrencySafe` and `expectedLatencyMs` are NOT propagated by this node:
91
+ * those fields are not yet defined on {@link PhysicalProperties} (the parallel
92
+ * track has not landed them). Once a successor ticket (5.5 or later) adds
93
+ * them, the intended merge is `AND` across children for `concurrencySafe` and
94
+ * `max` across children for `expectedLatencyMs`; update this node's
95
+ * `computePhysical` at that time. The fields currently inherited from
96
+ * `PlanNode.physical`'s default child-merge are `deterministic`,
97
+ * `idempotent`, and `readonly` (AND across children).
98
+ */
99
+ export declare class AsyncGatherNode extends PlanNode implements RelationalPlanNode {
100
+ readonly children: readonly RelationalPlanNode[];
101
+ readonly combinator: AsyncGatherCombinator;
102
+ readonly concurrencyCap: number;
103
+ readonly preserveAttributeIds?: readonly Attribute[] | undefined;
104
+ readonly nodeType = PlanNodeType.AsyncGather;
105
+ private attributesCache;
106
+ private zipIndicesCache;
107
+ constructor(scope: Scope, children: readonly RelationalPlanNode[], combinator: AsyncGatherCombinator, concurrencyCap: number, preserveAttributeIds?: readonly Attribute[] | undefined);
108
+ private static validateConstruction;
109
+ /**
110
+ * Validate a `zipByKey` combinator under the per-branch-refs representation:
111
+ *
112
+ * - `branchKeyAttrs` has one list per branch, all of the same non-empty
113
+ * length K.
114
+ * - `outputKeyAttrs` has length K, its ids are pairwise distinct AND disjoint
115
+ * from every child attribute id (load-bearing: a collision would let the
116
+ * provenance walk treat an output key id as forwarded, breaking the
117
+ * origination contract this design relies on).
118
+ * - each `branchKeyAttrs[b][k]` resolves in branch b.
119
+ * - per key position, affinity (physical storage class) agrees across all
120
+ * branches (the codebase has no distinct affinity field). Nullability may
121
+ * differ between branches; it gets OR'd in {@link getType}.
122
+ * - per key position, the declared collation agrees across all branches. The
123
+ * runtime key comparator derives solely from branch 0's key-column
124
+ * collations, so a disagreement would let branch 0 win silently and merge
125
+ * (or fail to merge) rows under the wrong collation. Guarding it here means
126
+ * both the recognition rule and manual construction are protected. An
127
+ * absent `collationName` normalizes to the binary collation.
128
+ */
129
+ private static validateZipByKey;
130
+ /**
131
+ * Resolve each branch's own `branchKeyAttrs[b]` list against that branch's
132
+ * attribute layout, yielding per-branch key/non-key column indices. Memoised;
133
+ * only valid for a `zipByKey` combinator.
134
+ */
135
+ private computeZipByKeyIndices;
136
+ /** Public accessor for the resolved zipByKey index mapping (used by the emitter). */
137
+ getZipByKeyIndices(): ZipByKeyIndices;
138
+ private buildAttributes;
139
+ /**
140
+ * Build the `zipByKey` output attribute layout: the K merged key attributes
141
+ * first (type/nullability/collation derived from branch 0's key column at
142
+ * position k, nullability OR'd across branches because a NULL-keyed row can
143
+ * surface — but **carrying the gather-minted `outputKeyAttrs[k]` id**, since
144
+ * the gather originates these merged columns), then each branch's non-key
145
+ * attributes in declared order, each forced nullable (NULL when the branch is
146
+ * absent for a key). Non-key attribute IDs are unique across branches and the
147
+ * minted key ids are disjoint from all of them, so there is no ID collision.
148
+ */
149
+ private buildZipByKeyAttributes;
150
+ getAttributes(): readonly Attribute[];
151
+ getType(): RelationType;
152
+ /**
153
+ * Build the `zipByKey` output relation type. Column layout mirrors
154
+ * {@link buildZipByKeyAttributes}: deduped key columns (nullability OR'd),
155
+ * then each branch's non-key columns forced nullable. The key columns
156
+ * `[0..K-1]` form the output's unique key — multiple NULL-keyed rows do not
157
+ * violate this (SQL UNIQUE permits multiple NULLs). `isSet` is false because
158
+ * NULL-keyed standalone rows can repeat.
159
+ */
160
+ private getZipByKeyType;
161
+ computePhysical(childrenPhysical: PhysicalProperties[]): Partial<PhysicalProperties>;
162
+ getChildren(): readonly PlanNode[];
163
+ getRelations(): readonly RelationalPlanNode[];
164
+ withChildren(newChildren: readonly PlanNode[]): PlanNode;
165
+ get estimatedRows(): number | undefined;
166
+ toString(): string;
167
+ getLogicalAttributes(): Record<string, unknown>;
168
+ }
169
+ //# sourceMappingURL=async-gather-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-gather-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/async-gather-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EACX,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAIlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAgBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,qBAAqB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GACjC;IACD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,CAAC;AAEH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC1D,4EAA4E;IAC5E,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAgB,SAAQ,QAAS,YAAW,kBAAkB;aAOzD,QAAQ,EAAE,SAAS,kBAAkB,EAAE;aACvC,UAAU,EAAE,qBAAqB;aACjC,cAAc,EAAE,MAAM;aACtB,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE;IAT5D,SAAkB,QAAQ,4BAA4B;IACtD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,eAAe,CAA0B;gBAGhD,KAAK,EAAE,KAAK,EACI,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,UAAU,EAAE,qBAAqB,EACjC,cAAc,EAAE,MAAM,EACtB,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE,YAAA;IAQ5D,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAiCnC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsG/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAuB9B,qFAAqF;IACrF,kBAAkB,IAAI,eAAe;IAIrC,OAAO,CAAC,eAAe;IAsBvB;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IA6B/B,aAAa,IAAI,SAAS,SAAS,EAAE;IAIrC,OAAO,IAAI,YAAY;IA4EvB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAmCvB,eAAe,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwDpF,WAAW,IAAI,SAAS,QAAQ,EAAE;IAIlC,YAAY,IAAI,SAAS,kBAAkB,EAAE;IAI7C,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAiCxD,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CA2BtC;IAEQ,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUxD"}