@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.
- package/dist/src/core/database-cardinality-feedback.d.ts +133 -20
- package/dist/src/core/database-cardinality-feedback.d.ts.map +1 -1
- package/dist/src/core/database-cardinality-feedback.js +312 -39
- package/dist/src/core/database-cardinality-feedback.js.map +1 -1
- package/dist/src/core/database.d.ts +1 -0
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +14 -6
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/statement.d.ts +6 -1
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +11 -2
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/func/builtins/cardinality-feedback.d.ts +6 -0
- package/dist/src/func/builtins/cardinality-feedback.d.ts.map +1 -1
- package/dist/src/func/builtins/cardinality-feedback.js +55 -3
- package/dist/src/func/builtins/cardinality-feedback.js.map +1 -1
- package/dist/src/func/builtins/explain.d.ts.map +1 -1
- package/dist/src/func/builtins/explain.js +3 -1
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/func/builtins/index.d.ts.map +1 -1
- package/dist/src/func/builtins/index.js +2 -1
- package/dist/src/func/builtins/index.js.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/planner/cost/index.d.ts +27 -19
- package/dist/src/planner/cost/index.d.ts.map +1 -1
- package/dist/src/planner/cost/index.js +30 -21
- package/dist/src/planner/cost/index.js.map +1 -1
- package/dist/src/planner/framework/trace.js +2 -2
- package/dist/src/planner/framework/trace.js.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.d.ts +2 -1
- package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.js +1 -0
- package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
- package/dist/src/planner/nodes/filter.d.ts.map +1 -1
- package/dist/src/planner/nodes/filter.js +5 -10
- package/dist/src/planner/nodes/filter.js.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.d.ts +2 -1
- package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.js +1 -0
- package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/plan-node.d.ts +16 -3
- package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node.js +3 -0
- package/dist/src/planner/nodes/plan-node.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts +3 -3
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +16 -12
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.d.ts +2 -1
- package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.js +1 -0
- package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts +14 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +52 -20
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/optimizer-tuning.d.ts +42 -9
- package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
- package/dist/src/planner/optimizer-tuning.js +9 -4
- package/dist/src/planner/optimizer-tuning.js.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +9 -0
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.js +18 -12
- package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js +7 -8
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +1 -1
- package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +7 -0
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
- package/dist/src/planner/rules/join/index-nested-loop.d.ts +6 -2
- package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
- package/dist/src/planner/rules/join/index-nested-loop.js +20 -14
- package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +5 -0
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +6 -4
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +10 -7
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.js +108 -53
- package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +15 -6
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
- package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +9 -1
- package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts +2 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +6 -5
- package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts +4 -3
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +4 -3
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -1
- package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts +4 -3
- package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -1
- package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +5 -4
- package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +4 -3
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/stats/catalog-stats.d.ts +8 -8
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
- package/dist/src/planner/stats/catalog-stats.js +10 -10
- package/dist/src/planner/stats/catalog-stats.js.map +1 -1
- package/dist/src/planner/stats/table-cardinality.d.ts +119 -30
- package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -1
- package/dist/src/planner/stats/table-cardinality.js +137 -29
- package/dist/src/planner/stats/table-cardinality.js.map +1 -1
- package/dist/src/planner/util/relative-rows.d.ts +29 -0
- package/dist/src/planner/util/relative-rows.d.ts.map +1 -0
- package/dist/src/planner/util/relative-rows.js +67 -0
- package/dist/src/planner/util/relative-rows.js.map +1 -0
- package/dist/src/planner/util/row-estimates.d.ts +23 -0
- package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
- package/dist/src/planner/util/row-estimates.js +29 -0
- package/dist/src/planner/util/row-estimates.js.map +1 -1
- package/dist/src/runtime/cardinality-observations.d.ts +62 -7
- package/dist/src/runtime/cardinality-observations.d.ts.map +1 -1
- package/dist/src/runtime/cardinality-observations.js +74 -8
- package/dist/src/runtime/cardinality-observations.js.map +1 -1
- package/dist/src/runtime/emit/scan.d.ts +1 -1
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +78 -10
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/schema/manager.d.ts +5 -5
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +9 -5
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/vtab/cost-profile.d.ts +61 -0
- package/dist/src/vtab/cost-profile.d.ts.map +1 -0
- package/dist/src/vtab/cost-profile.js +52 -0
- package/dist/src/vtab/cost-profile.js.map +1 -0
- package/dist/src/vtab/filter-info.d.ts +16 -0
- package/dist/src/vtab/filter-info.d.ts.map +1 -1
- package/dist/src/vtab/filter-info.js +29 -0
- package/dist/src/vtab/filter-info.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +5 -3
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/module.d.ts +53 -9
- package/dist/src/vtab/module.d.ts.map +1 -1
- 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
|
|
3
|
-
*
|
|
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
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* whether
|
|
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
|
|
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
|
|
3
|
-
*
|
|
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
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* whether
|
|
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
|
|
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
|
|
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,
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
|
190
|
-
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAA8B,aAAa,EAAE,MAAM,2CAA2C,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
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 {
|
|
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
|
|
270
|
-
* at construction. Read lazily (not captured), so
|
|
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
|
-
|
|
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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"}
|