@quereus/quereus 4.4.0 → 4.5.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/README.md +6 -1
- package/dist/src/common/types.d.ts +9 -0
- package/dist/src/common/types.d.ts.map +1 -1
- package/dist/src/common/types.js.map +1 -1
- package/dist/src/core/database-events.d.ts +49 -0
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +148 -0
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-materialized-views-analysis.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-analysis.js +1 -0
- package/dist/src/core/database-materialized-views-analysis.js.map +1 -1
- package/dist/src/core/database-materialized-views-plan-builders.d.ts +2 -1
- package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-plan-builders.js +26 -5
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
- package/dist/src/core/database-materialized-views-plans.d.ts +6 -3
- package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.d.ts +3 -2
- package/dist/src/core/database-materialized-views.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.js +26 -5
- package/dist/src/core/database-materialized-views.js.map +1 -1
- package/dist/src/core/database.d.ts +5 -0
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +21 -1
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/internal-statement-cache.d.ts +18 -0
- package/dist/src/core/internal-statement-cache.d.ts.map +1 -0
- package/dist/src/core/internal-statement-cache.js +211 -0
- package/dist/src/core/internal-statement-cache.js.map +1 -0
- package/dist/src/func/builtins/aggregate.d.ts +13 -12
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +45 -67
- package/dist/src/func/builtins/aggregate.js.map +1 -1
- package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
- package/dist/src/func/builtins/builtin-window-functions.js +63 -48
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/builtins/scalar.d.ts.map +1 -1
- package/dist/src/func/builtins/scalar.js +92 -3
- package/dist/src/func/builtins/scalar.js.map +1 -1
- package/dist/src/func/registration.d.ts +18 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +26 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +10 -10
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +13 -12
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/parser.d.ts +6 -0
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +45 -34
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/analysis/coarsened-key.d.ts +4 -3
- package/dist/src/planner/analysis/coarsened-key.d.ts.map +1 -1
- package/dist/src/planner/analysis/coarsened-key.js +37 -3
- package/dist/src/planner/analysis/coarsened-key.js.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.d.ts +35 -3
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +37 -3
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.d.ts +13 -2
- package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.js +10 -14
- package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.js +29 -0
- package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
- package/dist/src/planner/analysis/predicate-conjuncts.d.ts +10 -4
- package/dist/src/planner/analysis/predicate-conjuncts.d.ts.map +1 -1
- package/dist/src/planner/analysis/predicate-conjuncts.js +28 -7
- package/dist/src/planner/analysis/predicate-conjuncts.js.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +6 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +19 -29
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
- package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
- package/dist/src/planner/analysis/sat-checker.js +43 -4
- package/dist/src/planner/analysis/sat-checker.js.map +1 -1
- package/dist/src/planner/analysis/scalar-subqueries.d.ts +22 -3
- package/dist/src/planner/analysis/scalar-subqueries.d.ts.map +1 -1
- package/dist/src/planner/analysis/scalar-subqueries.js +32 -3
- package/dist/src/planner/analysis/scalar-subqueries.js.map +1 -1
- package/dist/src/planner/analysis/set-op-type-merge.d.ts +64 -0
- package/dist/src/planner/analysis/set-op-type-merge.d.ts.map +1 -0
- package/dist/src/planner/analysis/set-op-type-merge.js +97 -0
- package/dist/src/planner/analysis/set-op-type-merge.js.map +1 -0
- package/dist/src/planner/building/coercion.d.ts +78 -0
- package/dist/src/planner/building/coercion.d.ts.map +1 -0
- package/dist/src/planner/building/coercion.js +137 -0
- package/dist/src/planner/building/coercion.js.map +1 -0
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +5 -18
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +10 -3
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +13 -35
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts +44 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.js +54 -0
- package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
- package/dist/src/planner/building/function-call.d.ts.map +1 -1
- package/dist/src/planner/building/function-call.js +8 -0
- package/dist/src/planner/building/function-call.js.map +1 -1
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +9 -12
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/select-compound.d.ts.map +1 -1
- package/dist/src/planner/building/select-compound.js +10 -6
- package/dist/src/planner/building/select-compound.js.map +1 -1
- package/dist/src/planner/building/update.d.ts.map +1 -1
- package/dist/src/planner/building/update.js +13 -4
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/cost/conjunct-cost.d.ts +42 -0
- package/dist/src/planner/cost/conjunct-cost.d.ts.map +1 -0
- package/dist/src/planner/cost/conjunct-cost.js +62 -0
- package/dist/src/planner/cost/conjunct-cost.js.map +1 -0
- package/dist/src/planner/framework/pass.js +3 -3
- package/dist/src/planner/mutation/propagate.d.ts.map +1 -1
- package/dist/src/planner/mutation/propagate.js +1 -0
- package/dist/src/planner/mutation/propagate.js.map +1 -1
- package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/async-gather-node.js +19 -8
- package/dist/src/planner/nodes/async-gather-node.js.map +1 -1
- package/dist/src/planner/nodes/bloom-join-node.d.ts +2 -0
- package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/bloom-join-node.js +10 -5
- package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.d.ts +0 -9
- package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
- package/dist/src/planner/nodes/join-node.d.ts +5 -0
- package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-node.js +8 -1
- package/dist/src/planner/nodes/join-node.js.map +1 -1
- package/dist/src/planner/nodes/join-utils.d.ts +57 -0
- package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-utils.js +47 -0
- package/dist/src/planner/nodes/join-utils.js.map +1 -1
- package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +87 -0
- package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/key-set-semi-join-node.js +137 -0
- package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -0
- package/dist/src/planner/nodes/merge-join-node.d.ts +2 -0
- package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.js +14 -6
- package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.d.ts +1 -0
- package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.js +1 -0
- package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +26 -3
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.d.ts +68 -16
- package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.js +147 -26
- package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts +19 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +13 -2
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +54 -12
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +68 -0
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -0
- package/dist/src/planner/rules/access/rule-key-set-seek.js +408 -0
- package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -0
- package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts +27 -0
- 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 +74 -29
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +23 -4
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +10 -8
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +10 -8
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +67 -41
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.js +72 -36
- package/dist/src/planner/rules/join/equi-pair-extractor.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 +14 -2
- 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.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +11 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts +1 -1
- package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts +30 -0
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts.map +1 -0
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js +63 -0
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js.map +1 -0
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +17 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +206 -12
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +8 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts +3 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +13 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.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 +18 -3
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/rules/shared/index-style-context.d.ts +17 -0
- package/dist/src/planner/rules/shared/index-style-context.d.ts.map +1 -1
- package/dist/src/planner/rules/shared/index-style-context.js +7 -0
- package/dist/src/planner/rules/shared/index-style-context.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +4 -0
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts +24 -6
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +175 -60
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
- package/dist/src/planner/stats/catalog-stats.d.ts +52 -0
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
- package/dist/src/planner/stats/catalog-stats.js +151 -5
- package/dist/src/planner/stats/catalog-stats.js.map +1 -1
- package/dist/src/planner/stats/index.d.ts +15 -0
- package/dist/src/planner/stats/index.d.ts.map +1 -1
- package/dist/src/planner/stats/index.js.map +1 -1
- package/dist/src/planner/stats/selectivity-combine.d.ts +53 -0
- package/dist/src/planner/stats/selectivity-combine.d.ts.map +1 -0
- package/dist/src/planner/stats/selectivity-combine.js +75 -0
- package/dist/src/planner/stats/selectivity-combine.js.map +1 -0
- package/dist/src/planner/util/column-origins.d.ts +58 -0
- package/dist/src/planner/util/column-origins.d.ts.map +1 -0
- package/dist/src/planner/util/column-origins.js +90 -0
- package/dist/src/planner/util/column-origins.js.map +1 -0
- package/dist/src/runtime/deferred-constraint-queue.d.ts +40 -0
- package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +91 -0
- package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
- package/dist/src/runtime/emit/aggregate-setup.d.ts +49 -0
- package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -0
- package/dist/src/runtime/emit/aggregate-setup.js +99 -0
- package/dist/src/runtime/emit/aggregate-setup.js.map +1 -0
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +4 -69
- package/dist/src/runtime/emit/aggregate.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +354 -165
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/asof-scan.js +11 -0
- package/dist/src/runtime/emit/asof-scan.js.map +1 -1
- package/dist/src/runtime/emit/between.d.ts.map +1 -1
- package/dist/src/runtime/emit/between.js +7 -12
- package/dist/src/runtime/emit/between.js.map +1 -1
- package/dist/src/runtime/emit/binary.d.ts.map +1 -1
- package/dist/src/runtime/emit/binary.js +24 -25
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/bloom-join.js +8 -16
- package/dist/src/runtime/emit/bloom-join.js.map +1 -1
- package/dist/src/runtime/emit/case.d.ts.map +1 -1
- package/dist/src/runtime/emit/case.js +40 -6
- package/dist/src/runtime/emit/case.js.map +1 -1
- package/dist/src/runtime/emit/cast.d.ts.map +1 -1
- package/dist/src/runtime/emit/cast.js +10 -23
- package/dist/src/runtime/emit/cast.js.map +1 -1
- package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
- package/dist/src/runtime/emit/constraint-check.js +72 -51
- package/dist/src/runtime/emit/constraint-check.js.map +1 -1
- package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-view.js +6 -0
- package/dist/src/runtime/emit/create-view.js.map +1 -1
- package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
- package/dist/src/runtime/emit/distinct.js +6 -3
- package/dist/src/runtime/emit/distinct.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +188 -84
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/filter.d.ts +18 -0
- package/dist/src/runtime/emit/filter.d.ts.map +1 -1
- package/dist/src/runtime/emit/filter.js +52 -10
- package/dist/src/runtime/emit/filter.js.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.js +16 -65
- package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
- package/dist/src/runtime/emit/insert.d.ts.map +1 -1
- package/dist/src/runtime/emit/insert.js +18 -7
- package/dist/src/runtime/emit/insert.js.map +1 -1
- package/dist/src/runtime/emit/join-key-extractor.d.ts +46 -0
- package/dist/src/runtime/emit/join-key-extractor.d.ts.map +1 -0
- package/dist/src/runtime/emit/join-key-extractor.js +60 -0
- package/dist/src/runtime/emit/join-key-extractor.js.map +1 -0
- package/dist/src/runtime/emit/join.d.ts.map +1 -1
- package/dist/src/runtime/emit/join.js +37 -11
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/key-set-semi-join.d.ts +29 -0
- package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -0
- package/dist/src/runtime/emit/key-set-semi-join.js +143 -0
- package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -0
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +14 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +33 -3
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view.js +47 -6
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/merge-join.js +32 -15
- package/dist/src/runtime/emit/merge-join.js.map +1 -1
- package/dist/src/runtime/emit/operand-comparator.d.ts +40 -0
- package/dist/src/runtime/emit/operand-comparator.d.ts.map +1 -0
- package/dist/src/runtime/emit/operand-comparator.js +59 -0
- package/dist/src/runtime/emit/operand-comparator.js.map +1 -0
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +11 -2
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.d.ts +8 -0
- package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.js +8 -0
- package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
- package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-operation.js +7 -4
- package/dist/src/runtime/emit/set-operation.js.map +1 -1
- package/dist/src/runtime/emit/sort.d.ts.map +1 -1
- package/dist/src/runtime/emit/sort.js +5 -2
- package/dist/src/runtime/emit/sort.js.map +1 -1
- package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
- package/dist/src/runtime/emit/subquery.js +113 -13
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts +7 -0
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.js +15 -7
- package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
- package/dist/src/runtime/emit/update.d.ts.map +1 -1
- package/dist/src/runtime/emit/update.js +44 -3
- package/dist/src/runtime/emit/update.js.map +1 -1
- package/dist/src/runtime/emit/window.d.ts.map +1 -1
- package/dist/src/runtime/emit/window.js +72 -55
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/foreign-key-actions.d.ts +36 -1
- package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
- package/dist/src/runtime/foreign-key-actions.js +238 -116
- package/dist/src/runtime/foreign-key-actions.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +10 -2
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +12 -2
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/register.d.ts.map +1 -1
- package/dist/src/runtime/register.js +2 -0
- package/dist/src/runtime/register.js.map +1 -1
- package/dist/src/runtime/types.d.ts +25 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/catalog-persistability.d.ts +58 -0
- package/dist/src/schema/catalog-persistability.d.ts.map +1 -0
- package/dist/src/schema/catalog-persistability.js +87 -0
- package/dist/src/schema/catalog-persistability.js.map +1 -0
- package/dist/src/schema/catalog.d.ts +17 -1
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +25 -3
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/constraint-builder.d.ts +20 -22
- package/dist/src/schema/constraint-builder.d.ts.map +1 -1
- package/dist/src/schema/constraint-builder.js +43 -36
- package/dist/src/schema/constraint-builder.js.map +1 -1
- package/dist/src/schema/ddl-generator.d.ts +23 -0
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +27 -0
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/function.d.ts +39 -1
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/manager.d.ts +28 -0
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +82 -14
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +51 -12
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +31 -0
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +37 -1
- package/dist/src/schema/unique-enforcement.js.map +1 -1
- package/dist/src/schema/window-function.d.ts +30 -10
- package/dist/src/schema/window-function.d.ts.map +1 -1
- package/dist/src/schema/window-function.js +20 -16
- package/dist/src/schema/window-function.js.map +1 -1
- package/dist/src/types/builtin-types.d.ts.map +1 -1
- package/dist/src/types/builtin-types.js +30 -4
- package/dist/src/types/builtin-types.js.map +1 -1
- package/dist/src/types/cast-semantics.d.ts +43 -0
- package/dist/src/types/cast-semantics.d.ts.map +1 -0
- package/dist/src/types/cast-semantics.js +59 -0
- package/dist/src/types/cast-semantics.js.map +1 -0
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/json-type.d.ts.map +1 -1
- package/dist/src/types/json-type.js +31 -10
- package/dist/src/types/json-type.js.map +1 -1
- package/dist/src/types/logical-type.d.ts +22 -0
- package/dist/src/types/logical-type.d.ts.map +1 -1
- package/dist/src/types/logical-type.js.map +1 -1
- package/dist/src/types/temporal-types.d.ts.map +1 -1
- package/dist/src/types/temporal-types.js +33 -11
- package/dist/src/types/temporal-types.js.map +1 -1
- package/dist/src/types/validation.d.ts +39 -1
- package/dist/src/types/validation.d.ts.map +1 -1
- package/dist/src/types/validation.js +60 -0
- package/dist/src/types/validation.js.map +1 -1
- package/dist/src/util/ast-spine-clone.d.ts +23 -0
- package/dist/src/util/ast-spine-clone.d.ts.map +1 -0
- package/dist/src/util/ast-spine-clone.js +41 -0
- package/dist/src/util/ast-spine-clone.js.map +1 -0
- package/dist/src/util/coercion.d.ts +13 -0
- package/dist/src/util/coercion.d.ts.map +1 -1
- package/dist/src/util/coercion.js +10 -1
- package/dist/src/util/coercion.js.map +1 -1
- package/dist/src/util/comparison.d.ts +114 -0
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +187 -27
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/vtab/best-access-plan.d.ts +87 -0
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js +87 -0
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/manifest.d.ts +7 -0
- package/dist/src/vtab/manifest.d.ts.map +1 -1
- package/dist/src/vtab/memory/connection.d.ts +14 -1
- package/dist/src/vtab/memory/connection.d.ts.map +1 -1
- package/dist/src/vtab/memory/connection.js +20 -2
- package/dist/src/vtab/memory/connection.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +12 -5
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +20 -9
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/connection.d.ts +17 -0
- package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/connection.js +26 -0
- package/dist/src/vtab/memory/layer/connection.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +156 -31
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +695 -158
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.d.ts +41 -20
- package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.js +57 -27
- package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.d.ts +21 -0
- package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -0
- package/dist/src/vtab/memory/layer/row-convert.js +30 -0
- package/dist/src/vtab/memory/layer/row-convert.js.map +1 -0
- package/dist/src/vtab/memory/layer/scan-layer.d.ts +6 -3
- package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.js +48 -34
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +142 -19
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +237 -73
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +14 -2
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +60 -41
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts +1 -1
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +12 -4
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/memory/types.d.ts +27 -1
- package/dist/src/vtab/memory/types.d.ts.map +1 -1
- package/dist/src/vtab/memory/types.js +16 -1
- package/dist/src/vtab/memory/types.js.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.d.ts +9 -0
- package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.js +11 -0
- package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
- package/dist/src/vtab/module.d.ts +63 -0
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +33 -7
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +0 -26
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +0 -1
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +0 -66
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { PlanNodeType } from './plan-node-type.js';
|
|
2
|
+
import { PlanNode, type RelationalPlanNode, type BinaryRelationalNode, type PhysicalProperties, type Attribute } from './plan-node.js';
|
|
3
|
+
import type { RelationType } from '../../common/datatype.js';
|
|
4
|
+
import type { Scope } from '../scopes/scope.js';
|
|
5
|
+
import { SeqScanNode, IndexScanNode } from './table-access-nodes.js';
|
|
6
|
+
import type { AccessPath } from '../../vtab/index-descriptor.js';
|
|
7
|
+
/**
|
|
8
|
+
* Admissible target leaves: a plain sequential scan, or an ordering-only index
|
|
9
|
+
* walk (`plan=0`, no constraints) — which reads every row exactly like a full
|
|
10
|
+
* scan and differs only in emission order, a property nothing above the hash
|
|
11
|
+
* semi join this node replaces could have depended on (see
|
|
12
|
+
* `rule-key-set-seek`'s leaf gate). Memory-vtab tables always advertise a
|
|
13
|
+
* primary-key ordering, so their bare scans are ordering-only IndexScans —
|
|
14
|
+
* admitting only SeqScan would make this node unreachable there.
|
|
15
|
+
*/
|
|
16
|
+
export type KeySetTargetNode = SeqScanNode | IndexScanNode;
|
|
17
|
+
/**
|
|
18
|
+
* Engine ceiling on the number of seek keys a runtime-materialized key set may
|
|
19
|
+
* deliver to a module as a multi-seek. Matches the store module's own
|
|
20
|
+
* `MAX_MULTI_SEEK_KEYS`; above this the runtime always falls back to scanning
|
|
21
|
+
* the target, which the module was promised (`RuntimeSetSpec.maxCount`).
|
|
22
|
+
*/
|
|
23
|
+
export declare const RUNTIME_SET_MAX_KEYS = 1000;
|
|
24
|
+
/** How the target's access path is rewritten when the runtime decides to seek. */
|
|
25
|
+
export interface KeySetPushdown {
|
|
26
|
+
/** Index name as it must appear in idxStr (the module's own spelling). */
|
|
27
|
+
readonly indexName: string;
|
|
28
|
+
/** Structured identity of that index — always `{ kind: 'index', plan: 'multiSeek' }`. */
|
|
29
|
+
readonly accessPath: Extract<AccessPath, {
|
|
30
|
+
kind: 'index';
|
|
31
|
+
}>;
|
|
32
|
+
/** Table column index the seek is on (the index's leading key column). */
|
|
33
|
+
readonly seekColumnIndex: number;
|
|
34
|
+
/** true ⇒ the index's leading key column is DESC, so keys sort descending. */
|
|
35
|
+
readonly seekDescending: boolean;
|
|
36
|
+
/** Engine ceiling the module accepted. Above this the runtime scans instead. */
|
|
37
|
+
readonly maxKeys: number;
|
|
38
|
+
/** Seek iff the materialized distinct key count is ≤ this (module-cost break-even). */
|
|
39
|
+
readonly breakEvenKeys: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Physical semi join that materializes the key-source side into a set once, then
|
|
43
|
+
* streams the target and probes each row against the set — exactly what the hash
|
|
44
|
+
* semi join it replaces does — and additionally, when the materialized distinct
|
|
45
|
+
* key count is small enough (≤ min(maxKeys, breakEvenKeys)), rewrites the target
|
|
46
|
+
* leaf's `FilterInfo` at runtime into an ordinary single-column `plan=5`
|
|
47
|
+
* multi-seek so the storage backend reads only the matching rows.
|
|
48
|
+
*
|
|
49
|
+
* The probe never goes away: pushdown only changes how many rows the target
|
|
50
|
+
* emits. An over-fetching seek is trimmed by the probe; a skipped pushdown
|
|
51
|
+
* degrades to the hash semi join. The plan-time gates in `rule-key-set-seek`
|
|
52
|
+
* exist to make an under-fetch (rows the seek fails to return, which the probe
|
|
53
|
+
* cannot resurrect) impossible.
|
|
54
|
+
*/
|
|
55
|
+
export declare class KeySetSemiJoinNode extends PlanNode implements BinaryRelationalNode {
|
|
56
|
+
/** The access leaf whose FilterInfo gets rewritten at runtime, verbatim. */
|
|
57
|
+
readonly target: KeySetTargetNode;
|
|
58
|
+
/** Drained once into the key set. Uncorrelated + deterministic by rule gate. */
|
|
59
|
+
readonly keySource: RelationalPlanNode;
|
|
60
|
+
/** Join key attribute on the target side. */
|
|
61
|
+
readonly targetAttrId: number;
|
|
62
|
+
/** Join key attribute on the keySource side. */
|
|
63
|
+
readonly keyAttrId: number;
|
|
64
|
+
readonly pushdown: KeySetPushdown;
|
|
65
|
+
readonly nodeType = PlanNodeType.KeySetSemiJoin;
|
|
66
|
+
constructor(scope: Scope,
|
|
67
|
+
/** The access leaf whose FilterInfo gets rewritten at runtime, verbatim. */
|
|
68
|
+
target: KeySetTargetNode,
|
|
69
|
+
/** Drained once into the key set. Uncorrelated + deterministic by rule gate. */
|
|
70
|
+
keySource: RelationalPlanNode,
|
|
71
|
+
/** Join key attribute on the target side. */
|
|
72
|
+
targetAttrId: number,
|
|
73
|
+
/** Join key attribute on the keySource side. */
|
|
74
|
+
keyAttrId: number, pushdown: KeySetPushdown);
|
|
75
|
+
get left(): RelationalPlanNode;
|
|
76
|
+
get right(): RelationalPlanNode;
|
|
77
|
+
getAttributes(): readonly Attribute[];
|
|
78
|
+
getType(): RelationType;
|
|
79
|
+
getChildren(): readonly PlanNode[];
|
|
80
|
+
getRelations(): readonly [RelationalPlanNode, RelationalPlanNode];
|
|
81
|
+
get estimatedRows(): number | undefined;
|
|
82
|
+
computePhysical(childrenPhysical: PhysicalProperties[]): Partial<PhysicalProperties>;
|
|
83
|
+
withChildren(newChildren: readonly PlanNode[]): PlanNode;
|
|
84
|
+
toString(): string;
|
|
85
|
+
getLogicalAttributes(): Record<string, unknown>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=key-set-semi-join-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-set-semi-join-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/key-set-semi-join-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AACzJ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKhD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5D,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,SAAQ,QAAS,YAAW,oBAAoB;IAK9E,4EAA4E;aAC5D,MAAM,EAAE,gBAAgB;IACxC,gFAAgF;aAChE,SAAS,EAAE,kBAAkB;IAC7C,6CAA6C;aAC7B,YAAY,EAAE,MAAM;IACpC,gDAAgD;aAChC,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,cAAc;IAZzC,SAAkB,QAAQ,+BAA+B;gBAGxD,KAAK,EAAE,KAAK;IACZ,4EAA4E;IAC5D,MAAM,EAAE,gBAAgB;IACxC,gFAAgF;IAChE,SAAS,EAAE,kBAAkB;IAC7C,6CAA6C;IAC7B,YAAY,EAAE,MAAM;IACpC,gDAAgD;IAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc;IAazC,IAAI,IAAI,IAAI,kBAAkB,CAAwB;IACtD,IAAI,KAAK,IAAI,kBAAkB,CAA2B;IAE1D,aAAa,IAAI,SAAS,SAAS,EAAE;IAMrC,OAAO,IAAI,YAAY;IAKvB,WAAW,IAAI,SAAS,QAAQ,EAAE;IAIlC,YAAY,IAAI,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAIjE,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,eAAe,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0BpF,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAwB/C,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYxD"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { PlanNodeType } from './plan-node-type.js';
|
|
2
|
+
import { PlanNode, isRelationalNode } from './plan-node.js';
|
|
3
|
+
import { StatusCode } from '../../common/types.js';
|
|
4
|
+
import { quereusError } from '../../common/errors.js';
|
|
5
|
+
import { hashJoinCost } from '../cost/index.js';
|
|
6
|
+
import { estimateJoinRows } from './join-utils.js';
|
|
7
|
+
import { SeqScanNode, IndexScanNode } from './table-access-nodes.js';
|
|
8
|
+
/**
|
|
9
|
+
* Engine ceiling on the number of seek keys a runtime-materialized key set may
|
|
10
|
+
* deliver to a module as a multi-seek. Matches the store module's own
|
|
11
|
+
* `MAX_MULTI_SEEK_KEYS`; above this the runtime always falls back to scanning
|
|
12
|
+
* the target, which the module was promised (`RuntimeSetSpec.maxCount`).
|
|
13
|
+
*/
|
|
14
|
+
export const RUNTIME_SET_MAX_KEYS = 1000;
|
|
15
|
+
/**
|
|
16
|
+
* Physical semi join that materializes the key-source side into a set once, then
|
|
17
|
+
* streams the target and probes each row against the set — exactly what the hash
|
|
18
|
+
* semi join it replaces does — and additionally, when the materialized distinct
|
|
19
|
+
* key count is small enough (≤ min(maxKeys, breakEvenKeys)), rewrites the target
|
|
20
|
+
* leaf's `FilterInfo` at runtime into an ordinary single-column `plan=5`
|
|
21
|
+
* multi-seek so the storage backend reads only the matching rows.
|
|
22
|
+
*
|
|
23
|
+
* The probe never goes away: pushdown only changes how many rows the target
|
|
24
|
+
* emits. An over-fetching seek is trimmed by the probe; a skipped pushdown
|
|
25
|
+
* degrades to the hash semi join. The plan-time gates in `rule-key-set-seek`
|
|
26
|
+
* exist to make an under-fetch (rows the seek fails to return, which the probe
|
|
27
|
+
* cannot resurrect) impossible.
|
|
28
|
+
*/
|
|
29
|
+
export class KeySetSemiJoinNode extends PlanNode {
|
|
30
|
+
target;
|
|
31
|
+
keySource;
|
|
32
|
+
targetAttrId;
|
|
33
|
+
keyAttrId;
|
|
34
|
+
pushdown;
|
|
35
|
+
nodeType = PlanNodeType.KeySetSemiJoin;
|
|
36
|
+
constructor(scope,
|
|
37
|
+
/** The access leaf whose FilterInfo gets rewritten at runtime, verbatim. */
|
|
38
|
+
target,
|
|
39
|
+
/** Drained once into the key set. Uncorrelated + deterministic by rule gate. */
|
|
40
|
+
keySource,
|
|
41
|
+
/** Join key attribute on the target side. */
|
|
42
|
+
targetAttrId,
|
|
43
|
+
/** Join key attribute on the keySource side. */
|
|
44
|
+
keyAttrId, pushdown) {
|
|
45
|
+
// SeqScanNode only declares `estimatedRows` through RelationalPlanNode.
|
|
46
|
+
const targetRows = target.estimatedRows ?? 100;
|
|
47
|
+
const keyRows = keySource.estimatedRows ?? 100;
|
|
48
|
+
// Same self-cost the BloomJoinNode this replaces charged (build the key
|
|
49
|
+
// set, probe every target row). The saving is in the *target's* row
|
|
50
|
+
// count, which is not modelled at plan time — the seek-vs-scan decision
|
|
51
|
+
// is deferred to runtime by design; do not invent a discount here.
|
|
52
|
+
super(scope, hashJoinCost(keyRows, targetRows));
|
|
53
|
+
this.target = target;
|
|
54
|
+
this.keySource = keySource;
|
|
55
|
+
this.targetAttrId = targetAttrId;
|
|
56
|
+
this.keyAttrId = keyAttrId;
|
|
57
|
+
this.pushdown = pushdown;
|
|
58
|
+
}
|
|
59
|
+
// BinaryRelationalNode: probe side / build side, mirroring BloomJoinNode.
|
|
60
|
+
get left() { return this.target; }
|
|
61
|
+
get right() { return this.keySource; }
|
|
62
|
+
getAttributes() {
|
|
63
|
+
// Semi-join semantics: expose only the target side with unchanged ids
|
|
64
|
+
// (mirrors buildJoinAttributes for 'semi').
|
|
65
|
+
return this.target.getAttributes();
|
|
66
|
+
}
|
|
67
|
+
getType() {
|
|
68
|
+
// A row-subset of the target: columns and keys survive verbatim.
|
|
69
|
+
return this.target.getType();
|
|
70
|
+
}
|
|
71
|
+
getChildren() {
|
|
72
|
+
return [this.target, this.keySource];
|
|
73
|
+
}
|
|
74
|
+
getRelations() {
|
|
75
|
+
return [this.target, this.keySource];
|
|
76
|
+
}
|
|
77
|
+
get estimatedRows() {
|
|
78
|
+
return estimateJoinRows(this.left.estimatedRows, this.keySource.estimatedRows, 'semi');
|
|
79
|
+
}
|
|
80
|
+
computePhysical(childrenPhysical) {
|
|
81
|
+
const targetPhysical = childrenPhysical[0];
|
|
82
|
+
// The output is a row-subset of the target with identical attributes, so
|
|
83
|
+
// the target's row-level facts survive: FDs, equivalence classes,
|
|
84
|
+
// constant bindings, domain constraints, and INDs (all per-row claims
|
|
85
|
+
// that hold on any subset).
|
|
86
|
+
//
|
|
87
|
+
// Deliberately NOT propagated: `ordering`, `monotonicOn`, and
|
|
88
|
+
// `accessCapabilities`. Emission order depends on a decision made at
|
|
89
|
+
// runtime — seek order (index-key order on the seek column) when
|
|
90
|
+
// pushing, the leaf's native order when scanning — so claiming either
|
|
91
|
+
// would let a Sort be elided that the plan actually needs. This is safe
|
|
92
|
+
// with respect to what already ran: BloomJoinNode.computePhysical
|
|
93
|
+
// propagates no ordering or monotonicOn either, so nothing above the
|
|
94
|
+
// join this node replaces could have been built on the leaf's order —
|
|
95
|
+
// losing those properties is the status quo, not a regression.
|
|
96
|
+
return {
|
|
97
|
+
estimatedRows: this.estimatedRows,
|
|
98
|
+
fds: targetPhysical?.fds,
|
|
99
|
+
equivClasses: targetPhysical?.equivClasses,
|
|
100
|
+
constantBindings: targetPhysical?.constantBindings,
|
|
101
|
+
domainConstraints: targetPhysical?.domainConstraints,
|
|
102
|
+
inds: targetPhysical?.inds,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
withChildren(newChildren) {
|
|
106
|
+
if (newChildren.length !== 2) {
|
|
107
|
+
quereusError(`KeySetSemiJoinNode expects 2 children, got ${newChildren.length}`, StatusCode.INTERNAL);
|
|
108
|
+
}
|
|
109
|
+
const [newTarget, newKeySource] = newChildren;
|
|
110
|
+
if (!(newTarget instanceof SeqScanNode) && !(newTarget instanceof IndexScanNode)) {
|
|
111
|
+
quereusError('KeySetSemiJoinNode: first child must be a SeqScanNode or IndexScanNode', StatusCode.INTERNAL);
|
|
112
|
+
}
|
|
113
|
+
if (!isRelationalNode(newKeySource)) {
|
|
114
|
+
quereusError('KeySetSemiJoinNode: second child must be a RelationalPlanNode', StatusCode.INTERNAL);
|
|
115
|
+
}
|
|
116
|
+
if (newTarget === this.target && newKeySource === this.keySource) {
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
return new KeySetSemiJoinNode(this.scope, newTarget, newKeySource, this.targetAttrId, this.keyAttrId, this.pushdown);
|
|
120
|
+
}
|
|
121
|
+
toString() {
|
|
122
|
+
return `KEY SET SEMI JOIN on [${this.targetAttrId}=${this.keyAttrId}] via ${this.pushdown.indexName}`;
|
|
123
|
+
}
|
|
124
|
+
getLogicalAttributes() {
|
|
125
|
+
return {
|
|
126
|
+
joinType: 'semi',
|
|
127
|
+
algorithm: 'key-set',
|
|
128
|
+
indexName: this.pushdown.indexName,
|
|
129
|
+
seekColumnIndex: this.pushdown.seekColumnIndex,
|
|
130
|
+
maxKeys: this.pushdown.maxKeys,
|
|
131
|
+
breakEvenKeys: this.pushdown.breakEvenKeys,
|
|
132
|
+
targetRows: this.left.estimatedRows,
|
|
133
|
+
keySourceRows: this.keySource.estimatedRows,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=key-set-semi-join-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-set-semi-join-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/key-set-semi-join-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,8 @@ export declare class MergeJoinNode extends PlanNode implements BinaryRelationalN
|
|
|
44
44
|
preserveAttributeIds?: readonly Attribute[] | undefined);
|
|
45
45
|
private buildAttributes;
|
|
46
46
|
getAttributes(): Attribute[];
|
|
47
|
+
/** Pairs this join may mint value-level facts from — see {@link valueFactPairs}. */
|
|
48
|
+
private factPairs;
|
|
47
49
|
getType(): RelationType;
|
|
48
50
|
computePhysical(childrenPhysical: PhysicalProperties[]): Partial<PhysicalProperties>;
|
|
49
51
|
get estimatedRows(): number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-join-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/merge-join-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAC9K,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"merge-join-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/merge-join-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAC9K,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAkK,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpN;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,QAAS,YAAW,oBAAoB,EAAE,WAAW,EAAE,sBAAsB;IAQ9G,sCAAsC;aACtB,IAAI,EAAE,kBAAkB;IACxC,uCAAuC;aACvB,KAAK,EAAE,kBAAkB;aACzB,QAAQ,EAAE,QAAQ;IAClC,2DAA2D;aAC3C,SAAS,EAAE,SAAS,YAAY,EAAE;IAClD,qDAAqD;aACrC,iBAAiB,CAAC,EAAE,cAAc;IAClD,wDAAwD;aACxC,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE;IAjB5D,SAAkB,QAAQ,0BAA0B;IACpD,QAAQ,CAAC,aAAa,EAAG,IAAI,CAAU;IACvC,QAAQ,CAAC,wBAAwB,EAAG,IAAI,CAAU;IAClD,OAAO,CAAC,eAAe,CAAsB;gBAG5C,KAAK,EAAE,KAAK;IACZ,sCAAsC;IACtB,IAAI,EAAE,kBAAkB;IACxC,uCAAuC;IACvB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ;IAClC,2DAA2D;IAC3C,SAAS,EAAE,SAAS,YAAY,EAAE;IAClD,qDAAqD;IACrC,iBAAiB,CAAC,EAAE,cAAc,YAAA;IAClD,wDAAwD;IACxC,oBAAoB,CAAC,EAAE,SAAS,SAAS,EAAE,YAAA;IAc5D,OAAO,CAAC,eAAe;IAOvB,aAAa,IAAI,SAAS,EAAE;IAI5B,oFAAoF;IACpF,OAAO,CAAC,SAAS;IAIjB,OAAO,IAAI,YAAY;IAavB,eAAe,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiDpF,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,WAAW,IAAI,SAAS,QAAQ,EAAE;IAMlC,YAAY,IAAI,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAIjE,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAgCxD,WAAW,IAAI,QAAQ;IACvB,gBAAgB,IAAI,cAAc,GAAG,SAAS;IAC9C,aAAa,IAAI,kBAAkB;IACnC,cAAc,IAAI,kBAAkB;IACpC,eAAe,IAAI,SAAS,MAAM,EAAE,GAAG,SAAS;IAGhD,aAAa,IAAI,SAAS,cAAc,EAAE;IAIjC,QAAQ,IAAI,MAAM;IAKlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUxD"}
|
|
@@ -4,7 +4,7 @@ import { Cached } from '../../util/cached.js';
|
|
|
4
4
|
import { StatusCode } from '../../common/types.js';
|
|
5
5
|
import { quereusError } from '../../common/errors.js';
|
|
6
6
|
import { mergeJoinCost } from '../cost/index.js';
|
|
7
|
-
import { buildJoinAttributes, buildJoinRelationType, estimateJoinRows, propagateJoinMonotonicOn, propagateJoinFds, propagateJoinInds } from './join-utils.js';
|
|
7
|
+
import { buildJoinAttributes, buildJoinRelationType, describeEquiPairs, estimateJoinRows, propagateJoinMonotonicOn, propagateJoinFds, propagateJoinInds, valueFactPairs } from './join-utils.js';
|
|
8
8
|
import { analyzeJoinKeyCoverage, combineJoinKeys } from '../util/key-utils.js';
|
|
9
9
|
/**
|
|
10
10
|
* Physical plan node implementing a merge join.
|
|
@@ -60,12 +60,16 @@ export class MergeJoinNode extends PlanNode {
|
|
|
60
60
|
getAttributes() {
|
|
61
61
|
return this.attributesCache.value;
|
|
62
62
|
}
|
|
63
|
+
/** Pairs this join may mint value-level facts from — see {@link valueFactPairs}. */
|
|
64
|
+
factPairs() {
|
|
65
|
+
return valueFactPairs(this.equiPairs);
|
|
66
|
+
}
|
|
63
67
|
getType() {
|
|
64
68
|
const leftType = this.left.getType();
|
|
65
69
|
const rightType = this.right.getType();
|
|
66
70
|
const leftIndex = this.left.getAttributeIndex();
|
|
67
71
|
const rightIndex = this.right.getAttributeIndex();
|
|
68
|
-
const indexPairs = this.
|
|
72
|
+
const indexPairs = this.factPairs().map(p => ({
|
|
69
73
|
left: leftIndex.get(p.leftAttrId) ?? -1,
|
|
70
74
|
right: rightIndex.get(p.rightAttrId) ?? -1,
|
|
71
75
|
})).filter(p => p.left >= 0 && p.right >= 0);
|
|
@@ -78,8 +82,10 @@ export class MergeJoinNode extends PlanNode {
|
|
|
78
82
|
const leftAttrs = this.left.getAttributes();
|
|
79
83
|
const leftIndex = this.left.getAttributeIndex();
|
|
80
84
|
const rightIndex = this.right.getAttributeIndex();
|
|
81
|
-
// Map attribute-ID-based equi-pairs to column-index-based pairs
|
|
82
|
-
|
|
85
|
+
// Map attribute-ID-based equi-pairs to column-index-based pairs.
|
|
86
|
+
// Value-fact consumers only — see `factPairs`.
|
|
87
|
+
const factPairs = this.factPairs();
|
|
88
|
+
const indexPairs = factPairs.map(p => ({
|
|
83
89
|
left: leftIndex.get(p.leftAttrId) ?? -1,
|
|
84
90
|
right: rightIndex.get(p.rightAttrId) ?? -1,
|
|
85
91
|
}));
|
|
@@ -95,7 +101,9 @@ export class MergeJoinNode extends PlanNode {
|
|
|
95
101
|
estimatedRows: result.estimatedRows,
|
|
96
102
|
// MergeJoin physically guarantees monotonicOn on equi-pair attrIds when both
|
|
97
103
|
// inputs were monotonic on their respective X (the merge join's whole point).
|
|
98
|
-
|
|
104
|
+
// Value-discriminating pairs only: a NOCASE run collapses value-distinct
|
|
105
|
+
// rows into one key run, so per-side value monotonicity is not preserved.
|
|
106
|
+
monotonicOn: propagateJoinMonotonicOn(this.joinType, leftPhys, rightPhys, factPairs),
|
|
99
107
|
fds: fdResult.fds,
|
|
100
108
|
equivClasses: fdResult.equivClasses,
|
|
101
109
|
constantBindings: fdResult.constantBindings,
|
|
@@ -151,7 +159,7 @@ export class MergeJoinNode extends PlanNode {
|
|
|
151
159
|
return {
|
|
152
160
|
joinType: this.joinType,
|
|
153
161
|
algorithm: 'merge',
|
|
154
|
-
equiPairs: this.equiPairs
|
|
162
|
+
equiPairs: describeEquiPairs(this.equiPairs),
|
|
155
163
|
hasResidual: !!this.residualCondition,
|
|
156
164
|
leftRows: this.left.estimatedRows,
|
|
157
165
|
rightRows: this.right.estimatedRows,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-join-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/merge-join-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAoH,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG9K,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,iBAAiB,EAAqB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"merge-join-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/merge-join-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,7 @@ export declare enum PlanNodeType {
|
|
|
50
50
|
NestedLoopJoin = "NestedLoopJoin",
|
|
51
51
|
HashJoin = "HashJoin",
|
|
52
52
|
MergeJoin = "MergeJoin",
|
|
53
|
+
KeySetSemiJoin = "KeySetSemiJoin",// Semi join that materializes the key set, then multi-seeks the target with it
|
|
53
54
|
AsofScan = "AsofScan",// Streaming asof join: per left row, latest right with key ≤ left's
|
|
54
55
|
OrdinalSlice = "OrdinalSlice",// O(log N) seek to kth row over a monotonic, ordinal-seek-capable leaf
|
|
55
56
|
Materialize = "Materialize",// Materialize intermediate results
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-node-type.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node-type.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IAEtB,KAAK,UAAU;IACf,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,uBAAuB,4BAA4B;IACnD,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,UAAU,eAAe;IAGzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,YAAY,iBAAiB,CAAG,+EAA+E;IAC/G,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,aAAa,kBAAkB,CAAG,sDAAsD;IACxF,aAAa,kBAAkB;IAG/B,OAAO,YAAY,CAAe,2BAA2B;IAC7D,SAAS,cAAc,CAAW,sBAAsB;IACxD,SAAS,cAAc,CAAW,sBAAsB;IACxD,WAAW,gBAAgB,CAAO,+CAA+C;IACjF,aAAa,kBAAkB,CAAG,2DAA2D;IAC7F,WAAW,gBAAgB,CAAO,kCAAkC;IACpE,eAAe,oBAAoB,CAAG,6BAA6B;IACnE,aAAa,kBAAkB,CAAO,0BAA0B;IAChE,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,QAAQ,aAAa,CAAa,oEAAoE;IACtG,YAAY,iBAAiB,CAAK,uEAAuE;IACzG,WAAW,gBAAgB,CAAO,mCAAmC;IAGrE,OAAO,YAAY;IACnB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IACjD,iBAAiB,sBAAsB;IAGvC,KAAK,UAAU,CAAG,kDAAkD;IACpE,YAAY,iBAAiB,CAAG,sFAAsF;IACtH,mBAAmB,wBAAwB,CAAG,2HAA2H;IACzK,MAAM,WAAW;IAClB,YAAY,iBAAiB;IAC5B,YAAY,iBAAiB,CAAG,0EAA0E;IAC1G,SAAS,cAAc,CAAG,0BAA0B;IACpD,iBAAiB,sBAAsB;IAGvC,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IAGvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAG/B,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IAGb,SAAS,cAAc;CACxB"}
|
|
1
|
+
{"version":3,"file":"plan-node-type.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node-type.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IAEtB,KAAK,UAAU;IACf,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,uBAAuB,4BAA4B;IACnD,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,UAAU,eAAe;IAGzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,YAAY,iBAAiB,CAAG,+EAA+E;IAC/G,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,aAAa,kBAAkB,CAAG,sDAAsD;IACxF,aAAa,kBAAkB;IAG/B,OAAO,YAAY,CAAe,2BAA2B;IAC7D,SAAS,cAAc,CAAW,sBAAsB;IACxD,SAAS,cAAc,CAAW,sBAAsB;IACxD,WAAW,gBAAgB,CAAO,+CAA+C;IACjF,aAAa,kBAAkB,CAAG,2DAA2D;IAC7F,WAAW,gBAAgB,CAAO,kCAAkC;IACpE,eAAe,oBAAoB,CAAG,6BAA6B;IACnE,aAAa,kBAAkB,CAAO,0BAA0B;IAChE,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,cAAc,mBAAmB,CAAG,+EAA+E;IAEnH,QAAQ,aAAa,CAAa,oEAAoE;IACtG,YAAY,iBAAiB,CAAK,uEAAuE;IACzG,WAAW,gBAAgB,CAAO,mCAAmC;IAGrE,OAAO,YAAY;IACnB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IACjD,iBAAiB,sBAAsB;IAGvC,KAAK,UAAU,CAAG,kDAAkD;IACpE,YAAY,iBAAiB,CAAG,sFAAsF;IACtH,mBAAmB,wBAAwB,CAAG,2HAA2H;IACzK,MAAM,WAAW;IAClB,YAAY,iBAAiB;IAC5B,YAAY,iBAAiB,CAAG,0EAA0E;IAC1G,SAAS,cAAc,CAAG,0BAA0B;IACpD,iBAAiB,sBAAsB;IAGvC,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IAGvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAG/B,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IAGb,SAAS,cAAc;CACxB"}
|
|
@@ -54,6 +54,7 @@ export var PlanNodeType;
|
|
|
54
54
|
PlanNodeType["NestedLoopJoin"] = "NestedLoopJoin";
|
|
55
55
|
PlanNodeType["HashJoin"] = "HashJoin";
|
|
56
56
|
PlanNodeType["MergeJoin"] = "MergeJoin";
|
|
57
|
+
PlanNodeType["KeySetSemiJoin"] = "KeySetSemiJoin";
|
|
57
58
|
PlanNodeType["AsofScan"] = "AsofScan";
|
|
58
59
|
PlanNodeType["OrdinalSlice"] = "OrdinalSlice";
|
|
59
60
|
PlanNodeType["Materialize"] = "Materialize";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-node-type.js","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"plan-node-type.js","sourceRoot":"","sources":["../../../../src/planner/nodes/plan-node-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAmHX;AAnHD,WAAY,YAAY;IACtB,+BAA+B;IAC/B,+BAAe,CAAA;IACf,iDAAiC,CAAA;IACjC,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,2CAA2B,CAAA;IAC3B,6BAAa,CAAA;IACb,6CAA6B,CAAA;IAC7B,2BAAW,CAAA;IACX,6CAA6B,CAAA;IAC7B,mEAAmD,CAAA;IACnD,yBAAS,CAAA;IACT,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IAEzB,gBAAgB;IAChB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,iDAAiC,CAAA;IACjC,iCAAiB,CAAA;IACjB,6CAA6B,CAAA;IAC7B,mDAAmC,CAAA;IACnC,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IACvB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,iEAAiD,CAAA;IACjD,mEAAmD,CAAA;IACnD,6DAA6C,CAAA;IAC7C,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,yCAAyB,CAAA;IACzB,+CAA+B,CAAA;IAC/B,+CAA+B,CAAA;IAE/B,kCAAkC;IAClC,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,2CAA2B,CAAA;IAC3B,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,iDAAiC,CAAA;IACjC,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,iDAAiC,CAAA;IAEjC,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,2CAA2B,CAAA;IAE3B,0BAA0B;IAC1B,mCAAmB,CAAA;IACnB,mDAAmC,CAAA;IACnC,yDAAyC,CAAA;IACzC,yCAAyB,CAAA;IACzB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,yDAAyC,CAAA;IACzC,yDAAyC,CAAA;IACzC,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,6BAAa,CAAA;IACb,iDAAiC,CAAA;IACjC,iEAAiD,CAAA;IACjD,uDAAuC,CAAA;IAEvC,2BAA2B;IAC3B,+BAAe,CAAA;IACf,6CAA6B,CAAA;IAC7B,2DAA2C,CAAA;IAC3C,iCAAiB,CAAA;IAClB,6CAA6B,CAAA;IAC5B,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,uDAAuC,CAAA;IAEvC,sBAAsB;IACtB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IAEvB,UAAU;IACV,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,+CAA+B,CAAA;IAC/B,2CAA2B,CAAA;IAC3B,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAE/B,kBAAkB;IAClB,+BAAe,CAAA;IACf,+CAA+B,CAAA;IAC/B,2CAA2B,CAAA;IAC3B,qDAAqC,CAAA;IACrC,6BAAa,CAAA;IAEb,oBAAoB;IACpB,uCAAuB,CAAA;AACzB,CAAC,EAnHW,YAAY,KAAZ,YAAY,QAmHvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/scalar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAuC,MAAM,gBAAgB,CAAC;AAC9S,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/scalar.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,9 @@ import { formatExpression, formatScalarType } from "../../util/plan-formatter.js
|
|
|
5
5
|
import { quereusError } from '../../common/errors.js';
|
|
6
6
|
import { StatusCode } from '../../common/types.js';
|
|
7
7
|
import { NULL_TYPE, INTEGER_TYPE, REAL_TYPE, TEXT_TYPE, BLOB_TYPE, BOOLEAN_TYPE } from "../../types/builtin-types.js";
|
|
8
|
+
import { JSON_TYPE } from "../../types/json-type.js";
|
|
8
9
|
import { typeRegistry } from "../../types/registry.js";
|
|
10
|
+
import { castCanYieldNull } from "../../types/cast-semantics.js";
|
|
9
11
|
import { collationConflictError, isComparisonOperator, mergePropagatedCollation, resolveComparisonCollation } from "../analysis/comparison-collation.js";
|
|
10
12
|
export class UnaryOpNode extends PlanNode {
|
|
11
13
|
scope;
|
|
@@ -391,6 +393,18 @@ export class LiteralNode extends PlanNode {
|
|
|
391
393
|
isReadOnly: true,
|
|
392
394
|
};
|
|
393
395
|
}
|
|
396
|
+
// Native object/array: the only logical type whose physical representation is
|
|
397
|
+
// PhysicalType.OBJECT is JSON, so an untyped object-valued literal is a JSON
|
|
398
|
+
// document. Reached when a rule rebuilds a literal from a plain constant value
|
|
399
|
+
// (e.g. an index seek key) without threading the source ScalarType through.
|
|
400
|
+
if (typeof value === 'object') {
|
|
401
|
+
return {
|
|
402
|
+
typeClass: 'scalar',
|
|
403
|
+
logicalType: JSON_TYPE,
|
|
404
|
+
nullable: false,
|
|
405
|
+
isReadOnly: true,
|
|
406
|
+
};
|
|
407
|
+
}
|
|
394
408
|
quereusError(`Unknown literal type ${typeof value}`, StatusCode.INTERNAL);
|
|
395
409
|
}
|
|
396
410
|
getValue() {
|
|
@@ -607,12 +621,21 @@ export class CastNode extends PlanNode {
|
|
|
607
621
|
generateType = () => {
|
|
608
622
|
const operandType = this.operand.getType();
|
|
609
623
|
const targetType = this.expression.targetType;
|
|
610
|
-
//
|
|
611
|
-
|
|
624
|
+
// Resolve through inferType, not getTypeOrDefault: this is the single resolution
|
|
625
|
+
// of the target name — `runtime/emit/cast.ts` reads it back off this node — and
|
|
626
|
+
// the two lookups disagree for any name that misses the registry but matches an
|
|
627
|
+
// affinity rule (`cast(5 as nvarchar)` produces TEXT, not BLOB).
|
|
628
|
+
const logicalType = typeRegistry.inferType(targetType);
|
|
612
629
|
return {
|
|
613
630
|
typeClass: 'scalar',
|
|
614
631
|
logicalType,
|
|
615
|
-
|
|
632
|
+
// A converting CAST is nullable even from a non-null operand: `cast('' as integer)`
|
|
633
|
+
// is null because INTEGER's parse maps the empty string to null, and a conversion
|
|
634
|
+
// that fails outright yields null rather than the unconverted operand. A cast to
|
|
635
|
+
// the operand's own type converts nothing, and TEXT/BLOB convert every non-null
|
|
636
|
+
// operand (`castCanYieldNull`), so both keep the operand's nullability.
|
|
637
|
+
nullable: operandType.nullable
|
|
638
|
+
|| (logicalType !== operandType.logicalType && castCanYieldNull(logicalType)),
|
|
616
639
|
isReadOnly: operandType.isReadOnly,
|
|
617
640
|
collationName: logicalType.isTextual ? operandType.collationName : undefined,
|
|
618
641
|
collationSource: logicalType.isTextual ? operandType.collationSource : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../../../../src/planner/nodes/scalar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../../../../src/planner/nodes/scalar.ts"],"names":[],"mappings":"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"}
|