@quereus/quereus 3.1.2 → 3.2.1

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 (142) hide show
  1. package/dist/src/core/database-assertions.js +3 -3
  2. package/dist/src/core/database-assertions.js.map +1 -1
  3. package/dist/src/core/database.js +3 -3
  4. package/dist/src/core/database.js.map +1 -1
  5. package/dist/src/core/statement.js +3 -3
  6. package/dist/src/core/statement.js.map +1 -1
  7. package/dist/src/index.d.ts +2 -1
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +1 -0
  10. package/dist/src/index.js.map +1 -1
  11. package/dist/src/parser/visitor.js +1 -1
  12. package/dist/src/parser/visitor.js.map +1 -1
  13. package/dist/src/planner/analysis/attribute-provenance.d.ts +45 -0
  14. package/dist/src/planner/analysis/attribute-provenance.d.ts.map +1 -0
  15. package/dist/src/planner/analysis/attribute-provenance.js +81 -0
  16. package/dist/src/planner/analysis/attribute-provenance.js.map +1 -0
  17. package/dist/src/planner/analysis/const-evaluator.js +5 -5
  18. package/dist/src/planner/analysis/const-evaluator.js.map +1 -1
  19. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  20. package/dist/src/planner/building/select-window.js +54 -21
  21. package/dist/src/planner/building/select-window.js.map +1 -1
  22. package/dist/src/planner/cache/correlation-detector.d.ts +7 -0
  23. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  24. package/dist/src/planner/cache/correlation-detector.js +34 -2
  25. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  26. package/dist/src/planner/nodes/async-gather-node.d.ts +169 -0
  27. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -0
  28. package/dist/src/planner/nodes/async-gather-node.js +488 -0
  29. package/dist/src/planner/nodes/async-gather-node.js.map +1 -0
  30. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  31. package/dist/src/planner/nodes/bloom-join-node.js +8 -7
  32. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  33. package/dist/src/planner/nodes/eager-prefetch-node.d.ts +47 -0
  34. package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -0
  35. package/dist/src/planner/nodes/eager-prefetch-node.js +96 -0
  36. package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -0
  37. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +150 -0
  38. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -0
  39. package/dist/src/planner/nodes/fanout-lookup-join-node.js +265 -0
  40. package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -0
  41. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  42. package/dist/src/planner/nodes/merge-join-node.js +8 -7
  43. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  44. package/dist/src/planner/nodes/plan-node-type.d.ts +3 -0
  45. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  46. package/dist/src/planner/nodes/plan-node-type.js +3 -0
  47. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  48. package/dist/src/planner/nodes/plan-node.d.ts +36 -0
  49. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  50. package/dist/src/planner/nodes/plan-node.js +26 -0
  51. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  52. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  53. package/dist/src/planner/nodes/reference.js +13 -0
  54. package/dist/src/planner/nodes/reference.js.map +1 -1
  55. package/dist/src/planner/optimizer-tuning.d.ts +107 -0
  56. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  57. package/dist/src/planner/optimizer-tuning.js +43 -0
  58. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  59. package/dist/src/planner/optimizer.d.ts.map +1 -1
  60. package/dist/src/planner/optimizer.js +91 -0
  61. package/dist/src/planner/optimizer.js.map +1 -1
  62. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  63. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +1 -6
  64. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  65. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts +74 -0
  66. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -0
  67. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +139 -0
  68. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -0
  69. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +58 -0
  70. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -0
  71. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +592 -0
  72. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -0
  73. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts +43 -0
  74. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -0
  75. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +115 -0
  76. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -0
  77. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts +102 -0
  78. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -0
  79. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +545 -0
  80. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -0
  81. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts +45 -0
  82. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -0
  83. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +78 -0
  84. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -0
  85. package/dist/src/planner/scopes/param.d.ts.map +1 -1
  86. package/dist/src/planner/scopes/param.js +13 -11
  87. package/dist/src/planner/scopes/param.js.map +1 -1
  88. package/dist/src/planner/type-utils.js +1 -1
  89. package/dist/src/planner/type-utils.js.map +1 -1
  90. package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
  91. package/dist/src/planner/validation/plan-validator.js +17 -19
  92. package/dist/src/planner/validation/plan-validator.js.map +1 -1
  93. package/dist/src/runtime/async-semaphore.d.ts +36 -0
  94. package/dist/src/runtime/async-semaphore.d.ts.map +1 -0
  95. package/dist/src/runtime/async-semaphore.js +72 -0
  96. package/dist/src/runtime/async-semaphore.js.map +1 -0
  97. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  98. package/dist/src/runtime/deferred-constraint-queue.js +4 -3
  99. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  100. package/dist/src/runtime/emit/async-gather.d.ts +77 -0
  101. package/dist/src/runtime/emit/async-gather.d.ts.map +1 -0
  102. package/dist/src/runtime/emit/async-gather.js +234 -0
  103. package/dist/src/runtime/emit/async-gather.js.map +1 -0
  104. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  105. package/dist/src/runtime/emit/bloom-join.js +38 -17
  106. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  107. package/dist/src/runtime/emit/eager-prefetch.d.ts +77 -0
  108. package/dist/src/runtime/emit/eager-prefetch.d.ts.map +1 -0
  109. package/dist/src/runtime/emit/eager-prefetch.js +223 -0
  110. package/dist/src/runtime/emit/eager-prefetch.js.map +1 -0
  111. package/dist/src/runtime/emit/fanout-lookup-join.d.ts +130 -0
  112. package/dist/src/runtime/emit/fanout-lookup-join.d.ts.map +1 -0
  113. package/dist/src/runtime/emit/fanout-lookup-join.js +521 -0
  114. package/dist/src/runtime/emit/fanout-lookup-join.js.map +1 -0
  115. package/dist/src/runtime/parallel-driver.d.ts +68 -0
  116. package/dist/src/runtime/parallel-driver.d.ts.map +1 -0
  117. package/dist/src/runtime/parallel-driver.js +233 -0
  118. package/dist/src/runtime/parallel-driver.js.map +1 -0
  119. package/dist/src/runtime/register.d.ts.map +1 -1
  120. package/dist/src/runtime/register.js +9 -0
  121. package/dist/src/runtime/register.js.map +1 -1
  122. package/dist/src/runtime/strict-fork.d.ts +36 -0
  123. package/dist/src/runtime/strict-fork.d.ts.map +1 -0
  124. package/dist/src/runtime/strict-fork.js +125 -0
  125. package/dist/src/runtime/strict-fork.js.map +1 -0
  126. package/dist/src/util/comparison.d.ts.map +1 -1
  127. package/dist/src/util/comparison.js +11 -1
  128. package/dist/src/util/comparison.js.map +1 -1
  129. package/dist/src/vtab/concurrency.d.ts +29 -0
  130. package/dist/src/vtab/concurrency.d.ts.map +1 -0
  131. package/dist/src/vtab/concurrency.js +47 -0
  132. package/dist/src/vtab/concurrency.js.map +1 -0
  133. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  134. package/dist/src/vtab/memory/layer/scan-layer.js +67 -29
  135. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  136. package/dist/src/vtab/memory/module.d.ts +21 -0
  137. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  138. package/dist/src/vtab/memory/module.js +21 -0
  139. package/dist/src/vtab/memory/module.js.map +1 -1
  140. package/dist/src/vtab/module.d.ts +47 -0
  141. package/dist/src/vtab/module.d.ts.map +1 -1
  142. package/package.json +4 -3
@@ -89,6 +89,9 @@ export var PlanNodeType;
89
89
  PlanNodeType["ExplainSchema"] = "ExplainSchema";
90
90
  // Query execution
91
91
  PlanNodeType["Cache"] = "Cache";
92
+ PlanNodeType["EagerPrefetch"] = "EagerPrefetch";
93
+ PlanNodeType["AsyncGather"] = "AsyncGather";
94
+ PlanNodeType["FanOutLookupJoin"] = "FanOutLookupJoin";
92
95
  PlanNodeType["Sink"] = "Sink";
93
96
  // RETURNING support
94
97
  PlanNodeType["Returning"] = "Returning";
@@ -1 +1 @@
1
- {"version":3,"file":"plan-node-type.js","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAqGX;AArGD,WAAY,YAAY;IACtB,+BAA+B;IAC/B,+BAAe,CAAA;IACf,iDAAiC,CAAA;IACjC,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,2CAA2B,CAAA;IAC3B,6BAAa,CAAA;IACb,6CAA6B,CAAA;IAC7B,2BAAW,CAAA;IACX,6CAA6B,CAAA;IAC7B,mEAAmD,CAAA;IACnD,yBAAS,CAAA;IACT,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IAEzB,gBAAgB;IAChB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,iDAAiC,CAAA;IACjC,iCAAiB,CAAA;IACjB,mDAAmC,CAAA;IACnC,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IACvB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,yCAAyB,CAAA;IACzB,+CAA+B,CAAA;IAE/B,kCAAkC;IAClC,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,2CAA2B,CAAA;IAC3B,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,iDAAiC,CAAA;IACjC,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,2CAA2B,CAAA;IAE3B,0BAA0B;IAC1B,mCAAmB,CAAA;IACnB,mDAAmC,CAAA;IACnC,yDAAyC,CAAA;IACzC,yCAAyB,CAAA;IACzB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,yDAAyC,CAAA;IACzC,yDAAyC,CAAA;IACzC,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,6BAAa,CAAA;IACb,iDAAiC,CAAA;IACjC,iEAAiD,CAAA;IACjD,uDAAuC,CAAA;IAEvC,2BAA2B;IAC3B,+BAAe,CAAA;IACf,iCAAiB,CAAA;IAClB,6CAA6B,CAAA;IAC5B,uCAAuB,CAAA;IACvB,uDAAuC,CAAA;IAEvC,sBAAsB;IACtB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IAEvB,UAAU;IACV,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,+CAA+B,CAAA;IAC/B,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAE/B,kBAAkB;IAClB,+BAAe,CAAA;IACf,6BAAa,CAAA;IAEb,oBAAoB;IACpB,uCAAuB,CAAA;AACzB,CAAC,EArGW,YAAY,KAAZ,YAAY,QAqGvB"}
1
+ {"version":3,"file":"plan-node-type.js","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAwGX;AAxGD,WAAY,YAAY;IACtB,+BAA+B;IAC/B,+BAAe,CAAA;IACf,iDAAiC,CAAA;IACjC,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,2CAA2B,CAAA;IAC3B,6BAAa,CAAA;IACb,6CAA6B,CAAA;IAC7B,2BAAW,CAAA;IACX,6CAA6B,CAAA;IAC7B,mEAAmD,CAAA;IACnD,yBAAS,CAAA;IACT,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IAEzB,gBAAgB;IAChB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,iDAAiC,CAAA;IACjC,iCAAiB,CAAA;IACjB,mDAAmC,CAAA;IACnC,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IACvB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,yCAAyB,CAAA;IACzB,+CAA+B,CAAA;IAE/B,kCAAkC;IAClC,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,2CAA2B,CAAA;IAC3B,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,iDAAiC,CAAA;IACjC,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,2CAA2B,CAAA;IAE3B,0BAA0B;IAC1B,mCAAmB,CAAA;IACnB,mDAAmC,CAAA;IACnC,yDAAyC,CAAA;IACzC,yCAAyB,CAAA;IACzB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,yDAAyC,CAAA;IACzC,yDAAyC,CAAA;IACzC,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,6BAAa,CAAA;IACb,iDAAiC,CAAA;IACjC,iEAAiD,CAAA;IACjD,uDAAuC,CAAA;IAEvC,2BAA2B;IAC3B,+BAAe,CAAA;IACf,iCAAiB,CAAA;IAClB,6CAA6B,CAAA;IAC5B,uCAAuB,CAAA;IACvB,uDAAuC,CAAA;IAEvC,sBAAsB;IACtB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IAEvB,UAAU;IACV,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,+CAA+B,CAAA;IAC/B,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAE/B,kBAAkB;IAClB,+BAAe,CAAA;IACf,+CAA+B,CAAA;IAC/B,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;IACrC,6BAAa,CAAA;IAEb,oBAAoB;IACpB,uCAAuB,CAAA;AACzB,CAAC,EAxGW,YAAY,KAAZ,YAAY,QAwGvB"}
@@ -285,6 +285,31 @@ export interface PhysicalProperties {
285
285
  * If this is true, the node should implement getValue() to return the constant value.
286
286
  */
287
287
  constant?: boolean;
288
+ /**
289
+ * Expected first-row latency in milliseconds for this subtree's iterator.
290
+ * 0 (default) for local-only paths (memory vtab, in-process compute).
291
+ * Non-zero for remote vtabs and any operator whose cost model declares it.
292
+ * Consumed by rule-fanout-lookup-join's cost gate; consumers must not rely
293
+ * on it for correctness (only as a fan-out savings hint).
294
+ *
295
+ * Propagation: unary/multi-input nodes inherit the max of children. Leaves
296
+ * declare their own value via `computePhysical`. Remote-vtab leaves should
297
+ * source this from their access plan; the in-tree default is 0 and the
298
+ * fan-out cost gate is intentionally inert until a remote plugin populates it.
299
+ */
300
+ expectedLatencyMs?: number;
301
+ /**
302
+ * True when the subtree is safe to execute concurrently with siblings sharing
303
+ * the same vtab connection. Defaults to true for read-only subtrees over
304
+ * modules with `concurrencyMode !== 'serial'`. False when the subtree mutates
305
+ * state, holds a non-reentrant cursor, or sits over a `'serial'` module that
306
+ * does not have a per-branch connection available.
307
+ *
308
+ * Propagation: multi-input nodes inherit the AND of children — any non-safe
309
+ * child poisons the parent. Leaves derive their own value from the
310
+ * underlying module's concurrency mode and the subtree's readonly status.
311
+ */
312
+ concurrencySafe?: boolean;
288
313
  }
289
314
  /**
290
315
  * Default physical properties for plan nodes
@@ -403,6 +428,15 @@ export declare abstract class PlanNode {
403
428
  * Get the attributes (columns) produced by this relational node
404
429
  */
405
430
  getAttributes?(): readonly Attribute[];
431
+ /** Cached attrId → index map; see getAttributeIndex(). */
432
+ private _attributeIndexCache?;
433
+ /**
434
+ * Map from attribute id to its index in `getAttributes()`. Replaces the
435
+ * ad-hoc `attrs.findIndex(a => a.id === …)` scans scattered across the
436
+ * planner. Cached per instance; because PlanNodes are immutable, `withChildren`
437
+ * mints a fresh instance and the cache rebuilds automatically.
438
+ */
439
+ getAttributeIndex(): ReadonlyMap<number, number>;
406
440
  /**
407
441
  * Get map of attribute ID to producing scalar expression (for constant folding)
408
442
  * Only relational nodes that synthesize columns from expressions need implement this
@@ -471,6 +505,8 @@ export interface RelationalPlanNode extends PlanNode {
471
505
  * Each attribute has a unique ID that persists across plan transformations
472
506
  */
473
507
  getAttributes(): readonly Attribute[];
508
+ /** Map from attribute id to its index in getAttributes(). Cached on PlanNode. */
509
+ getAttributeIndex(): ReadonlyMap<number, number>;
474
510
  }
475
511
  /**
476
512
  * Characteristically check if a node is relational (can be cached)
@@ -1 +1 @@
1
- {"version":3,"file":"plan-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,25 @@ export class PlanNode {
65
65
  return this.getChildren()
66
66
  .filter(isRelationalNode);
67
67
  }
68
+ /** Cached attrId → index map; see getAttributeIndex(). */
69
+ _attributeIndexCache;
70
+ /**
71
+ * Map from attribute id to its index in `getAttributes()`. Replaces the
72
+ * ad-hoc `attrs.findIndex(a => a.id === …)` scans scattered across the
73
+ * planner. Cached per instance; because PlanNodes are immutable, `withChildren`
74
+ * mints a fresh instance and the cache rebuilds automatically.
75
+ */
76
+ getAttributeIndex() {
77
+ if (!this._attributeIndexCache) {
78
+ const map = new Map();
79
+ const attrs = this.getAttributes?.() ?? [];
80
+ for (let i = 0; i < attrs.length; i++) {
81
+ map.set(attrs[i].id, i);
82
+ }
83
+ this._attributeIndexCache = map;
84
+ }
85
+ return this._attributeIndexCache;
86
+ }
68
87
  getTotalCost() {
69
88
  return this.estimatedCost + this.getChildren().reduce((acc, child) => acc + child.getTotalCost(), 0);
70
89
  }
@@ -119,6 +138,13 @@ export class PlanNode {
119
138
  idempotent: childrenPhysical.every(child => child.idempotent),
120
139
  readonly: childrenPhysical.every(child => child.readonly),
121
140
  // constant: DON'T INHERIT - only ValueNodes can be directly constant
141
+ // expectedLatencyMs: max of children — slowest child gates first-row
142
+ // latency. 0 default for local-only paths.
143
+ expectedLatencyMs: childrenPhysical.reduce((acc, child) => Math.max(acc, child.expectedLatencyMs ?? 0), 0),
144
+ // concurrencySafe: AND of children — any non-safe child poisons the
145
+ // parent. Default true so missing values do not spuriously disable
146
+ // parallelism; leaves that need stricter behavior set false.
147
+ concurrencySafe: childrenPhysical.every(child => child.concurrencySafe !== false),
122
148
  }
123
149
  : DEFAULT_PHYSICAL;
124
150
  this._physical = { ...defaults, ...propsOverride };
@@ -1 +1 @@
1
- {"version":3,"file":"plan-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAwTtD,6CAA6C;AAC7C,qEAAqE;AACrE,mDAAmD;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IACnD,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI,EAAE,kCAAkC;IACpD,QAAQ,EAAE,KAAK;CACN,CAAC;AAwCX,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAW,CAAC;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAuB,EAAE,YAAY,EAAE,SAAS,EAAW,CAAC;AAE7F,oGAAoG;AACpG,MAAM,UAAU,kBAAkB,CAAC,CAAe;IACjD,QAAQ,CAAC,EAAE,CAAC;QACX,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACF,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,CAAe,EAAE,CAAe;IAC/D,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzD,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACxE,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,qCAAqC;IAC5D,OAAO,SAAS,CAAC,CAAC,mBAAmB;AACtC,CAAC;AAmCD;;;GAGG;AACH,MAAM,OAAgB,QAAQ;IAYV;IAEF;IAbR,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;IAE1B,EAAE,CAAS;IAGpB,kDAAkD;IAC1C,SAAS,CAAsB;IAEvC;IACA,+CAA+C;IAC7B,KAAY;IAC7B,2EAA2E;IAC5D,gBAAgB,IAAI;QAFlB,UAAK,GAAL,KAAK,CAAO;QAEd,kBAAa,GAAb,aAAa,CAAO;QAGlC,IAAI,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IACnC,CAAC;IAKD;;;OAGG;IACJ,YAAY;QACT,OAAO,IAAI,CAAC,WAAW,EAAE;aACvB,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7B,CAAC;IAyBD,0DAA0D;IAClD,oBAAoB,CAA+B;IAE3D;;;;;OAKG;IACH,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAQF,YAAY;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;IAEA,KAAK,CAAC,OAAwB;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEF,QAAQ;QACP,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;IACxC,CAAC;IAED;;;KAGI;IACH,oBAAoB;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,YAAoB;QAChC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,YAAoB;QACjC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,YAAoB,EAAE,SAAmB;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEF,2DAA2D;IAC3D,IAAI,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEzE,kCAAkC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,CAAC;YAE/D,qEAAqE;YACrE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM;gBACvC,CAAC,CAAC;oBACD,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC;oBACnE,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;oBAC7D,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACzD,qEAAqE;oBACrE,qEAAqE;oBACrE,2CAA2C;oBAC3C,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,EAC3D,CAAC,CACD;oBACD,oEAAoE;oBACpE,mEAAmE;oBACnE,6DAA6D;oBAC7D,eAAe,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC;iBACjF;gBACD,CAAC,CAAC,gBAAgB,CAAC;YAEpB,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAEA,8CAA8C;IACvC,MAAM,CAAC,UAAU;QACtB,OAAO,QAAQ,CAAC,eAAe,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,QAA4B;QACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,QAA4B;QACvD,OAAO,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC;IACrC,CAAC;;AAKH;;;GAGG;AACH,MAAM,OAAgB,QAAS,SAAQ,QAAQ;IAC7C,OAAO;QACL,mFAAmF;QACnF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,EAAE,CAAC,CAAC,oDAAoD;IACjE,CAAC;IAED,YAAY,CAAC,WAAgC;QAC3C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,4BAA4B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,4BAA4B;IAC3C,CAAC;IAEF,YAAY;QACT,OAAO,EAAE,CAAC,CAAC,sCAAsC;IACnD,CAAC;CACF;AAsBD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC9C,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,UAAU,CAAC;AAChD,CAAC;AAmBD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC9C,CAAC;AAyDD,4CAA4C;AAE5C;;GAEG;AACH,MAAM,OAAgB,qBAAsB,SAAQ,QAAQ;IAI1D,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,WAAgC;QAC3C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,4BAA4B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAgB,mBAAoB,SAAQ,QAAQ;IAKxD,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,YAAY;QACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CAGF;AAED;;GAEG;AACH,MAAM,OAAgB,oBAAqB,SAAQ,QAAQ;IAMzD,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CAGF;AAED;;GAEG;AACH,MAAM,OAAgB,iBAAkB,SAAQ,QAAQ;IAItD,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,WAAgC;QAC3C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,4BAA4B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAgB,eAAgB,SAAQ,QAAQ;IAKpD,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;CAGF;AAED;;GAEG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,QAAQ;IAMrD,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CAGF;AAED;;GAEG;AACH,MAAM,OAAgB,iBAAkB,SAAQ,QAAQ;CAMvD;AAED;;GAEG;AACH,MAAM,OAAgB,cAAe,SAAQ,QAAQ;IAKnD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CAGF"}
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/reference.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { isTableValuedFunctionSchema } from '../../schema/function.js';
10
10
  import { formatScalarType } from '../../util/plan-formatter.js';
11
11
  import { quereusError } from '../../common/errors.js';
12
12
  import { StatusCode } from '../../common/types.js';
13
+ import { getModuleConcurrencyMode } from '../../vtab/concurrency.js';
13
14
  /** Shared empty `CheckExtraction` instance used when a vtab module's
14
15
  * `permitsGrandfatheredCheckViolators` capability suppresses the CHECK
15
16
  * contribution lift in `TableReferenceNode.computePhysical`. */
@@ -180,6 +181,18 @@ export class TableReferenceNode extends PlanNode {
180
181
  out.constantBindings = constantBindings;
181
182
  if (domainConstraints.length > 0)
182
183
  out.domainConstraints = domainConstraints;
184
+ // Concurrency safety: read-only subtree over a module that tolerates
185
+ // concurrent calls. The base PlanNode `physical` getter ANDs children's
186
+ // `concurrencySafe` automatically; here we set the leaf value.
187
+ out.concurrencySafe = getModuleConcurrencyMode(this.vtabModule) !== 'serial';
188
+ // expectedLatencyMs: pick up the module's declared hint. Local in-process
189
+ // modules omit it (0). Remote modules declare a non-zero value so the
190
+ // parallel fan-out rule can amortize per-branch latency. With no remote
191
+ // plugin in tree this stays 0 and the cost gate is inert by design.
192
+ const moduleLatency = this.vtabModule.expectedLatencyMs;
193
+ if (typeof moduleLatency === 'number' && moduleLatency > 0) {
194
+ out.expectedLatencyMs = moduleLatency;
195
+ }
183
196
  return out;
184
197
  }
185
198
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../src/planner/nodes/reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../src/planner/nodes/reference.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,113 @@ export interface OptimizerTuning {
97
97
  /** Enable/disable QuickPick globally */
98
98
  readonly enabled: boolean;
99
99
  };
100
+ /**
101
+ * Parallel-execution rule tuning. Consumed by `rule-fanout-lookup-join`
102
+ * (the FK→PK fan-out recognition rule), `rule-async-gather-union-all`
103
+ * (the UNION ALL gather recognition rule), and `rule-async-gather-zip-by-key`
104
+ * (the full-outer-on-shared-key zip gather recognition rule). All values are
105
+ * unitless cost comparators except `concurrency`, which is a row-time branch
106
+ * cap.
107
+ */
108
+ readonly parallel: {
109
+ /** Don't form a fan-out / gather below this branch count. Default 2. */
110
+ readonly minBranches: number;
111
+ /**
112
+ * Per-branch fixed overhead, charged against the latency win. Anchored
113
+ * against `COST_CONSTANTS.NL_JOIN_PER_OUTER_ROW`; the value only matters
114
+ * relative to `expectedLatencyMs`, so the unit is "ms-equivalent cost".
115
+ * Default 1.0.
116
+ */
117
+ readonly branchSetupCost: number;
118
+ /** Static cap on in-flight branches per outer row. Default 8. */
119
+ readonly concurrency: number;
120
+ /**
121
+ * Global cap on concurrent branch lookups across *all* in-flight outer
122
+ * rows in a `outerMode: 'batched'` fan-out lookup join. Distinct from
123
+ * `concurrency` (the per-row serial cap): the batched driver shares a
124
+ * single semaphore over this budget so a small per-row `branchCount` can
125
+ * still saturate block I/O by admitting more outer rows ahead of the
126
+ * emit frontier. Default 16.
127
+ */
128
+ readonly outerBatchConcurrency: number;
129
+ /**
130
+ * Hard clamp on the number of outer rows a batched fan-out lookup join
131
+ * admits ahead of the emit frontier. Bounds the order-preserving reorder
132
+ * buffer (and the number of forked per-row contexts) so a `branchCount`
133
+ * of 1 cannot fork an unbounded number of contexts. The effective
134
+ * read-ahead is `clamp(ceil(outerBatchConcurrency / branchCount), 1,
135
+ * maxOuterReadAhead)`. Default 64.
136
+ */
137
+ readonly maxOuterReadAhead: number;
138
+ /**
139
+ * Minimum slowest-branch `expectedLatencyMs` for `rule-fanout-batched-outer`
140
+ * to flip an already-formed `FanOutLookupJoinNode` from `serial` to
141
+ * `batched` outer mode. Like `gatherThresholdMs` / `prefetchProbeThresholdMs`,
142
+ * any positive value keeps the rule inert on memory-vtab plans (their leaves
143
+ * declare `expectedLatencyMs = 0`), so the golden-plan sweep is unaffected.
144
+ * Default 25 ms — matches the synthetic high-latency vtab fixture the other
145
+ * parallel rules use.
146
+ */
147
+ readonly batchedOuterThresholdMs: number;
148
+ /**
149
+ * Minimum estimated outer-row count for `rule-fanout-batched-outer` to flip
150
+ * to `batched`. Cross-row pipelining only amortizes the reorder-buffer +
151
+ * per-row-fork overhead when outer rows clearly exceed the read-ahead window;
152
+ * below this the serial per-row overlap is already an upper bound on
153
+ * wall-clock. An unknown estimate (`undefined`) is treated as *failing* the
154
+ * gate (conservative — never flip on a missing statistic). Synthetic
155
+ * memory-vtab fixtures resolve `estimatedRows` to 0, so the default also keeps
156
+ * the rule inert there independent of the latency gate. Default 256
157
+ * (≈ 4× `maxOuterReadAhead`).
158
+ */
159
+ readonly batchedOuterMinRows: number;
160
+ /**
161
+ * The slowest child of a UNION ALL chain must have at least this expected
162
+ * first-row latency (in milliseconds) for `rule-async-gather-union-all`
163
+ * to fold it into an `AsyncGatherNode`. Set high enough that local-only
164
+ * memory-vtab plans never trigger — `expectedLatencyMs` is 0 throughout
165
+ * those plans, so any positive value keeps the rule inert there. Default
166
+ * 25 ms (matches the high-latency vtab fixture used by the parallel
167
+ * optimizer tests, so the same fixture exercises both this rule and the
168
+ * fan-out rule).
169
+ */
170
+ readonly gatherThresholdMs: number;
171
+ /**
172
+ * Minimum `right.physical.expectedLatencyMs` (in milliseconds) on a
173
+ * physical hash join's build side for `rule-eager-prefetch-probe` to wrap
174
+ * the probe (`left`) input in an `EagerPrefetchNode`. Like
175
+ * `gatherThresholdMs`, any positive value keeps the rule inert on
176
+ * memory-vtab plans (their leaves declare `expectedLatencyMs=0`). Default
177
+ * 25 ms — the same high-latency vtab fixture value the other parallel
178
+ * rules use, so no test-side tuning is needed to exercise the rule.
179
+ */
180
+ readonly prefetchProbeThresholdMs: number;
181
+ /**
182
+ * Buffer size handed to the `EagerPrefetchNode` the prefetch-probe rule
183
+ * inserts. Default 64 — mirrors the `EagerPrefetchNode` constructor
184
+ * default so the in-tree default matches what manual construction
185
+ * already produces.
186
+ */
187
+ readonly prefetchBufferSize: number;
188
+ /**
189
+ * Per-branch row cap for `cross` (1:n) fan-out lookup-join branches.
190
+ * `rule-fanout-lookup-join` refuses to fold a parameterized equi-lookup
191
+ * that is *not* provably at-most-one into a `cross` branch when that
192
+ * lookup's row estimate exceeds this — its Cartesian contribution could
193
+ * blow memory, so the chain is left as a streaming nested-loop join.
194
+ * At-most-one branches (FK→PK) are exempt: they contribute ≤1 row per
195
+ * outer row. Default 10000.
196
+ */
197
+ readonly maxCrossBranchRows: number;
198
+ /**
199
+ * Whole-product cap for a `cross` fan-out lookup join:
200
+ * `outer.estimatedRows × Π(cross-branch estimatedRows)`. Above this the
201
+ * chain stays nested-loop. Unknown estimates are treated as *exceeding*
202
+ * the cap (conservative) so a missing statistic never authorizes an
203
+ * unbounded product. Default 1e6.
204
+ */
205
+ readonly maxCrossProduct: number;
206
+ };
100
207
  }
101
208
  /**
102
209
  * Default optimizer tuning parameters
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer-tuning.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,8BAA8B;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAEtC;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE;QACd,4DAA4D;QAC5D,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;QACvC,uCAAuC;QACvC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;QACxC,0DAA0D;QAC1D,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;QAC1C,8BAA8B;QAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACnC,CAAC;IAEF,uBAAuB;IACvB,QAAQ,CAAC,GAAG,EAAE;QACb,+CAA+C;QAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,0CAA0C;QAC1C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;QAC1C,uCAAuC;QACvC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACnC,CAAC;IAEF,kCAAkC;IAClC,QAAQ,CAAC,YAAY,EAAE;QACtB,4EAA4E;QAC5E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,sDAAsD;QACtD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;KACvC,CAAC;IAEF,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE;QACf,gEAAgE;QAChE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,kDAAkD;QAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,uCAAuC;QACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;KAC/B,CAAC;IAEF,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE;QACd;;;;WAIG;QACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACnC,CAAC;IAEF;;;;;;;;OAQG;IACH,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAE1C,mEAAmE;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE7C,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE;QACf,yDAAyD;QACzD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;KAC/B,CAAC;IAEF,wCAAwC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACpB,wDAAwD;QACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,4DAA4D;QAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,yDAAyD;QACzD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,wCAAwC;QACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC1B,CAAC;CACF;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,eAsC5B,CAAC"}
1
+ {"version":3,"file":"optimizer-tuning.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,49 @@ export const DEFAULT_TUNING = {
38
38
  timeLimitMs: 100,
39
39
  minTriggerCost: 0,
40
40
  enabled: true
41
+ },
42
+ parallel: {
43
+ minBranches: 2,
44
+ // 1.0 ≈ COST_CONSTANTS.NL_JOIN_PER_OUTER_ROW; this is "ms-equivalent" because
45
+ // it is compared directly against `expectedLatencyMs * (N - cap)` savings.
46
+ branchSetupCost: 1.0,
47
+ concurrency: 8,
48
+ // Global in-flight budget for batched-outer fan-out lookup joins, shared
49
+ // across all in-flight outer rows. Larger than `concurrency` so a small
50
+ // per-row branch count can still saturate block I/O.
51
+ outerBatchConcurrency: 16,
52
+ // Hard clamp on outer rows admitted ahead of the emit frontier in a
53
+ // batched fan-out lookup join; bounds the reorder buffer and forked
54
+ // per-row contexts.
55
+ maxOuterReadAhead: 64,
56
+ // ≥ this many ms on the slowest branch flips a fan-out to batched outer
57
+ // mode. 25 ms matches the synthetic high-latency vtab fixture; memory-vtab
58
+ // plans declare 0 ms so the rule stays inert on local-only plans.
59
+ batchedOuterThresholdMs: 25,
60
+ // ≥ this many estimated outer rows required before batched is worthwhile;
61
+ // ≈ 4× maxOuterReadAhead. Unknown estimates fail the gate; memory-vtab
62
+ // fixtures resolve to 0 and never flip.
63
+ batchedOuterMinRows: 256,
64
+ // ≥ this many ms on the slowest child of a unionAll chain triggers the
65
+ // parallel gather. 25 ms matches the synthetic high-latency vtab fixture;
66
+ // memory-vtab plans declare 0 ms so they never cross this gate.
67
+ gatherThresholdMs: 25,
68
+ // ≥ this many ms on a hash join's build (right) side triggers wrapping
69
+ // the probe (left) side in EagerPrefetch. 25 ms matches the synthetic
70
+ // high-latency vtab fixture; memory-vtab plans declare 0 ms so the rule
71
+ // stays inert on local-only plans.
72
+ prefetchProbeThresholdMs: 25,
73
+ // Ring-buffer size for the inserted EagerPrefetchNode; mirrors the node's
74
+ // own constructor default.
75
+ prefetchBufferSize: 64,
76
+ // Per-branch row cap for `cross` (1:n) fan-out branches; a lookup whose
77
+ // estimate exceeds this stays a nested-loop join. At-most-one branches
78
+ // are exempt.
79
+ maxCrossBranchRows: 10000,
80
+ // Whole-product cap for a cross fan-out (outer × Π cross-branch rows);
81
+ // unknown estimates count as exceeding it. Bounds the per-outer-row
82
+ // product replay the node materializes.
83
+ maxCrossProduct: 1_000_000,
41
84
  }
42
85
  };
43
86
  //# sourceMappingURL=optimizer-tuning.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer-tuning.js","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"AAiHA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC9C,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,EAAE;IACxB,yBAAyB,EAAE,EAAE;IAC7B,aAAa,EAAE,MAAM;IACrB,IAAI,EAAE;QACL,qBAAqB,EAAE,CAAC;QACxB,sBAAsB,EAAE,KAAK;QAC7B,wBAAwB,EAAE,CAAC;QAC3B,iBAAiB,EAAE,KAAK;KACxB;IACD,GAAG,EAAE;QACJ,iBAAiB,EAAE,KAAK;QACxB,wBAAwB,EAAE,CAAC;QAC3B,iBAAiB,EAAE,KAAK;KACxB;IACD,YAAY,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,qBAAqB,EAAE,KAAK;KAC5B;IACD,KAAK,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;KAClB;IACD,IAAI,EAAE;QACL,iBAAiB,EAAE,KAAK;KACxB;IACD,wBAAwB,EAAE,GAAG;IAC7B,KAAK,EAAE;QACN,YAAY,EAAE,KAAK,CAAC,oCAAoC;KACxD;IACD,SAAS,EAAE;QACV,QAAQ,EAAE,GAAG;QACb,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI;KACb;CACD,CAAC"}
1
+ {"version":3,"file":"optimizer-tuning.js","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"AA6NA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC9C,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,EAAE;IACxB,yBAAyB,EAAE,EAAE;IAC7B,aAAa,EAAE,MAAM;IACrB,IAAI,EAAE;QACL,qBAAqB,EAAE,CAAC;QACxB,sBAAsB,EAAE,KAAK;QAC7B,wBAAwB,EAAE,CAAC;QAC3B,iBAAiB,EAAE,KAAK;KACxB;IACD,GAAG,EAAE;QACJ,iBAAiB,EAAE,KAAK;QACxB,wBAAwB,EAAE,CAAC;QAC3B,iBAAiB,EAAE,KAAK;KACxB;IACD,YAAY,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,qBAAqB,EAAE,KAAK;KAC5B;IACD,KAAK,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;KAClB;IACD,IAAI,EAAE;QACL,iBAAiB,EAAE,KAAK;KACxB;IACD,wBAAwB,EAAE,GAAG;IAC7B,KAAK,EAAE;QACN,YAAY,EAAE,KAAK,CAAC,oCAAoC;KACxD;IACD,SAAS,EAAE;QACV,QAAQ,EAAE,GAAG;QACb,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI;KACb;IACD,QAAQ,EAAE;QACT,WAAW,EAAE,CAAC;QACd,8EAA8E;QAC9E,2EAA2E;QAC3E,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC;QACd,yEAAyE;QACzE,wEAAwE;QACxE,qDAAqD;QACrD,qBAAqB,EAAE,EAAE;QACzB,oEAAoE;QACpE,oEAAoE;QACpE,oBAAoB;QACpB,iBAAiB,EAAE,EAAE;QACrB,wEAAwE;QACxE,2EAA2E;QAC3E,kEAAkE;QAClE,uBAAuB,EAAE,EAAE;QAC3B,0EAA0E;QAC1E,uEAAuE;QACvE,wCAAwC;QACxC,mBAAmB,EAAE,GAAG;QACxB,uEAAuE;QACvE,0EAA0E;QAC1E,gEAAgE;QAChE,iBAAiB,EAAE,EAAE;QACrB,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,mCAAmC;QACnC,wBAAwB,EAAE,EAAE;QAC5B,0EAA0E;QAC1E,2BAA2B;QAC3B,kBAAkB,EAAE,EAAE;QACtB,wEAAwE;QACxE,uEAAuE;QACvE,cAAc;QACd,kBAAkB,EAAE,KAAK;QACzB,uEAAuE;QACvE,oEAAoE;QACpE,wCAAwC;QACxC,eAAe,EAAE,SAAS;KAC1B;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,CAAC;AAI1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAiDnE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C;;GAEG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,eAAe,CAAqC;IACrD,MAAM,EAAE,eAAe,CAAC;gBAG9B,MAAM,GAAE,eAAgC,EACxC,KAAK,CAAC,EAAE,aAAa;IAUtB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI3C,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAS;IAE7C;;OAEG;IAEH;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAod7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ;IAgChD;;;OAGG;IACH,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ;IAe3D,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ;IAuC3D,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,QAAQ,IAAI,aAAa;IAIzB,qDAAqD;IACrD,kBAAkB,IAAI,oBAAoB,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,CAAC;AAI1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAsDnE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C;;GAEG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,eAAe,CAAqC;IACrD,MAAM,EAAE,eAAe,CAAC;gBAG9B,MAAM,GAAE,eAAgC,EACxC,KAAK,CAAC,EAAE,aAAa;IAUtB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI3C,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAS;IAE7C;;OAEG;IAEH;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+iB7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ;IAgChD;;;OAGG;IACH,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ;IAe3D,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ;IAuC3D,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,QAAQ,IAAI,aAAa;IAIzB,qDAAqD;IACrD,kBAAkB,IAAI,oBAAoB,GAAG,IAAI;CAGjD"}
@@ -24,6 +24,11 @@ import { ruleSargableRangeRewrite } from './rules/predicate/rule-sargable-range-
24
24
  import { ruleJoinKeyInference } from './rules/join/rule-join-key-inference.js';
25
25
  import { ruleJoinGreedyCommute } from './rules/join/rule-join-greedy-commute.js';
26
26
  import { ruleJoinElimination, ruleJoinEliminationUnderAggregate } from './rules/join/rule-join-elimination.js';
27
+ import { ruleFanOutLookupJoin } from './rules/join/rule-fanout-lookup-join.js';
28
+ import { ruleFanOutBatchedOuter } from './rules/join/rule-fanout-batched-outer.js';
29
+ import { ruleAsyncGatherUnionAll } from './rules/parallel/rule-async-gather-union-all.js';
30
+ import { ruleAsyncGatherZipByKey } from './rules/parallel/rule-async-gather-zip-by-key.js';
31
+ import { ruleEagerPrefetchProbe } from './rules/parallel/rule-eager-prefetch-probe.js';
27
32
  // Predicate pushdown rules
28
33
  // Core optimization rules
29
34
  import { ruleAggregatePhysical } from './rules/aggregate/rule-aggregate-streaming.js';
@@ -206,6 +211,22 @@ export class Optimizer {
206
211
  fn: ruleGroupByFdSimplification,
207
212
  priority: 23
208
213
  });
214
+ // Fan-out lookup join (FK→PK): cluster N LEFT/INNER nested-loop joins from
215
+ // a common outer into one parallel `FanOutLookupJoinNode` when the cost
216
+ // gate (per-branch latency × (N - cap) > N × branchSetupCost) approves.
217
+ // Runs *before* `join-elimination` (priority 24) so the rule sees the full
218
+ // branch set; elimination would otherwise steal any single branch whose
219
+ // non-preserved side isn't referenced upstream. The rule's cost gate is
220
+ // inert when `expectedLatencyMs === 0`, so memory-vtab chains never
221
+ // transform (single golden-plan sweep verified — see
222
+ // test/optimizer/parallel-fanout.spec.ts).
223
+ this.passManager.addRuleToPass(PassId.Structural, {
224
+ id: 'fanout-lookup-join',
225
+ nodeType: PlanNodeType.Project,
226
+ phase: 'rewrite',
227
+ fn: ruleFanOutLookupJoin,
228
+ priority: 23
229
+ });
209
230
  // Join elimination (FK→PK): drop LEFT/INNER joins whose non-preserved side
210
231
  // is never referenced above the join and is at-most-one-matching per a
211
232
  // declared FK→PK relationship. Runs after predicate-pushdown (priority 20)
@@ -464,6 +485,76 @@ export class Optimizer {
464
485
  fn: ruleAsofStrategySelect,
465
486
  priority: 11
466
487
  });
488
+ // Async-gather UNION ALL fold: collapse a chain of
489
+ // SetOperationNode(unionAll) into one N-ary AsyncGatherNode(unionAll)
490
+ // when every flattened child clears `concurrencySafe` AND the slowest
491
+ // child meets `tuning.parallel.gatherThresholdMs`. Runs after
492
+ // `asof-strategy-select` (priority 11) — by which point physical-pass
493
+ // selection has finalized `expectedLatencyMs` / `concurrencySafe` on
494
+ // the leaves — and before `materialization-advisory` (priority 30) so
495
+ // any cache the advisory introduces sits *inside* each gather branch
496
+ // (preserving the parallel-drive overlap of high-latency I/O with
497
+ // branch-local compute). The cost gate is inert on memory-vtab
498
+ // plans (expectedLatencyMs=0), so the local-only golden-plan sweep
499
+ // is unaffected.
500
+ this.passManager.addRuleToPass(PassId.PostOptimization, {
501
+ id: 'async-gather-union-all',
502
+ nodeType: PlanNodeType.SetOperation,
503
+ phase: 'rewrite',
504
+ fn: ruleAsyncGatherUnionAll,
505
+ priority: 17
506
+ });
507
+ // Async-gather ZIP BY KEY fold: collapse a `Project` over a chain of
508
+ // binary full-outer `JoinNode`s sharing a common key set into one N-ary
509
+ // AsyncGatherNode(zipByKey). Same gates and placement rationale as
510
+ // `async-gather-union-all` (concurrencySafe + gatherThresholdMs +
511
+ // uncorrelated branches; inert on memory-vtab plans where
512
+ // expectedLatencyMs=0). Matches `Project` rather than `SetOperation`;
513
+ // the full-outer chain underneath has no other physical lowering, so it
514
+ // survives untouched to this pass.
515
+ this.passManager.addRuleToPass(PassId.PostOptimization, {
516
+ id: 'async-gather-zip-by-key',
517
+ nodeType: PlanNodeType.Project,
518
+ phase: 'rewrite',
519
+ fn: ruleAsyncGatherZipByKey,
520
+ priority: 17
521
+ });
522
+ // Eager-prefetch probe wrap: when a physical hash join's build (right)
523
+ // side is high-latency, wrap the probe (left) side in an
524
+ // `EagerPrefetchNode` so the buffered pump pipelines probe reads with
525
+ // the parent emit's per-row work. Gated on
526
+ // `right.physical.expectedLatencyMs >= prefetchProbeThresholdMs`, which
527
+ // is 0 on memory-vtab leaves — so the rule is inert on local-only plans
528
+ // (the golden-plan sweep is unaffected). Runs after `mutating-subquery-
529
+ // cache` (priority 10) and `asof-strategy-select` (priority 11) — by
530
+ // which point leaf physical properties incl. `expectedLatencyMs` are
531
+ // finalized — and before `cte-optimization` (priority 20) and
532
+ // `materialization-advisory` (priority 30), so the advisory sees the
533
+ // prefetch-wrapped tree and does not re-wrap the probe in a Cache.
534
+ this.passManager.addRuleToPass(PassId.PostOptimization, {
535
+ id: 'eager-prefetch-probe',
536
+ nodeType: PlanNodeType.HashJoin,
537
+ phase: 'rewrite',
538
+ fn: ruleEagerPrefetchProbe,
539
+ priority: 15
540
+ });
541
+ // Fan-out batched-outer recognition: flip an already-formed
542
+ // `FanOutLookupJoinNode` from serial to batched outer mode when the per-row
543
+ // branch count under-saturates the global in-flight budget, the slowest
544
+ // branch is high-latency, and the outer cardinality is large enough for
545
+ // cross-row pipelining to pay off. Runs after physical selection (so leaf
546
+ // expectedLatencyMs / estimatedRows / concurrencySafe are final) and before
547
+ // `materialization-advisory` (priority 30) so the EagerPrefetch the rule
548
+ // wraps the outer in is already in place when the advisory walks the tree.
549
+ // Inert on memory-vtab plans (expectedLatencyMs = 0 AND estimatedRows = 0),
550
+ // so the golden-plan sweep is unaffected.
551
+ this.passManager.addRuleToPass(PassId.PostOptimization, {
552
+ id: 'fanout-batched-outer',
553
+ nodeType: PlanNodeType.FanOutLookupJoin,
554
+ phase: 'rewrite',
555
+ fn: ruleFanOutBatchedOuter,
556
+ priority: 16
557
+ });
467
558
  this.passManager.addRuleToPass(PassId.PostOptimization, {
468
559
  id: 'cte-optimization',
469
560
  nodeType: PlanNodeType.CTE,