@quereus/quereus 4.17.1 → 4.19.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 (248) hide show
  1. package/dist/src/common/types.d.ts +17 -0
  2. package/dist/src/common/types.d.ts.map +1 -1
  3. package/dist/src/common/types.js.map +1 -1
  4. package/dist/src/core/database-assertions.d.ts.map +1 -1
  5. package/dist/src/core/database-assertions.js +2 -1
  6. package/dist/src/core/database-assertions.js.map +1 -1
  7. package/dist/src/core/database-auto-analyze.d.ts +3 -3
  8. package/dist/src/core/database-auto-analyze.d.ts.map +1 -1
  9. package/dist/src/core/database-auto-analyze.js +17 -11
  10. package/dist/src/core/database-auto-analyze.js.map +1 -1
  11. package/dist/src/core/database-materialized-views-plan-builders.d.ts +11 -2
  12. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  13. package/dist/src/core/database-materialized-views-plan-builders.js +15 -10
  14. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  15. package/dist/src/core/database-watchers.d.ts.map +1 -1
  16. package/dist/src/core/database-watchers.js +2 -1
  17. package/dist/src/core/database-watchers.js.map +1 -1
  18. package/dist/src/core/database.d.ts.map +1 -1
  19. package/dist/src/core/database.js +18 -10
  20. package/dist/src/core/database.js.map +1 -1
  21. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  22. package/dist/src/func/builtins/explain.js +38 -42
  23. package/dist/src/func/builtins/explain.js.map +1 -1
  24. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  25. package/dist/src/func/builtins/schema.js +39 -64
  26. package/dist/src/func/builtins/schema.js.map +1 -1
  27. package/dist/src/planner/analysis/constraint-extractor.d.ts +9 -1
  28. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  29. package/dist/src/planner/analysis/constraint-extractor.js +55 -26
  30. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  31. package/dist/src/planner/building/default-scope.d.ts +11 -1
  32. package/dist/src/planner/building/default-scope.d.ts.map +1 -1
  33. package/dist/src/planner/building/default-scope.js +13 -2
  34. package/dist/src/planner/building/default-scope.js.map +1 -1
  35. package/dist/src/planner/building/insert.d.ts.map +1 -1
  36. package/dist/src/planner/building/insert.js +161 -107
  37. package/dist/src/planner/building/insert.js.map +1 -1
  38. package/dist/src/planner/building/select-aggregates.d.ts +8 -0
  39. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  40. package/dist/src/planner/building/select-aggregates.js +30 -25
  41. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  42. package/dist/src/planner/building/select.d.ts.map +1 -1
  43. package/dist/src/planner/building/select.js +15 -18
  44. package/dist/src/planner/building/select.js.map +1 -1
  45. package/dist/src/planner/cost/index.d.ts +9 -0
  46. package/dist/src/planner/cost/index.d.ts.map +1 -1
  47. package/dist/src/planner/cost/index.js +28 -0
  48. package/dist/src/planner/cost/index.js.map +1 -1
  49. package/dist/src/planner/debug.d.ts +5 -0
  50. package/dist/src/planner/debug.d.ts.map +1 -1
  51. package/dist/src/planner/debug.js +5 -0
  52. package/dist/src/planner/debug.js.map +1 -1
  53. package/dist/src/planner/framework/characteristics.d.ts +0 -22
  54. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  55. package/dist/src/planner/framework/characteristics.js +0 -3
  56. package/dist/src/planner/framework/characteristics.js.map +1 -1
  57. package/dist/src/planner/framework/pass.js +3 -3
  58. package/dist/src/planner/nodes/async-gather-node.d.ts +13 -0
  59. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -1
  60. package/dist/src/planner/nodes/async-gather-node.js +19 -29
  61. package/dist/src/planner/nodes/async-gather-node.js.map +1 -1
  62. package/dist/src/planner/nodes/constraint-check-node.d.ts +9 -0
  63. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  64. package/dist/src/planner/nodes/constraint-check-node.js +13 -0
  65. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  66. package/dist/src/planner/nodes/cte-node.d.ts +8 -5
  67. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  68. package/dist/src/planner/nodes/cte-node.js +14 -4
  69. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  70. package/dist/src/planner/nodes/cte-reference-node.d.ts +9 -1
  71. package/dist/src/planner/nodes/cte-reference-node.d.ts.map +1 -1
  72. package/dist/src/planner/nodes/cte-reference-node.js +13 -0
  73. package/dist/src/planner/nodes/cte-reference-node.js.map +1 -1
  74. package/dist/src/planner/nodes/delete-node.d.ts +7 -1
  75. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  76. package/dist/src/planner/nodes/delete-node.js +12 -2
  77. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  78. package/dist/src/planner/nodes/dml-executor-node.d.ts +2 -1
  79. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  80. package/dist/src/planner/nodes/dml-executor-node.js +8 -1
  81. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  82. package/dist/src/planner/nodes/insert-node.d.ts +8 -1
  83. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  84. package/dist/src/planner/nodes/insert-node.js +12 -1
  85. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  86. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  87. package/dist/src/planner/nodes/join-node.js +10 -0
  88. package/dist/src/planner/nodes/join-node.js.map +1 -1
  89. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -0
  90. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  91. package/dist/src/planner/nodes/plan-node-type.js +1 -0
  92. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  93. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  94. package/dist/src/planner/nodes/recursive-cte-node.js +7 -0
  95. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  96. package/dist/src/planner/nodes/remote-query-node.d.ts +7 -1
  97. package/dist/src/planner/nodes/remote-query-node.d.ts.map +1 -1
  98. package/dist/src/planner/nodes/remote-query-node.js +11 -0
  99. package/dist/src/planner/nodes/remote-query-node.js.map +1 -1
  100. package/dist/src/planner/nodes/returning-node.d.ts +4 -0
  101. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  102. package/dist/src/planner/nodes/returning-node.js +8 -1
  103. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  104. package/dist/src/planner/nodes/scalar.d.ts +39 -0
  105. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  106. package/dist/src/planner/nodes/scalar.js +77 -0
  107. package/dist/src/planner/nodes/scalar.js.map +1 -1
  108. package/dist/src/planner/nodes/set-operation-node.d.ts +14 -1
  109. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  110. package/dist/src/planner/nodes/set-operation-node.js +22 -1
  111. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  112. package/dist/src/planner/nodes/sink-node.d.ts +9 -1
  113. package/dist/src/planner/nodes/sink-node.d.ts.map +1 -1
  114. package/dist/src/planner/nodes/sink-node.js +12 -0
  115. package/dist/src/planner/nodes/sink-node.js.map +1 -1
  116. package/dist/src/planner/nodes/table-access-nodes.d.ts +21 -0
  117. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  118. package/dist/src/planner/nodes/table-access-nodes.js +42 -3
  119. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  120. package/dist/src/planner/nodes/update-node.d.ts +7 -1
  121. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  122. package/dist/src/planner/nodes/update-node.js +9 -1
  123. package/dist/src/planner/nodes/update-node.js.map +1 -1
  124. package/dist/src/planner/nodes/view-mutation-node.d.ts +13 -1
  125. package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -1
  126. package/dist/src/planner/nodes/view-mutation-node.js +25 -1
  127. package/dist/src/planner/nodes/view-mutation-node.js.map +1 -1
  128. package/dist/src/planner/optimizer-tuning.d.ts +9 -9
  129. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  130. package/dist/src/planner/optimizer-tuning.js +0 -2
  131. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  132. package/dist/src/planner/optimizer.d.ts.map +1 -1
  133. package/dist/src/planner/optimizer.js +9 -21
  134. package/dist/src/planner/optimizer.js.map +1 -1
  135. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  136. package/dist/src/planner/rules/access/rule-key-set-seek.js +19 -10
  137. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  138. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +1 -1
  139. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  140. package/dist/src/planner/rules/access/rule-select-access-path.js +51 -28
  141. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  142. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.d.ts.map +1 -1
  143. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js +14 -1
  144. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js.map +1 -1
  145. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
  146. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +6 -4
  147. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
  148. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  149. package/dist/src/planner/rules/join/index-nested-loop.js +13 -10
  150. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  151. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts +2 -1
  152. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  153. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +45 -17
  154. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  155. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  156. package/dist/src/planner/rules/join/rule-join-physical-selection.js +5 -3
  157. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  158. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts +19 -1
  159. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  160. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +36 -3
  161. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  162. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +4 -3
  163. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  164. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts +14 -1
  165. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  166. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +200 -13
  167. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  168. package/dist/src/planner/stats/catalog-stats.js +1 -1
  169. package/dist/src/planner/stats/catalog-stats.js.map +1 -1
  170. package/dist/src/planner/stats/index.d.ts.map +1 -1
  171. package/dist/src/planner/stats/index.js +3 -4
  172. package/dist/src/planner/stats/index.js.map +1 -1
  173. package/dist/src/planner/stats/table-cardinality.d.ts +6 -6
  174. package/dist/src/planner/stats/table-cardinality.js +7 -7
  175. package/dist/src/planner/stats/table-cardinality.js.map +1 -1
  176. package/dist/src/planner/util/column-refs.d.ts +17 -0
  177. package/dist/src/planner/util/column-refs.d.ts.map +1 -0
  178. package/dist/src/planner/util/column-refs.js +30 -0
  179. package/dist/src/planner/util/column-refs.js.map +1 -0
  180. package/dist/src/planner/util/row-estimates.d.ts +91 -0
  181. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  182. package/dist/src/planner/util/row-estimates.js +134 -18
  183. package/dist/src/planner/util/row-estimates.js.map +1 -1
  184. package/dist/src/runtime/emit/alter-table.d.ts +25 -5
  185. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  186. package/dist/src/runtime/emit/alter-table.js +144 -62
  187. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  188. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  189. package/dist/src/runtime/emit/dml-executor.js +4 -6
  190. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  191. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  192. package/dist/src/runtime/emit/insert.js +7 -0
  193. package/dist/src/runtime/emit/insert.js.map +1 -1
  194. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  195. package/dist/src/runtime/emit/materialized-view-helpers.js +3 -3
  196. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  197. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  198. package/dist/src/runtime/emit/update.js +15 -10
  199. package/dist/src/runtime/emit/update.js.map +1 -1
  200. package/dist/src/runtime/emit/write-coercion.d.ts +7 -0
  201. package/dist/src/runtime/emit/write-coercion.d.ts.map +1 -0
  202. package/dist/src/runtime/emit/write-coercion.js +20 -0
  203. package/dist/src/runtime/emit/write-coercion.js.map +1 -0
  204. package/dist/src/runtime/register.d.ts.map +1 -1
  205. package/dist/src/runtime/register.js +2 -0
  206. package/dist/src/runtime/register.js.map +1 -1
  207. package/dist/src/runtime/scalar-fusion.d.ts.map +1 -1
  208. package/dist/src/runtime/scalar-fusion.js +4 -0
  209. package/dist/src/runtime/scalar-fusion.js.map +1 -1
  210. package/dist/src/runtime/scheduler.d.ts +47 -0
  211. package/dist/src/runtime/scheduler.d.ts.map +1 -1
  212. package/dist/src/runtime/scheduler.js +105 -11
  213. package/dist/src/runtime/scheduler.js.map +1 -1
  214. package/dist/src/runtime/types.d.ts +18 -3
  215. package/dist/src/runtime/types.d.ts.map +1 -1
  216. package/dist/src/runtime/types.js +7 -5
  217. package/dist/src/runtime/types.js.map +1 -1
  218. package/dist/src/schema/catalog.d.ts +99 -2
  219. package/dist/src/schema/catalog.d.ts.map +1 -1
  220. package/dist/src/schema/catalog.js +100 -26
  221. package/dist/src/schema/catalog.js.map +1 -1
  222. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  223. package/dist/src/schema/lens-prover.js +2 -1
  224. package/dist/src/schema/lens-prover.js.map +1 -1
  225. package/dist/src/schema/manager.d.ts.map +1 -1
  226. package/dist/src/schema/manager.js +10 -3
  227. package/dist/src/schema/manager.js.map +1 -1
  228. package/dist/src/schema/table.d.ts +0 -2
  229. package/dist/src/schema/table.d.ts.map +1 -1
  230. package/dist/src/schema/table.js.map +1 -1
  231. package/dist/src/vtab/best-access-plan.d.ts +89 -4
  232. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  233. package/dist/src/vtab/best-access-plan.js +76 -1
  234. package/dist/src/vtab/best-access-plan.js.map +1 -1
  235. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  236. package/dist/src/vtab/memory/module.js +27 -11
  237. package/dist/src/vtab/memory/module.js.map +1 -1
  238. package/dist/src/vtab/module.d.ts +7 -0
  239. package/dist/src/vtab/module.d.ts.map +1 -1
  240. package/dist/src/vtab/test-support/committed-read-conformance.d.ts +5 -2
  241. package/dist/src/vtab/test-support/committed-read-conformance.d.ts.map +1 -1
  242. package/dist/src/vtab/test-support/committed-read-conformance.js +55 -9
  243. package/dist/src/vtab/test-support/committed-read-conformance.js.map +1 -1
  244. package/package.json +3 -3
  245. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts +0 -17
  246. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +0 -1
  247. package/dist/src/planner/rules/cache/rule-cte-optimization.js +0 -69
  248. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +0 -1
@@ -19,6 +19,13 @@ import { type PlanNode } from '../../nodes/plan-node.js';
19
19
  import type { OptContext } from '../../framework/context.js';
20
20
  import { SortNode } from '../../nodes/sort.js';
21
21
  export declare function ruleGrowRetrieve(node: PlanNode, context: OptContext): PlanNode | null;
22
+ /** A row bound a caller already knows, to be handed to the module as LIMIT/OFFSET. */
23
+ export interface RowsWanted {
24
+ /** Rows the caller can consume. */
25
+ limit: number;
26
+ /** Rows discarded before those — a module may only stop after `limit + offset`. */
27
+ offset: number;
28
+ }
22
29
  /**
23
30
  * Attempt to absorb a Sort whose Retrieve is reachable through a chain of
24
31
  * commuting unary operators (Project, Filter). When the table's access plan
@@ -37,6 +44,12 @@ export declare function ruleGrowRetrieve(node: PlanNode, context: OptContext): P
37
44
  * `getBestAccessPlan` and either returns a NEW tree or null, never mutating the
38
45
  * tree it was handed and never recording anything on `context`. A caller that
39
46
  * gets null must be able to discard its probe input and leave the plan untouched.
47
+ *
48
+ * `rowsWanted` is how a caller that already knows the LIMIT tells the module about
49
+ * it. Only `rule-minmax-index-boundary` can: it synthesizes its own
50
+ * `LimitOffset(1)` right after this probe, so it knows the bound before it asks.
51
+ * A LIMIT the user wrote sits ABOVE the Sort, and this rule walks only downward —
52
+ * that case is backlog `feat-sort-absorb-blind-to-limit-general`.
40
53
  */
41
- export declare function trySortAbsorbViaIndexOrdering(sort: SortNode, context: OptContext): PlanNode | null;
54
+ export declare function trySortAbsorbViaIndexOrdering(sort: SortNode, context: OptContext, rowsWanted?: RowsWanted): PlanNode | null;
42
55
  //# sourceMappingURL=rule-grow-retrieve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-grow-retrieve.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/retrieve/rule-grow-retrieve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAoB,KAAK,QAAQ,EAAgD,MAAM,0BAA0B,CAAC;AACzH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAW7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAc/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAqJrF;AA+YD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA8GlG"}
1
+ {"version":3,"file":"rule-grow-retrieve.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/retrieve/rule-grow-retrieve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAoB,KAAK,QAAQ,EAAgD,MAAM,0BAA0B,CAAC;AACzH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAW7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAkC/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAqJrF;AAyaD,sFAAsF;AACtF,MAAM,WAAW,UAAU;IAC1B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CACf;AAmJD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,6BAA6B,CAC5C,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,UAAU,EACnB,UAAU,CAAC,EAAE,UAAU,GACrB,QAAQ,GAAG,IAAI,CAuHjB"}
@@ -32,6 +32,25 @@ import { splitConjuncts } from '../../analysis/predicate-conjuncts.js';
32
32
  import { combineResidualExpressions } from '../access/rule-select-access-path.js';
33
33
  import { isIndexStyleContext } from '../shared/index-style-context.js';
34
34
  const log = createLogger('optimizer:rule:grow-retrieve');
35
+ /**
36
+ * The row count for a `BestAccessPlanRequest`: the catalog's measured count, or
37
+ * `undefined` when nothing has measured it. Never a fabricated number.
38
+ *
39
+ * `TableReferenceNode.estimatedRows` is `catalogRowCount(tableSchema)` — populated only
40
+ * by `ANALYZE` (or a module reporting statistics), where a real `0` means "measured,
41
+ * empty" and `undefined` means "nobody knows".
42
+ *
43
+ * `context.stats.tableRows()` is deliberately NOT consulted here. `CatalogStatsProvider`
44
+ * reads that same `catalogRowCount` and, finding nothing, falls back to
45
+ * `NaiveStatsProvider`'s fixed 1000 — so routing through it would hand the module a
46
+ * made-up size indistinguishable from a real 1000-row `ANALYZE` result, and lock out
47
+ * every module that can size itself better (`quereus-store` keeps a live row count).
48
+ * A module with no way to size itself applies its own default instead; that default is
49
+ * now the sole fallback.
50
+ */
51
+ function measuredRows(tableRef) {
52
+ return tableRef.estimatedRows;
53
+ }
35
54
  export function ruleGrowRetrieve(node, context) {
36
55
  // This rule runs in a TOP-DOWN pass, looking for any relational operation
37
56
  // above a RetrieveNode that can be pushed into the module's execution boundary
@@ -302,7 +321,7 @@ function fallbackIndexSupports(node, context, tableRef, existingCtx) {
302
321
  filters: [],
303
322
  requiredOrdering: undefined,
304
323
  limit: undefined,
305
- estimatedRows: tableRef.estimatedRows || context.stats.tableRows(tableSchema) || 1000
324
+ estimatedRows: measuredRows(tableRef)
306
325
  };
307
326
  // Extract information based on node type
308
327
  let residualPredicate;
@@ -384,6 +403,9 @@ function fallbackIndexSupports(node, context, tableRef, existingCtx) {
384
403
  log('No usable constant LIMIT (or non-literal OFFSET present)');
385
404
  return undefined;
386
405
  }
406
+ // Reached by an explicit numeric OFFSET only (`limit 5 offset 0` gets here;
407
+ // a bare `limit 5` is refused above). The probe below sends this through
408
+ // `probeAccessPlan`, which strips it again unless truncation is provably safe.
387
409
  request.limit = limitVal;
388
410
  request.offset = offsetVal;
389
411
  log('Extracted limit=%d offset=%d', limitVal, offsetVal);
@@ -404,8 +426,16 @@ function fallbackIndexSupports(node, context, tableRef, existingCtx) {
404
426
  request.requiredOrdering = equippedOrdering.map(o => ({ columnIndex: o.columnIndex, desc: o.desc }));
405
427
  }
406
428
  log('Built access plan request: %d filters, ordering: %s, limit: %s', request.filters.length, request.requiredOrdering ? 'yes' : 'no', request.limit ?? 'none');
407
- // Get access plan from module
408
- const accessPlan = vtabModule.getBestAccessPlan(context.db, tableSchema, request);
429
+ // One binding of "ask THIS module about THIS table", shared by the plan probe and the
430
+ // baseline probe below. Both sides of the seek-versus-scan comparison being answered by
431
+ // the same module is the whole point of `baselineScanCost`, so they read one `ask`.
432
+ const ask = (req) => vtabModule.getBestAccessPlan(context.db, tableSchema, req);
433
+ // Get access plan from module. The LimitOffset arm above is the other site that can
434
+ // populate `request.limit`, so it goes through the same funnel: the region that could
435
+ // still discard a row is everything below `node` (the swallowed LimitOffset's own
436
+ // source pipeline, Retrieve included). The Filter and Sort arms carry no limit, so
437
+ // this is a plain single probe for them.
438
+ const accessPlan = probeAccessPlan(ask, request, plannerConstraints, node);
409
439
  // No-clobber guard: never replace an equipped ordering plan with one that does
410
440
  // not provide the same ordering (same column indexes + directions). Declining
411
441
  // here leaves the current (correct) tree in place — a redundant Filter above a
@@ -431,9 +461,6 @@ function fallbackIndexSupports(node, context, tableRef, existingCtx) {
431
461
  const providesOrdering = request.requiredOrdering
432
462
  ? orderingMatches(accessPlan.providesOrdering, request.requiredOrdering)
433
463
  : false;
434
- // Calculate baseline cost
435
- const estimatedRows = request.estimatedRows ?? 1000;
436
- const seqCost = seqScanCost(estimatedRows);
437
464
  // Accept the plan if it handles filters OR provides required ordering
438
465
  if (!handlesAnyFilter && !providesOrdering) {
439
466
  log('Access plan provides no benefit');
@@ -449,11 +476,30 @@ function fallbackIndexSupports(node, context, tableRef, existingCtx) {
449
476
  log('Growing %s would swallow it without the plan providing its ordering; declining', node.nodeType);
450
477
  return undefined;
451
478
  }
452
- if (accessPlan.cost >= seqCost && !providesOrdering) {
453
- log('Access plan cost (%d) not better than sequential scan (%d)', accessPlan.cost, seqCost);
454
- return undefined;
479
+ // Seek-versus-scan. The baseline is quoted by the SAME module that quoted the seek, so
480
+ // both numbers are priced against one table size — see `baselineScanCost`. Only this
481
+ // branch reads it: when the plan provides the requested ordering that is the benefit
482
+ // being bought, and no baseline probe is paid for.
483
+ //
484
+ // NOTE: declining below does NOT yield the sequential scan this comparison assumes.
485
+ // With no index-style context on the Retrieve, `rule-predicate-pushdown` pushes the
486
+ // same predicate into `Retrieve.source` and `ruleSelectAccessPath`'s no-context branch
487
+ // rebuilds the identical seek, with the absorbed Filter re-stacked above it — so a
488
+ // decline costs the seek AND a second evaluation of the predicate per surviving row.
489
+ // Verified with the shipped memory backend: `id in (<60 keys>)` over a 10-row ANALYZEd
490
+ // table plans as FILTER over INDEXSEEK. Tracked as
491
+ // `bug-declined-push-down-is-rebuilt-as-seek-plus-duplicate-filter`; do not re-file.
492
+ if (!providesOrdering) {
493
+ const seqCost = baselineScanCost(ask, request);
494
+ if (accessPlan.cost >= seqCost) {
495
+ log('Access plan cost (%d) not better than sequential scan (%d)', accessPlan.cost, seqCost);
496
+ return undefined;
497
+ }
498
+ log('Index-style fallback beneficial: cost %d vs %d seq scan', accessPlan.cost, seqCost);
499
+ }
500
+ else {
501
+ log('Index-style fallback beneficial: plan provides the required ordering');
455
502
  }
456
- log('Index-style fallback beneficial: cost %d vs %d seq scan', accessPlan.cost, seqCost);
457
503
  residualPredicate = assembleResidual(residualPredicate, plannerConstraints, accessPlan.handledFilters, committedResidual);
458
504
  // Store context for later use in ruleSelectAccessPath. A re-grow over a
459
505
  // Retrieve whose ordering already absorbed a Sort must keep the
@@ -503,6 +549,137 @@ function orderingMatches(provided, required) {
503
549
  }
504
550
  return true;
505
551
  }
552
+ /**
553
+ * Whether a module may stop producing after `limit + offset` rows.
554
+ *
555
+ * `BestAccessPlanRequest.limit` is a truncation contract, not a pricing hint — its
556
+ * sibling `offset` explicitly invites a module to stamp `scan-side limit = limit +
557
+ * offset` — so it may only be sent when nothing between the module's scan and the
558
+ * LimitOffset can discard a row. Filtering above a truncated scan UNDERPRODUCES:
559
+ * `min(c)` over a scan stopped at one row whose `c` is then filtered out returns NULL
560
+ * rather than the minimum.
561
+ *
562
+ * A row survives to the limit when every Filter it passes through is one the access
563
+ * plan already claimed — a claimed constraint cannot reject a row the module produced
564
+ * under it. So every conjunct of every Filter below the Sort must match, by node
565
+ * identity, the `sourceExpression` of a constraint the plan reported handled.
566
+ *
567
+ * Deliberately conservative in three ways, because the failure mode is a wrong answer
568
+ * and the cost of declining is only the pricing this ticket set out to improve:
569
+ * - a conjunct that never became a constraint at all is invisible to the residual
570
+ * assembly, so this tests the Filters themselves rather than `residualPredicate`;
571
+ * - identity matching means a constraint synthesized from something other than the
572
+ * conjunct it came from (an OR_RANGE union, say) simply fails to cover it;
573
+ * - the walk descends into every child, so a Filter inside a subquery — which is not
574
+ * between the scan and the limit at all — declines rather than being reasoned about.
575
+ *
576
+ * Only `FilterNode` discards rows in the region this walks: the chain between the Sort
577
+ * and the Retrieve admits Project and Filter alone, and a module pipeline under
578
+ * `Retrieve.source` is built from the same two. A row-discarding node type reaching that
579
+ * region would need adding here.
580
+ */
581
+ function truncationIsSafe(source, constraints, handledFilters) {
582
+ // One expression can yield SEVERAL constraints — a BETWEEN yields its `>=` and its
583
+ // `<=` from the same node — and they can be claimed independently: `where b > 0 and b
584
+ // between 1 and 5` lets the module take the earlier `b > 0` as its lower bound and
585
+ // only the BETWEEN's upper half. `assembleResidual` then puts the whole BETWEEN back
586
+ // in the residual Filter, so covering it off the claimed half alone would license a
587
+ // truncation the residual can still underproduce. An expression covers a conjunct only
588
+ // when EVERY constraint it produced was claimed.
589
+ const claimed = new Set();
590
+ const unclaimed = new Set();
591
+ constraints.forEach((c, i) => {
592
+ (handledFilters[i] ? claimed : unclaimed).add(c.sourceExpression);
593
+ });
594
+ const covers = (conjunct) => claimed.has(conjunct) && !unclaimed.has(conjunct);
595
+ const survivesEveryFilter = (node) => {
596
+ if (node instanceof FilterNode && !splitConjuncts(node.predicate).every(covers)) {
597
+ return false;
598
+ }
599
+ return node.getChildren().every(survivesEveryFilter);
600
+ };
601
+ return survivesEveryFilter(source);
602
+ }
603
+ /**
604
+ * Probe `getBestAccessPlan`, honouring the truncation contract on `request.limit`.
605
+ *
606
+ * EVERY site that populates `request.limit` goes through here — that single funnel is
607
+ * what keeps the field's documented "licence, not a hint" contract true. A request
608
+ * carrying a limit is probed WITH it, and the plan that comes back is kept only when
609
+ * {@link truncationIsSafe} holds for the constraints that plan actually claimed;
610
+ * otherwise the limit is stripped and the module is asked again.
611
+ *
612
+ * Probing limit-free first cannot work: a module that vetoes its ordered arm on
613
+ * whole-table pricing answers with an unordered plan, the caller's ordering check fails,
614
+ * and it gives up before a second phase could run — which is precisely the case the
615
+ * bound exists to fix. Validating afterwards costs at most one extra probe, and none at
616
+ * all when the request carries no limit. `getBestAccessPlan` is pure at plan time, so a
617
+ * discarded probe leaves nothing behind.
618
+ *
619
+ * `subtree` is the region between the module's scan and the LIMIT — everything that
620
+ * could still discard a row the module produced. `constraints` is `request.filters` in
621
+ * its planner-side form: `handledFilters` is positional against it, and only that form
622
+ * carries the `sourceExpression` the safety check matches on.
623
+ */
624
+ function probeAccessPlan(ask, request, constraints, subtree) {
625
+ const plan = ask(request);
626
+ if (request.limit === undefined || request.limit === null)
627
+ return plan;
628
+ if (truncationIsSafe(subtree, constraints, plan.handledFilters))
629
+ return plan;
630
+ log('Limit is not truncation-safe for this subtree; re-probing without it');
631
+ return ask({ ...request, limit: undefined, offset: undefined });
632
+ }
633
+ /**
634
+ * What a plain whole-table read of this table costs, quoted by the SAME module that
635
+ * quoted the seek being compared against it.
636
+ *
637
+ * The seek-versus-scan veto in `fallbackIndexSupports` (`accessPlan.cost >= seqCost`)
638
+ * compares two numbers, and they have to be priced against one table size. Deriving the baseline from
639
+ * `seqScanCost(request.estimatedRows ?? 1000)` did not: `estimatedRows` is the catalog's
640
+ * measurement — `undefined` when nobody ran `ANALYZE`, and a stale `0` when `ANALYZE` ran
641
+ * before the table was filled — while a module that keeps a live row count (e.g.
642
+ * `quereus-store`) prices its seek arm against the real size. On any table where the two
643
+ * disagree the honest seek lost to a made-up scan, the grow was declined, and the
644
+ * predicate was re-enforced in a `Filter` above the seek that had already bounded the rows.
645
+ *
646
+ * Asking the module instead is symmetric by construction: whatever size it used to price
647
+ * the seek, it used the same one here. No new module interface, and no re-fabricated 1000
648
+ * on the request — that would reinstate the bug `ask-the-backend-before-guessing-its-size`
649
+ * removed and blind every self-sizing module again.
650
+ *
651
+ * The probe strips filters, ordering, limit and offset. Ordering too, not just filters:
652
+ * the veto only fires when `!providesOrdering` (ordering is scored as a benefit
653
+ * separately), so the baseline must be the plain scan the seek is actually competing with.
654
+ *
655
+ * `seqScanCost` stays as the non-finite fallback. `BestAccessPlanResult.cost` is a
656
+ * required `number`, so the branch should be unreachable; keeping it means a module
657
+ * answering `NaN` degrades to exactly the old behavior instead of vetoing on a comparison
658
+ * with `NaN`.
659
+ *
660
+ * `getBestAccessPlan` is pure at plan time, so the discarded probe leaves nothing behind —
661
+ * the same property `probeAccessPlan` above already relies on.
662
+ *
663
+ * NOTE: this costs one extra `getBestAccessPlan` call per grow attempt that reaches the
664
+ * seek-versus-scan veto (an index-style module whose plan does not provide the requested
665
+ * ordering). Measured as free — no gated bench counter moved and all four ratio guards
666
+ * held — but a module with an expensive `getBestAccessPlan` pays it twice per such
667
+ * attempt; if that ever shows up in a profile, memoize the filter-free answer per table
668
+ * per optimizer pass.
669
+ */
670
+ function baselineScanCost(ask, request) {
671
+ const baseline = ask({
672
+ ...request,
673
+ filters: [],
674
+ requiredOrdering: undefined,
675
+ limit: undefined,
676
+ offset: undefined,
677
+ });
678
+ if (Number.isFinite(baseline.cost))
679
+ return baseline.cost;
680
+ log('Module quoted a non-finite baseline cost; falling back to the engine model');
681
+ return seqScanCost(request.estimatedRows ?? 1000);
682
+ }
506
683
  /**
507
684
  * Attempt to absorb a Sort whose Retrieve is reachable through a chain of
508
685
  * commuting unary operators (Project, Filter). When the table's access plan
@@ -521,8 +698,14 @@ function orderingMatches(provided, required) {
521
698
  * `getBestAccessPlan` and either returns a NEW tree or null, never mutating the
522
699
  * tree it was handed and never recording anything on `context`. A caller that
523
700
  * gets null must be able to discard its probe input and leave the plan untouched.
701
+ *
702
+ * `rowsWanted` is how a caller that already knows the LIMIT tells the module about
703
+ * it. Only `rule-minmax-index-boundary` can: it synthesizes its own
704
+ * `LimitOffset(1)` right after this probe, so it knows the bound before it asks.
705
+ * A LIMIT the user wrote sits ABOVE the Sort, and this rule walks only downward —
706
+ * that case is backlog `feat-sort-absorb-blind-to-limit-general`.
524
707
  */
525
- export function trySortAbsorbViaIndexOrdering(sort, context) {
708
+ export function trySortAbsorbViaIndexOrdering(sort, context, rowsWanted) {
526
709
  // Walk down through commuting unary operators to find the RetrieveNode.
527
710
  const chain = [];
528
711
  let current = sort.source;
@@ -584,9 +767,13 @@ export function trySortAbsorbViaIndexOrdering(sort, context) {
584
767
  })),
585
768
  filters: constraints,
586
769
  requiredOrdering,
587
- estimatedRows: tableRef.estimatedRows || context.stats.tableRows(tableSchema) || 1000,
770
+ estimatedRows: measuredRows(tableRef),
588
771
  };
589
- const accessPlan = vtabModule.getBestAccessPlan(context.db, tableSchema, request);
772
+ // `probeAccessPlan` sends the bound and re-asks without it if the plan that comes back
773
+ // is not truncation-safe; the region it validates is everything below the Sort, which
774
+ // is exactly what sits between the module's scan and the LimitOffset this caller is
775
+ // about to wrap on.
776
+ const accessPlan = probeAccessPlan(req => vtabModule.getBestAccessPlan(context.db, tableSchema, req), rowsWanted ? { ...request, limit: rowsWanted.limit, offset: rowsWanted.offset } : request, constraints, sort.source);
590
777
  // Only proceed if the plan actually satisfies the ordering — every requested
591
778
  // position must be provided by the SAME column and direction, not merely
592
779
  // matched on length. A length-only check would let an ascending
@@ -1 +1 @@
1
- {"version":3,"file":"rule-grow-retrieve.js","sourceRoot":"","sources":["../../../../../src/planner/rules/retrieve/rule-grow-retrieve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-grow-retrieve.js","sourceRoot":"","sources":["../../../../../src/planner/rules/retrieve/rule-grow-retrieve.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export class CatalogStatsProvider {
34
34
  const rows = catalogRowCount(table);
35
35
  if (rows === undefined)
36
36
  return this.fallback.tableRows(table);
37
- log('Table %s: rowCount=%d (source: %s)', table.name, rows, table.statistics ? 'catalog' : 'schema');
37
+ log('Table %s: rowCount=%d (source: catalog)', table.name, rows);
38
38
  return rows;
39
39
  }
40
40
  selectivity(table, predicate, resolve) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-stats.js","sourceRoot":"","sources":["../../../../src/planner/stats/catalog-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-stats.js","sourceRoot":"","sources":["../../../../src/planner/stats/catalog-stats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/planner/stats/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKzD;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAE9E;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IAElD;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAE9G;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAExH;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAEpJ;;;;;OAKG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;CACxG;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAEtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,gBAAgB,GAAE,MAAa,EAC/B,kBAAkB,GAAE,MAAY;IAMlD,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAQjD,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAO9E,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAWpH,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU1E,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAQtG,OAAO,CAAC,4BAA4B;CAmBpC;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,oBAA2B,CAAC;AAE7D;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,aAAa,CAWf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/planner/stats/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKzD;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAE9E;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IAElD;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAE9G;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAExH;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAEpJ;;;;;OAKG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;CACxG;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAEtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,gBAAgB,GAAE,MAAa,EAC/B,kBAAkB,GAAE,MAAY;IAMlD,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAMjD,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAO9E,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAWpH,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU1E,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAQtG,OAAO,CAAC,4BAA4B;CAmBpC;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,oBAA2B,CAAC;AAE7D;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,aAAa,CAWf"}
@@ -17,10 +17,9 @@ export class NaiveStatsProvider {
17
17
  log('Created naive stats provider (defaultRows: %d, defaultSelectivity: %f)', defaultTableRows, defaultSelectivity);
18
18
  }
19
19
  tableRows(table) {
20
- // Use table's estimated rows if available, otherwise use default
21
- const estimate = table.estimatedRows ?? this.defaultTableRows;
22
- log('Table %s estimated rows: %d (source: %s)', table.name, estimate, table.estimatedRows ? 'schema' : 'default');
23
- return estimate;
20
+ // Naive by definition: no catalog knowledge, always the configured default.
21
+ log('Table %s estimated rows: %d (source: default)', table.name, this.defaultTableRows);
22
+ return this.defaultTableRows;
24
23
  }
25
24
  selectivity(table, predicate) {
26
25
  // Simple heuristics based on predicate type
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/planner/stats/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/planner/stats/index.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Shared base-table row-count helper.
3
3
  *
4
- * Statistics-first: prefer the `ANALYZE`-collected `rowCount` over the static
5
- * `TableSchema.estimatedRows` field (which `SchemaManager` hardcodes to 0 at
6
- * CREATE TABLE and never updates). `undefined` means "nobody knows" and must
7
- * stay `undefined` — callers apply their own fallback (e.g. NaiveStatsProvider's
8
- * default of 1000); folding that default in here would change every
9
- * un-analyzed table's cardinality.
4
+ * The catalog knows a table's row count only through `TableSchema.statistics`
5
+ * (populated by `ANALYZE` or VTab reporting). There are exactly two spellings:
6
+ * `undefined` means "nobody knows" and a number — including a real 0 — means
7
+ * "measured". `undefined` must stay `undefined` here: callers apply their own
8
+ * fallback (e.g. NaiveStatsProvider's default of 1000), and folding a default
9
+ * in would change every un-analyzed table's cardinality.
10
10
  *
11
11
  * `TableReferenceNode.estimatedRows` and `CatalogStatsProvider.tableRows` both
12
12
  * call this so the logical/physical estimate and the stats-provider estimate
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Shared base-table row-count helper.
3
3
  *
4
- * Statistics-first: prefer the `ANALYZE`-collected `rowCount` over the static
5
- * `TableSchema.estimatedRows` field (which `SchemaManager` hardcodes to 0 at
6
- * CREATE TABLE and never updates). `undefined` means "nobody knows" and must
7
- * stay `undefined` — callers apply their own fallback (e.g. NaiveStatsProvider's
8
- * default of 1000); folding that default in here would change every
9
- * un-analyzed table's cardinality.
4
+ * The catalog knows a table's row count only through `TableSchema.statistics`
5
+ * (populated by `ANALYZE` or VTab reporting). There are exactly two spellings:
6
+ * `undefined` means "nobody knows" and a number — including a real 0 — means
7
+ * "measured". `undefined` must stay `undefined` here: callers apply their own
8
+ * fallback (e.g. NaiveStatsProvider's default of 1000), and folding a default
9
+ * in would change every un-analyzed table's cardinality.
10
10
  *
11
11
  * `TableReferenceNode.estimatedRows` and `CatalogStatsProvider.tableRows` both
12
12
  * call this so the logical/physical estimate and the stats-provider estimate
@@ -24,6 +24,6 @@
24
24
  * empty-table plan ever costs out wrong.
25
25
  */
26
26
  export function catalogRowCount(table) {
27
- return table.statistics?.rowCount ?? table.estimatedRows;
27
+ return table.statistics?.rowCount;
28
28
  }
29
29
  //# sourceMappingURL=table-cardinality.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-cardinality.js","sourceRoot":"","sources":["../../../../src/planner/stats/table-cardinality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,MAAM,UAAU,eAAe,CAAC,KAAkB;IACjD,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"table-cardinality.js","sourceRoot":"","sources":["../../../../src/planner/stats/table-cardinality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,MAAM,UAAU,eAAe,CAAC,KAAkB;IACjD,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;AACnC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Column-reference walks over scalar plan subtrees.
3
+ *
4
+ * Lives here rather than in `analysis/constraint-extractor.ts` so that
5
+ * `planner/nodes/` can import it as a *value*: the runtime cycle
6
+ * `constraint-extractor → nodes/reference → …` is real, and this module
7
+ * deliberately depends on nothing but the node-type enum.
8
+ */
9
+ import type { ScalarPlanNode } from '../nodes/plan-node.js';
10
+ /**
11
+ * Collect the attributeIds of every ColumnReference in a scalar subtree.
12
+ * Walking into children (rather than only unwrapping a top-level Cast) reaches
13
+ * references nested inside arithmetic, function calls, casts, etc. — e.g.
14
+ * `outer.id + 1`, `coalesce(outer.id, 0)`, `cast(outer.id + 1 as integer)`.
15
+ */
16
+ export declare function collectColumnRefAttributeIds(node: ScalarPlanNode): number[];
17
+ //# sourceMappingURL=column-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-refs.d.ts","sourceRoot":"","sources":["../../../../src/planner/util/column-refs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAa3E"}