@quereus/quereus 4.22.0 → 4.24.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 (153) hide show
  1. package/dist/src/core/database-cardinality-feedback.d.ts +133 -20
  2. package/dist/src/core/database-cardinality-feedback.d.ts.map +1 -1
  3. package/dist/src/core/database-cardinality-feedback.js +312 -39
  4. package/dist/src/core/database-cardinality-feedback.js.map +1 -1
  5. package/dist/src/core/database.d.ts +1 -0
  6. package/dist/src/core/database.d.ts.map +1 -1
  7. package/dist/src/core/database.js +14 -6
  8. package/dist/src/core/database.js.map +1 -1
  9. package/dist/src/core/statement.d.ts +6 -1
  10. package/dist/src/core/statement.d.ts.map +1 -1
  11. package/dist/src/core/statement.js +11 -2
  12. package/dist/src/core/statement.js.map +1 -1
  13. package/dist/src/func/builtins/cardinality-feedback.d.ts +6 -0
  14. package/dist/src/func/builtins/cardinality-feedback.d.ts.map +1 -1
  15. package/dist/src/func/builtins/cardinality-feedback.js +55 -3
  16. package/dist/src/func/builtins/cardinality-feedback.js.map +1 -1
  17. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  18. package/dist/src/func/builtins/explain.js +3 -1
  19. package/dist/src/func/builtins/explain.js.map +1 -1
  20. package/dist/src/func/builtins/index.d.ts.map +1 -1
  21. package/dist/src/func/builtins/index.js +2 -1
  22. package/dist/src/func/builtins/index.js.map +1 -1
  23. package/dist/src/index.d.ts +3 -1
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +1 -0
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/planner/cost/index.d.ts +27 -19
  28. package/dist/src/planner/cost/index.d.ts.map +1 -1
  29. package/dist/src/planner/cost/index.js +30 -21
  30. package/dist/src/planner/cost/index.js.map +1 -1
  31. package/dist/src/planner/framework/trace.js +2 -2
  32. package/dist/src/planner/framework/trace.js.map +1 -1
  33. package/dist/src/planner/nodes/aggregate-node.d.ts +2 -1
  34. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  35. package/dist/src/planner/nodes/aggregate-node.js +1 -0
  36. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  37. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  38. package/dist/src/planner/nodes/filter.js +5 -10
  39. package/dist/src/planner/nodes/filter.js.map +1 -1
  40. package/dist/src/planner/nodes/hash-aggregate.d.ts +2 -1
  41. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  42. package/dist/src/planner/nodes/hash-aggregate.js +1 -0
  43. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  44. package/dist/src/planner/nodes/plan-node.d.ts +16 -3
  45. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  46. package/dist/src/planner/nodes/plan-node.js +3 -0
  47. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  48. package/dist/src/planner/nodes/reference.d.ts +3 -3
  49. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  50. package/dist/src/planner/nodes/reference.js +16 -12
  51. package/dist/src/planner/nodes/reference.js.map +1 -1
  52. package/dist/src/planner/nodes/stream-aggregate.d.ts +2 -1
  53. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  54. package/dist/src/planner/nodes/stream-aggregate.js +1 -0
  55. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  56. package/dist/src/planner/nodes/table-access-nodes.d.ts +14 -1
  57. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  58. package/dist/src/planner/nodes/table-access-nodes.js +52 -20
  59. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  60. package/dist/src/planner/optimizer-tuning.d.ts +42 -9
  61. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  62. package/dist/src/planner/optimizer-tuning.js +9 -4
  63. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  64. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +9 -0
  65. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  66. package/dist/src/planner/rules/access/rule-key-set-seek.js +18 -12
  67. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  68. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  69. package/dist/src/planner/rules/access/rule-select-access-path.js +7 -8
  70. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  71. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +1 -1
  72. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
  73. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
  74. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +7 -0
  75. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
  76. package/dist/src/planner/rules/join/index-nested-loop.d.ts +6 -2
  77. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  78. package/dist/src/planner/rules/join/index-nested-loop.js +20 -14
  79. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  80. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -1
  81. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +5 -0
  82. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -1
  83. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +6 -4
  84. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  85. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +10 -7
  86. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  87. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  88. package/dist/src/planner/rules/join/rule-join-physical-selection.js +108 -53
  89. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  90. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +1 -1
  91. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  92. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +15 -6
  93. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  94. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  95. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +9 -1
  96. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  97. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts +2 -1
  98. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -1
  99. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +6 -5
  100. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -1
  101. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts +4 -3
  102. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -1
  103. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +4 -3
  104. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -1
  105. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts +4 -3
  106. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -1
  107. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +5 -4
  108. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -1
  109. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  110. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +4 -3
  111. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  112. package/dist/src/planner/stats/catalog-stats.d.ts +8 -8
  113. package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
  114. package/dist/src/planner/stats/catalog-stats.js +10 -10
  115. package/dist/src/planner/stats/catalog-stats.js.map +1 -1
  116. package/dist/src/planner/stats/table-cardinality.d.ts +119 -30
  117. package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -1
  118. package/dist/src/planner/stats/table-cardinality.js +137 -29
  119. package/dist/src/planner/stats/table-cardinality.js.map +1 -1
  120. package/dist/src/planner/util/relative-rows.d.ts +29 -0
  121. package/dist/src/planner/util/relative-rows.d.ts.map +1 -0
  122. package/dist/src/planner/util/relative-rows.js +67 -0
  123. package/dist/src/planner/util/relative-rows.js.map +1 -0
  124. package/dist/src/planner/util/row-estimates.d.ts +23 -0
  125. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  126. package/dist/src/planner/util/row-estimates.js +29 -0
  127. package/dist/src/planner/util/row-estimates.js.map +1 -1
  128. package/dist/src/runtime/cardinality-observations.d.ts +62 -7
  129. package/dist/src/runtime/cardinality-observations.d.ts.map +1 -1
  130. package/dist/src/runtime/cardinality-observations.js +74 -8
  131. package/dist/src/runtime/cardinality-observations.js.map +1 -1
  132. package/dist/src/runtime/emit/scan.d.ts +1 -1
  133. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  134. package/dist/src/runtime/emit/scan.js +78 -10
  135. package/dist/src/runtime/emit/scan.js.map +1 -1
  136. package/dist/src/schema/manager.d.ts +5 -5
  137. package/dist/src/schema/manager.d.ts.map +1 -1
  138. package/dist/src/schema/manager.js +9 -5
  139. package/dist/src/schema/manager.js.map +1 -1
  140. package/dist/src/vtab/cost-profile.d.ts +61 -0
  141. package/dist/src/vtab/cost-profile.d.ts.map +1 -0
  142. package/dist/src/vtab/cost-profile.js +52 -0
  143. package/dist/src/vtab/cost-profile.js.map +1 -0
  144. package/dist/src/vtab/filter-info.d.ts +16 -0
  145. package/dist/src/vtab/filter-info.d.ts.map +1 -1
  146. package/dist/src/vtab/filter-info.js +29 -0
  147. package/dist/src/vtab/filter-info.js.map +1 -1
  148. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  149. package/dist/src/vtab/memory/module.js +5 -3
  150. package/dist/src/vtab/memory/module.js.map +1 -1
  151. package/dist/src/vtab/module.d.ts +53 -9
  152. package/dist/src/vtab/module.d.ts.map +1 -1
  153. package/package.json +3 -3
@@ -25,6 +25,29 @@ import type { PhysicalProperties, RelationalPlanNode } from '../nodes/plan-node.
25
25
  * pre-optimization truth.
26
26
  */
27
27
  export declare function physicalSourceRows(childPhysical: PhysicalProperties | undefined, source: RelationalPlanNode): number | undefined;
28
+ /**
29
+ * A row estimate as a cost site prices it: `unknown` stands in for `undefined`
30
+ * (nobody measured), and a measured 0 is floored at one row. A zero is the most
31
+ * fragile measurement there is — any insert since invalidates it by an infinite
32
+ * ratio — and a table or join side priced at nothing undercuts every seek and
33
+ * wins every comparison it enters. One row keeps an empty table cheap without
34
+ * making it free. Relays keep the 0; only sites turning a count into a cost call
35
+ * this (docs/optimizer-costing.md § Base-table row estimates).
36
+ */
37
+ export declare function costedRows(rows: number | undefined, unknown: number): number;
38
+ /**
39
+ * A Filter's output cardinality as a pure function of its source's and a
40
+ * selectivity — shared by `FilterNode`'s logical `estimatedRows` getter, its
41
+ * `computePhysical` (which feeds it the PHYSICAL source count), and the join
42
+ * rule's relative estimate (`planner/util/relative-rows.ts`) so the three cannot
43
+ * drift. The caller resolves the selectivity (stamped, or the last-resort
44
+ * `DEFAULT_FILTER_SELECTIVITY`).
45
+ *
46
+ * A non-empty source floors at one row — selectivity 0 (the provider says nothing
47
+ * matches) must not price the Filter at nothing — while a genuinely empty source
48
+ * stays 0, matching {@link aggregateRowsFrom}'s convention.
49
+ */
50
+ export declare function filterRowsFrom(sourceRows: number | undefined, selectivity: number): number | undefined;
28
51
  /**
29
52
  * An aggregate's output cardinality as a pure function of its source's — shared
30
53
  * by every aggregate node's logical `estimatedRows` getter and its
@@ -1 +1 @@
1
- {"version":3,"file":"row-estimates.d.ts","sourceRoot":"","sources":["../../../../src/planner/util/row-estimates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF;;;;;;;;GAQG;AAMH,wBAAgB,kBAAkB,CACjC,aAAa,EAAE,kBAAkB,GAAG,SAAS,EAC7C,MAAM,EAAE,kBAAkB,GACxB,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,QAA0B,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CACnC,EAAE,EAAE,gBAAgB,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAQpB;AAED,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC7B,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACzC,MAAM,GAAG,SAAS,CAoBpB"}
1
+ {"version":3,"file":"row-estimates.d.ts","sourceRoot":"","sources":["../../../../src/planner/util/row-estimates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF;;;;;;;;GAQG;AAMH,wBAAgB,kBAAkB,CACjC,aAAa,EAAE,kBAAkB,GAAG,SAAS,EAC7C,MAAM,EAAE,kBAAkB,GACxB,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGtG;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,QAA0B,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CACnC,EAAE,EAAE,gBAAgB,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAQpB;AAED,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC7B,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACzC,MAAM,GAAG,SAAS,CAoBpB"}
@@ -31,6 +31,35 @@
31
31
  export function physicalSourceRows(childPhysical, source) {
32
32
  return childPhysical?.estimatedRows ?? source.estimatedRows;
33
33
  }
34
+ /**
35
+ * A row estimate as a cost site prices it: `unknown` stands in for `undefined`
36
+ * (nobody measured), and a measured 0 is floored at one row. A zero is the most
37
+ * fragile measurement there is — any insert since invalidates it by an infinite
38
+ * ratio — and a table or join side priced at nothing undercuts every seek and
39
+ * wins every comparison it enters. One row keeps an empty table cheap without
40
+ * making it free. Relays keep the 0; only sites turning a count into a cost call
41
+ * this (docs/optimizer-costing.md § Base-table row estimates).
42
+ */
43
+ export function costedRows(rows, unknown) {
44
+ return rows === undefined ? unknown : Math.max(1, rows);
45
+ }
46
+ /**
47
+ * A Filter's output cardinality as a pure function of its source's and a
48
+ * selectivity — shared by `FilterNode`'s logical `estimatedRows` getter, its
49
+ * `computePhysical` (which feeds it the PHYSICAL source count), and the join
50
+ * rule's relative estimate (`planner/util/relative-rows.ts`) so the three cannot
51
+ * drift. The caller resolves the selectivity (stamped, or the last-resort
52
+ * `DEFAULT_FILTER_SELECTIVITY`).
53
+ *
54
+ * A non-empty source floors at one row — selectivity 0 (the provider says nothing
55
+ * matches) must not price the Filter at nothing — while a genuinely empty source
56
+ * stays 0, matching {@link aggregateRowsFrom}'s convention.
57
+ */
58
+ export function filterRowsFrom(sourceRows, selectivity) {
59
+ if (sourceRows === undefined)
60
+ return undefined;
61
+ return sourceRows > 0 ? Math.max(1, Math.floor(sourceRows * selectivity)) : 0;
62
+ }
34
63
  /**
35
64
  * An aggregate's output cardinality as a pure function of its source's — shared
36
65
  * by every aggregate node's logical `estimatedRows` getter and its
@@ -1 +1 @@
1
- {"version":3,"file":"row-estimates.js","sourceRoot":"","sources":["../../../../src/planner/util/row-estimates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;;;;;;GAQG;AACH,kFAAkF;AAClF,+EAA+E;AAC/E,qFAAqF;AACrF,qFAAqF;AACrF,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CACjC,aAA6C,EAC7C,MAA0B;IAE1B,OAAO,aAAa,EAAE,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAA8B,EAC9B,OAAgB,EAChB,YAAoB;IAEpB,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE/C,6EAA6E;IAC7E,gFAAgF;IAChF,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IAEvB,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAChD,IAAI,IAAI,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC;AAKD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CACnC,EAAoB,EACpB,QAA4B,EAC5B,SAA6B;IAE7B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,qEAAqE;IACrE,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,EAAE,KAAK,WAAW;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/E,sDAAsD;IACtD,OAAO,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAC/C,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAC7B,IAA0B,EAC1B,UAA2C;IAE3C,IAAI,GAAG,GAAG,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,UAAU;gBACd,GAAG,IAAI,IAAI,CAAC;gBACZ,MAAM;YACP,KAAK,UAAU;gBACd,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACP,KAAK,cAAc;gBAClB,qEAAqE;gBACrE,mEAAmE;gBACnE,yBAAyB;gBACzB,GAAG,GAAG,gBAAgB,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACnC,MAAM;QACR,CAAC;IACF,CAAC;IACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"row-estimates.js","sourceRoot":"","sources":["../../../../src/planner/util/row-estimates.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,45 @@
1
1
  /**
2
- * Per-execution sink for cardinality feedback: the exact row counts of base tables
3
- * that a scan read in full during one execution (docs/progressive-optimizer.md §3.1).
2
+ * Per-execution sink for cardinality feedback (docs/progressive-optimizer.md §3.1): the
3
+ * exact row counts of base tables a scan read in full during one execution, the
4
+ * floors — "holds at least N rows" — proven by scans that read only part of a table, and
5
+ * the rows each single-key equality seek through a non-unique index returned.
4
6
  *
5
- * The scan leaf (`runtime/emit/scan.ts`) reports here when a qualifying scan runs to
6
- * natural exhaustion; the run site hands the sink to
7
- * `CardinalityFeedbackManager.publish` once the execution ends. Nothing here decides
8
- * whether a count is worth keeping — that is the overlay's record policy.
7
+ * The scan leaf (`runtime/emit/scan.ts`) reports here as each qualifying invocation
8
+ * ends; the run site hands the sink to `CardinalityFeedbackManager.publish` once the
9
+ * execution ends. Beyond dropping floors too small to ever be recorded, nothing here
10
+ * decides whether an observation is worth keeping — that is the overlay's record policy.
9
11
  */
10
12
  import type { TableSchema } from '../schema/table.js';
13
+ /**
14
+ * What a rows-per-key site knows at emit time: which base columns its equality seek
15
+ * looks up, their canonical key, and the rows per key the plan was priced with. Built
16
+ * once per scan site, so an invocation composes no string.
17
+ */
18
+ export interface RowsPerKeySpec {
19
+ /** Sorted, de-duplicated base-column indexes of the seek's equality constraints. */
20
+ readonly columns: readonly number[];
21
+ /** {@link columnSetKey} of `columns` — the overlay's key for the column set within a table. */
22
+ readonly key: string;
23
+ /**
24
+ * The rows per key the plan priced this seek at — the overlay's observed mean when
25
+ * one answered at plan time, else the module's `estimatedRows`; a new entry's baseline.
26
+ */
27
+ readonly plannedRowsPerKey: number;
28
+ }
29
+ /**
30
+ * The overlay's key for an equality column set within one table. Shared by the scan
31
+ * leaf's spec and the planner's reader so the two cannot spell one set two ways.
32
+ */
33
+ export declare function columnSetKey(columns: readonly number[]): string;
34
+ /** Samples of one column set's rows per key, summed within one execution. */
35
+ export interface RowsPerKeySamples {
36
+ readonly spec: RowsPerKeySpec;
37
+ sum: number;
38
+ count: number;
39
+ }
11
40
  export declare class CardinalityObservations {
12
41
  readonly rollbacksAtStart: number;
42
+ private readonly recordFloor;
13
43
  /**
14
44
  * Keyed by schema object, not name: every scan in one execution was emitted from one
15
45
  * compile, so a nested-loop inner's re-scans and a self-join's two scan sites share
@@ -17,14 +47,39 @@ export declare class CardinalityObservations {
17
47
  * per completed scan. The overlay re-keys by name when it records.
18
48
  */
19
49
  private readonly counts;
50
+ /** Largest floor per table; same keying as `counts`. */
51
+ private readonly floors;
52
+ /**
53
+ * Rows-per-key samples per table and column-set key; same table keying as `counts`.
54
+ * One invocation is one sample: a nested-loop inner probing 10,000 outer rows adds
55
+ * 10,000 samples to one key here, published once as a sum and a count. Forked parallel
56
+ * branches share this sink by reference (`parallel-driver.ts`, `shared-sink`); the
57
+ * updates are synchronous map writes, so interleaving cannot lose one.
58
+ */
59
+ private readonly perKey;
20
60
  /**
21
61
  * @param rollbacksAtStart The overlay's rollback count when the execution began;
22
62
  * opaque here. If it has moved by publication, work this execution may have seen
23
63
  * was undone under it (`CardinalityFeedbackManager.publish`).
64
+ * @param recordFloor The overlay's `cardinalityFeedback.minRows`: a floor at or below
65
+ * it can never be recorded, so it is dropped before touching a map — which is every
66
+ * point seek and `get()`.
24
67
  */
25
- constructor(rollbacksAtStart: number);
68
+ constructor(rollbacksAtStart: number, recordFloor: number);
26
69
  observe(table: TableSchema, rows: number): void;
70
+ /**
71
+ * One scan invocation yielded `rows` distinct rows of `table`, so it holds at least
72
+ * that many. Re-scans keep the largest single invocation: their rows may overlap, so
73
+ * a sum would overstate.
74
+ */
75
+ observeAtLeast(table: TableSchema, rows: number): void;
76
+ /** One exhausted equality seek of `spec`'s column set on `table` yielded `rows` rows — one sample. */
77
+ observeRowsPerKey(table: TableSchema, spec: RowsPerKeySpec, rows: number): void;
27
78
  get isEmpty(): boolean;
28
79
  entries(): IterableIterator<[TableSchema, number]>;
80
+ /** Floors of tables this execution did not also count exactly — the complete count supersedes. */
81
+ lowerBounds(): IterableIterator<[TableSchema, number]>;
82
+ /** Every column set sampled this execution, with its summed rows and sample count. */
83
+ rowsPerKey(): IterableIterator<[TableSchema, RowsPerKeySamples]>;
29
84
  }
30
85
  //# sourceMappingURL=cardinality-observations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cardinality-observations.d.ts","sourceRoot":"","sources":["../../../src/runtime/cardinality-observations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,uBAAuB;IAcvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAb7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD;;;;OAIG;gBACkB,gBAAgB,EAAE,MAAM;IAE7C,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/C,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,IAAI,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CAGlD"}
1
+ {"version":3,"file":"cardinality-observations.d.ts","sourceRoot":"","sources":["../../../src/runtime/cardinality-observations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,+FAA+F;IAC/F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE/D;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,uBAAuB;IA2BvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;IA1B3E;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0D;IAEjF;;;;;;;OAOG;gBACkB,gBAAgB,EAAE,MAAM,EAAmB,WAAW,EAAE,MAAM;IAEnF,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/C;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAMtD,sGAAsG;IACtG,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAe/E,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,IAAI,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAIlD,kGAAkG;IACjG,WAAW,IAAI,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAMvD,sFAAsF;IACrF,UAAU,IAAI,gBAAgB,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;CAKjE"}
@@ -1,14 +1,24 @@
1
1
  /**
2
- * Per-execution sink for cardinality feedback: the exact row counts of base tables
3
- * that a scan read in full during one execution (docs/progressive-optimizer.md §3.1).
2
+ * Per-execution sink for cardinality feedback (docs/progressive-optimizer.md §3.1): the
3
+ * exact row counts of base tables a scan read in full during one execution, the
4
+ * floors — "holds at least N rows" — proven by scans that read only part of a table, and
5
+ * the rows each single-key equality seek through a non-unique index returned.
4
6
  *
5
- * The scan leaf (`runtime/emit/scan.ts`) reports here when a qualifying scan runs to
6
- * natural exhaustion; the run site hands the sink to
7
- * `CardinalityFeedbackManager.publish` once the execution ends. Nothing here decides
8
- * whether a count is worth keeping — that is the overlay's record policy.
7
+ * The scan leaf (`runtime/emit/scan.ts`) reports here as each qualifying invocation
8
+ * ends; the run site hands the sink to `CardinalityFeedbackManager.publish` once the
9
+ * execution ends. Beyond dropping floors too small to ever be recorded, nothing here
10
+ * decides whether an observation is worth keeping — that is the overlay's record policy.
9
11
  */
12
+ /**
13
+ * The overlay's key for an equality column set within one table. Shared by the scan
14
+ * leaf's spec and the planner's reader so the two cannot spell one set two ways.
15
+ */
16
+ export function columnSetKey(columns) {
17
+ return columns.join(',');
18
+ }
10
19
  export class CardinalityObservations {
11
20
  rollbacksAtStart;
21
+ recordFloor;
12
22
  /**
13
23
  * Keyed by schema object, not name: every scan in one execution was emitted from one
14
24
  * compile, so a nested-loop inner's re-scans and a self-join's two scan sites share
@@ -16,22 +26,78 @@ export class CardinalityObservations {
16
26
  * per completed scan. The overlay re-keys by name when it records.
17
27
  */
18
28
  counts = new Map();
29
+ /** Largest floor per table; same keying as `counts`. */
30
+ floors = new Map();
31
+ /**
32
+ * Rows-per-key samples per table and column-set key; same table keying as `counts`.
33
+ * One invocation is one sample: a nested-loop inner probing 10,000 outer rows adds
34
+ * 10,000 samples to one key here, published once as a sum and a count. Forked parallel
35
+ * branches share this sink by reference (`parallel-driver.ts`, `shared-sink`); the
36
+ * updates are synchronous map writes, so interleaving cannot lose one.
37
+ */
38
+ perKey = new Map();
19
39
  /**
20
40
  * @param rollbacksAtStart The overlay's rollback count when the execution began;
21
41
  * opaque here. If it has moved by publication, work this execution may have seen
22
42
  * was undone under it (`CardinalityFeedbackManager.publish`).
43
+ * @param recordFloor The overlay's `cardinalityFeedback.minRows`: a floor at or below
44
+ * it can never be recorded, so it is dropped before touching a map — which is every
45
+ * point seek and `get()`.
23
46
  */
24
- constructor(rollbacksAtStart) {
47
+ constructor(rollbacksAtStart, recordFloor) {
25
48
  this.rollbacksAtStart = rollbacksAtStart;
49
+ this.recordFloor = recordFloor;
26
50
  }
27
51
  observe(table, rows) {
28
52
  this.counts.set(table, rows);
29
53
  }
54
+ /**
55
+ * One scan invocation yielded `rows` distinct rows of `table`, so it holds at least
56
+ * that many. Re-scans keep the largest single invocation: their rows may overlap, so
57
+ * a sum would overstate.
58
+ */
59
+ observeAtLeast(table, rows) {
60
+ if (rows <= this.recordFloor)
61
+ return;
62
+ const known = this.floors.get(table);
63
+ if (known === undefined || rows > known)
64
+ this.floors.set(table, rows);
65
+ }
66
+ /** One exhausted equality seek of `spec`'s column set on `table` yielded `rows` rows — one sample. */
67
+ observeRowsPerKey(table, spec, rows) {
68
+ let byKey = this.perKey.get(table);
69
+ if (!byKey) {
70
+ byKey = new Map();
71
+ this.perKey.set(table, byKey);
72
+ }
73
+ const samples = byKey.get(spec.key);
74
+ if (samples) {
75
+ samples.sum += rows;
76
+ samples.count++;
77
+ }
78
+ else {
79
+ byKey.set(spec.key, { spec, sum: rows, count: 1 });
80
+ }
81
+ }
30
82
  get isEmpty() {
31
- return this.counts.size === 0;
83
+ return this.counts.size === 0 && this.floors.size === 0 && this.perKey.size === 0;
32
84
  }
33
85
  entries() {
34
86
  return this.counts.entries();
35
87
  }
88
+ /** Floors of tables this execution did not also count exactly — the complete count supersedes. */
89
+ *lowerBounds() {
90
+ for (const entry of this.floors) {
91
+ if (!this.counts.has(entry[0]))
92
+ yield entry;
93
+ }
94
+ }
95
+ /** Every column set sampled this execution, with its summed rows and sample count. */
96
+ *rowsPerKey() {
97
+ for (const [table, byKey] of this.perKey) {
98
+ for (const samples of byKey.values())
99
+ yield [table, samples];
100
+ }
101
+ }
36
102
  }
37
103
  //# sourceMappingURL=cardinality-observations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cardinality-observations.js","sourceRoot":"","sources":["../../../src/runtime/cardinality-observations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,OAAO,uBAAuB;IAcd;IAbrB;;;;;OAKG;IACc,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEzD;;;;OAIG;IACH,YAAqB,gBAAwB;QAAxB,qBAAgB,GAAhB,gBAAgB,CAAQ;IAAG,CAAC;IAEjD,OAAO,CAAC,KAAkB,EAAE,IAAY;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACD"}
1
+ {"version":3,"file":"cardinality-observations.js","sourceRoot":"","sources":["../../../src/runtime/cardinality-observations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA0B;IACtD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AASD,MAAM,OAAO,uBAAuB;IA2Bd;IAA2C;IA1BhE;;;;;OAKG;IACc,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD,wDAAwD;IACvC,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD;;;;;;OAMG;IACc,MAAM,GAAG,IAAI,GAAG,EAA+C,CAAC;IAEjF;;;;;;;OAOG;IACH,YAAqB,gBAAwB,EAAmB,WAAmB;QAA9D,qBAAgB,GAAhB,gBAAgB,CAAQ;QAAmB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAEvF,OAAO,CAAC,KAAkB,EAAE,IAAY;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAkB,EAAE,IAAY;QAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,GAAG,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,sGAAsG;IACtG,iBAAiB,CAAC,KAAkB,EAAE,IAAoB,EAAE,IAAY;QACvE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,kGAAkG;IAClG,CAAC,WAAW;QACX,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM,KAAK,CAAC;QAC7C,CAAC;IACF,CAAC;IAED,sFAAsF;IACtF,CAAC,UAAU;QACV,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;CACD"}
@@ -1,6 +1,6 @@
1
1
  import { type SqlValue } from "../../common/types.js";
2
2
  import { SeqScanNode, IndexScanNode, IndexSeekNode } from "../../planner/nodes/table-access-nodes.js";
3
- import type { FilterInfo } from "../../vtab/filter-info.js";
3
+ import { type FilterInfo } from "../../vtab/filter-info.js";
4
4
  import type { Instruction, RuntimeContext } from "../types.js";
5
5
  import type { EmissionContext } from "../emission-context.js";
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAItG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAChC,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,QAAQ,EAAE,KACnB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EACjD,GAAG,EAAE,eAAe,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACrC,WAAW,CAiOb"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAItG,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGpF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAChC,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,QAAQ,EAAE,KACnB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EACjD,GAAG,EAAE,eAAe,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACrC,WAAW,CAkQb"}
@@ -1,6 +1,9 @@
1
1
  import { StatusCode } from "../../common/types.js";
2
2
  import { IndexSeekNode } from "../../planner/nodes/table-access-nodes.js";
3
3
  import { AbortError, QuereusError, throwIfAborted } from "../../common/errors.js";
4
+ import { equalitySeekKeyColumns } from "../../vtab/filter-info.js";
5
+ import { accessPathPlan } from "../../vtab/index-descriptor.js";
6
+ import { columnSetKey } from "../cardinality-observations.js";
4
7
  import { asRun } from "../types.js";
5
8
  import { createValidatedInstruction, emitPlanNode } from "../emitters.js";
6
9
  import { disconnectVTable } from "../utils.js";
@@ -51,8 +54,17 @@ export function emitSeqScan(plan, ctx, filterInfoOverride) {
51
54
  : '';
52
55
  // Cardinality feedback (docs/progressive-optimizer.md §3.1): decided once here, so a
53
56
  // non-qualifying site never even reads the sink. An override can stamp a limit/offset
54
- // or a seek at run time, so any override disqualifies the site.
57
+ // or a seek at run time, so any override disqualifies the site. A whole-table site
58
+ // also walks one window, so it bounds the table when stopped early.
55
59
  const observesWholeTable = !filterInfoOverride && enumeratesWholeTable(plan);
60
+ const observesLowerBound = !filterInfoOverride && walksOneWindow(plan);
61
+ // A rows-per-key site: a single-key equality seek through a non-unique index (the
62
+ // helper owns that definition). Its spec — column set, key and the rows per key the
63
+ // plan was priced with — is built once here, so an invocation composes no string. Every
64
+ // such site is also a lower-bound site (an `eqSeek` walks one window); the OR below is
65
+ // so the two tests cannot drift apart silently.
66
+ const rowsPerKeySpec = !filterInfoOverride && plan instanceof IndexSeekNode ? rowsPerKeySpecOf(plan) : undefined;
67
+ const observesAnything = observesLowerBound || rowsPerKeySpec !== undefined;
56
68
  async function* run(runtimeCtx, ...dynamicArgs) {
57
69
  // Use the captured module info instead of doing a fresh lookup
58
70
  const capturedModuleInfo = ctx.getCapturedSchemaObject(moduleKey);
@@ -111,11 +123,20 @@ export function emitSeqScan(plan, ctx, filterInfoOverride) {
111
123
  }
112
124
  }
113
125
  const rowSlot = createRowSlot(runtimeCtx, rowDescriptor);
126
+ const observations = observesAnything ? runtimeCtx.cardinalityObservations : undefined;
127
+ // Unconditional on purpose: one local increment is cheaper per row than testing
128
+ // `observations`, and the count is only read once the invocation ends.
129
+ let rowsYielded = 0;
130
+ let completed = false;
131
+ let threw = false;
132
+ // Declared outside the `try` so the `finally` can read the seek arguments an
133
+ // exhausted rows-per-key invocation ran with.
134
+ let effectiveFilterInfo = plan.filterInfo;
114
135
  try {
115
136
  // If this is an IndexSeek with dynamic seek keys, populate args from params
116
- let effectiveFilterInfo = (plan instanceof IndexSeekNode && dynamicArgs && dynamicArgs.length > 0)
117
- ? { ...plan.filterInfo, args: dynamicArgs }
118
- : plan.filterInfo;
137
+ if (plan instanceof IndexSeekNode && dynamicArgs && dynamicArgs.length > 0) {
138
+ effectiveFilterInfo = { ...plan.filterInfo, args: dynamicArgs };
139
+ }
119
140
  if (filterInfoOverride) {
120
141
  effectiveFilterInfo = await filterInfoOverride(effectiveFilterInfo, runtimeCtx, dynamicArgs);
121
142
  }
@@ -155,10 +176,6 @@ export function emitSeqScan(plan, ctx, filterInfoOverride) {
155
176
  : `${schema.schemaName}.${effectiveName}`.toLowerCase());
156
177
  if (tableCounters)
157
178
  tableCounters.queryCalls++;
158
- const observations = observesWholeTable ? runtimeCtx.cardinalityObservations : undefined;
159
- // Unconditional on purpose: one local increment is cheaper per row than testing
160
- // `observations`, and the count is only read after a completed loop.
161
- let rowsYielded = 0;
162
179
  throwIfAborted(runtimeCtx.signal);
163
180
  for await (const row of asyncRowIterable) {
164
181
  // Cooperative cancellation checkpoint: a request-timeout (or any
@@ -186,10 +203,11 @@ export function emitSeqScan(plan, ctx, filterInfoOverride) {
186
203
  }
187
204
  // Reached only on natural exhaustion — an early `return()` (LIMIT above, `get()`,
188
205
  // EXISTS), an abort or an error never gets here, and a partial count is not a
189
- // table size. Never move this into `finally`.
190
- observations?.observe(schema, rowsYielded);
206
+ // table size, only a floor under one.
207
+ completed = true;
191
208
  }
192
209
  catch (e) {
210
+ threw = true;
193
211
  // Preserve cancellation identity — don't re-wrap it as a generic query error.
194
212
  // A representation violation is likewise rethrown verbatim: re-wrapping it
195
213
  // would bury the seam/column/type detail its message exists to carry.
@@ -201,6 +219,26 @@ export function emitSeqScan(plan, ctx, filterInfoOverride) {
201
219
  finally {
202
220
  // The row slot is per-invocation and must close on every pass.
203
221
  rowSlot.close();
222
+ // Here rather than in the loop, so the per-row path is untouched. An abort noticed
223
+ // downstream ends this invocation with a `return()`, not a throw, so the signal is
224
+ // read too: an aborted or failed invocation records nothing.
225
+ if (observations && !threw && !runtimeCtx.signal?.aborted) {
226
+ if (completed && observesWholeTable)
227
+ observations.observe(schema, rowsYielded);
228
+ else if (observesLowerBound)
229
+ observations.observeAtLeast(schema, rowsYielded);
230
+ // One sample of rows per key: only an exhausted seek saw every row of its key,
231
+ // and a NULL key (`col = NULL`, a correlated key from an outer row holding NULL)
232
+ // matches nothing by rule, not by distribution — it would drag the mean toward
233
+ // zero. Zero rows under a non-NULL key is a real sample (a parent with no
234
+ // children). The count is what the SEEK yields under the index's comparison: a
235
+ // `COARSER_SAFE` seek over-fetches and the residual `Filter` above trims, but rows
236
+ // per key under the index's collation is what the seek node relays and what the
237
+ // join candidate's rows-per-seek means.
238
+ if (completed && rowsPerKeySpec && !effectiveFilterInfo.args.includes(null)) {
239
+ observations.observeRowsPerKey(schema, rowsPerKeySpec, rowsYielded);
240
+ }
241
+ }
204
242
  // Disconnect only when this invocation owns the instance (no per-execution
205
243
  // cache to defer teardown to). A cached instance stays live across re-scans
206
244
  // and is released once at statement teardown, not here.
@@ -218,6 +256,19 @@ export function emitSeqScan(plan, ctx, filterInfoOverride) {
218
256
  }
219
257
  return createValidatedInstruction(params, asRun(run), ctx, `${plan.nodeType}(${schema.name})`);
220
258
  }
259
+ /**
260
+ * The rows-per-key spec of a seek site, or undefined when it is not one — eligibility is
261
+ * `equalitySeekKeyColumns`'s, shared with the planner's reader of the same observations.
262
+ */
263
+ function rowsPerKeySpecOf(plan) {
264
+ const columns = equalitySeekKeyColumns(plan.filterInfo);
265
+ if (!columns)
266
+ return undefined;
267
+ // The baseline is what the plan priced the seek at, so a plan already built from the
268
+ // observed mean does not shift on agreeing with it.
269
+ const plannedRowsPerKey = plan.plannedRowsPerKey ?? Number(plan.filterInfo.indexInfoOutput.estimatedRows);
270
+ return { columns, key: columnSetKey(columns), plannedRowsPerKey };
271
+ }
221
272
  /**
222
273
  * Whether one complete pass of this scan site enumerates every row of its table: no
223
274
  * seek, no constraint, no pushed limit/offset, and either no index or the primary one.
@@ -234,4 +285,21 @@ function enumeratesWholeTable(plan) {
234
285
  return true;
235
286
  return accessPath?.kind === 'index' && accessPath.index.role === 'primary' && accessPath.plan === 'scan';
236
287
  }
288
+ /**
289
+ * Whether one pass of this scan site visits each row of its table at most once — a full
290
+ * scan, or one window of any index (partial ones included), constrained or not — so the
291
+ * rows one invocation yields bound the table's size from below. A multi-seek is excluded:
292
+ * an `IN` list or overlapping `OR` ranges can yield a row twice. A hand-built
293
+ * `FilterInfo` with no `accessPath` never qualifies.
294
+ */
295
+ // NOTE: assumes an index holds each row at most once, true of both shipped modules; if a
296
+ // module ever exposes a multi-valued index (one entry per array element, say), a walk of
297
+ // it can yield a row twice and overstate the floor — exclude such indexes here.
298
+ function walksOneWindow(plan) {
299
+ const { accessPath } = plan.filterInfo;
300
+ if (accessPath?.kind === 'fullScan')
301
+ return true;
302
+ const kind = accessPathPlan(accessPath);
303
+ return kind === 'scan' || kind === 'eqSeek' || kind === 'rangeSeek' || kind === 'prefixRangeSeek';
304
+ }
237
305
  //# sourceMappingURL=scan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import type { ViewSchema } from './view.js';
9
9
  import { type MaintainedTableSchema, type TableDerivation } from './derivation.js';
10
10
  import type * as AST from '../parser/ast.js';
11
11
  import { SchemaChangeNotifier } from './change-events.js';
12
- import type { ObservedRowCounts } from '../planner/stats/table-cardinality.js';
12
+ import type { RowCountSources } from '../planner/stats/table-cardinality.js';
13
13
  import type { VTableSchemaChangeEvent } from '../vtab/events.js';
14
14
  /**
15
15
  * One FK that references some parent table, paired with its declaring child
@@ -266,11 +266,11 @@ export declare class SchemaManager {
266
266
  */
267
267
  getChangeNotifier(): SchemaChangeNotifier;
268
268
  /**
269
- * The owning database's observed row-count overlay, read by `TableReferenceNode`
270
- * at construction. Read lazily (not captured), so construction order inside the
271
- * `Database` constructor does not matter.
269
+ * The owning database's row-count sources (module counts and the observed overlay),
270
+ * read by `TableReferenceNode` at construction. Read lazily (not captured), so
271
+ * construction order inside the `Database` constructor does not matter.
272
272
  */
273
- getObservedRowCounts(): ObservedRowCounts | undefined;
273
+ getRowCountSources(): RowCountSources | undefined;
274
274
  /**
275
275
  * True when assertion-hoisting must be suppressed (the caller is currently
276
276
  * planning an assertion's own violation query). Read by
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/schema/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/schema/manager.ts"],"names":[],"mappings":"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"}