@quereus/quereus 4.3.1 → 4.4.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 +25 -7
- package/dist/src/common/types.d.ts +9 -59
- package/dist/src/common/types.d.ts.map +1 -1
- package/dist/src/common/types.js.map +1 -1
- package/dist/src/core/database-assertions.d.ts +2 -2
- package/dist/src/core/database-assertions.d.ts.map +1 -1
- package/dist/src/core/database-assertions.js +4 -3
- package/dist/src/core/database-assertions.js.map +1 -1
- package/dist/src/core/database-external-changes.d.ts +3 -3
- package/dist/src/core/database-external-changes.d.ts.map +1 -1
- package/dist/src/core/database-external-changes.js +13 -10
- package/dist/src/core/database-external-changes.js.map +1 -1
- package/dist/src/core/database-internal.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-analysis.d.ts +199 -0
- package/dist/src/core/database-materialized-views-analysis.d.ts.map +1 -0
- package/dist/src/core/database-materialized-views-analysis.js +502 -0
- package/dist/src/core/database-materialized-views-analysis.js.map +1 -0
- package/dist/src/core/database-materialized-views-apply.d.ts +422 -0
- package/dist/src/core/database-materialized-views-apply.d.ts.map +1 -0
- package/dist/src/core/database-materialized-views-apply.js +929 -0
- package/dist/src/core/database-materialized-views-apply.js.map +1 -0
- package/dist/src/core/database-materialized-views-plan-builders.d.ts +267 -0
- package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -0
- package/dist/src/core/database-materialized-views-plan-builders.js +1423 -0
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -0
- package/dist/src/core/database-materialized-views-plans.d.ts +641 -0
- package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -0
- package/dist/src/core/database-materialized-views-plans.js +13 -0
- package/dist/src/core/database-materialized-views-plans.js.map +1 -0
- package/dist/src/core/database-materialized-views.d.ts +108 -860
- package/dist/src/core/database-materialized-views.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.js +212 -2165
- package/dist/src/core/database-materialized-views.js.map +1 -1
- package/dist/src/core/database-transaction.d.ts +10 -1
- package/dist/src/core/database-transaction.d.ts.map +1 -1
- package/dist/src/core/database-transaction.js +16 -4
- package/dist/src/core/database-transaction.js.map +1 -1
- package/dist/src/core/database-watchers.d.ts.map +1 -1
- package/dist/src/core/database-watchers.js +2 -1
- package/dist/src/core/database-watchers.js.map +1 -1
- package/dist/src/core/database.d.ts +99 -13
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +270 -50
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/derived-row-validator.d.ts +1 -1
- package/dist/src/core/derived-row-validator.d.ts.map +1 -1
- package/dist/src/core/derived-row-validator.js +5 -3
- package/dist/src/core/derived-row-validator.js.map +1 -1
- package/dist/src/core/statement.d.ts +8 -0
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +98 -18
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/emit/ast-stringify.d.ts.map +1 -1
- package/dist/src/emit/ast-stringify.js +24 -13
- package/dist/src/emit/ast-stringify.js.map +1 -1
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +127 -21
- package/dist/src/func/builtins/aggregate.js.map +1 -1
- package/dist/src/func/builtins/explain.d.ts.map +1 -1
- package/dist/src/func/builtins/explain.js +2 -1
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/func/builtins/json.d.ts.map +1 -1
- package/dist/src/func/builtins/json.js +2 -1
- package/dist/src/func/builtins/json.js.map +1 -1
- package/dist/src/func/builtins/mutation.d.ts.map +1 -1
- package/dist/src/func/builtins/mutation.js +3 -2
- package/dist/src/func/builtins/mutation.js.map +1 -1
- package/dist/src/func/registration.d.ts +6 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +16 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +16 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +33 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/ast.d.ts +2 -2
- package/dist/src/parser/lexer.d.ts +11 -1
- package/dist/src/parser/lexer.d.ts.map +1 -1
- package/dist/src/parser/lexer.js +40 -34
- package/dist/src/parser/lexer.js.map +1 -1
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +16 -9
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/analysis/authored-inverse.js +1 -1
- package/dist/src/planner/analysis/comparison-collation.d.ts +52 -0
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +84 -7
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +64 -17
- package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.d.ts +1 -1
- package/dist/src/planner/analysis/coverage-prover.js +1 -1
- package/dist/src/planner/analysis/equi-correlation.d.ts +26 -0
- package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -0
- package/dist/src/planner/analysis/equi-correlation.js +62 -0
- package/dist/src/planner/analysis/equi-correlation.js.map +1 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +54 -18
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +86 -42
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
- package/dist/src/planner/analysis/sat-checker.d.ts +8 -1
- package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
- package/dist/src/planner/analysis/sat-checker.js +117 -22
- package/dist/src/planner/analysis/sat-checker.js.map +1 -1
- package/dist/src/planner/analysis/scalar-invertibility.d.ts +13 -4
- package/dist/src/planner/analysis/scalar-invertibility.d.ts.map +1 -1
- package/dist/src/planner/analysis/scalar-invertibility.js +12 -3
- package/dist/src/planner/analysis/scalar-invertibility.js.map +1 -1
- package/dist/src/planner/analysis/scalar-subqueries.d.ts +28 -0
- package/dist/src/planner/analysis/scalar-subqueries.d.ts.map +1 -0
- package/dist/src/planner/analysis/scalar-subqueries.js +60 -0
- package/dist/src/planner/analysis/scalar-subqueries.js.map +1 -0
- package/dist/src/planner/analysis/update-lineage.d.ts +1 -1
- package/dist/src/planner/analysis/update-lineage.js +1 -1
- package/dist/src/planner/analysis/update-lineage.js.map +1 -1
- package/dist/src/planner/analysis/view-complement.d.ts +2 -2
- package/dist/src/planner/building/delete.js +2 -2
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/dml-target.d.ts +2 -2
- package/dist/src/planner/building/dml-target.js +2 -2
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +53 -2
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/schema-resolution.d.ts +3 -0
- package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
- package/dist/src/planner/building/schema-resolution.js +4 -5
- package/dist/src/planner/building/schema-resolution.js.map +1 -1
- package/dist/src/planner/building/select.d.ts.map +1 -1
- package/dist/src/planner/building/select.js +18 -4
- package/dist/src/planner/building/select.js.map +1 -1
- package/dist/src/planner/building/update.js +2 -2
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/building/view-mutation-builder.js +7 -7
- package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
- package/dist/src/planner/building/with.d.ts.map +1 -1
- package/dist/src/planner/building/with.js +5 -8
- package/dist/src/planner/building/with.js.map +1 -1
- package/dist/src/planner/cache/materialization-advisory.d.ts +34 -2
- package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
- package/dist/src/planner/cache/materialization-advisory.js +185 -42
- package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
- package/dist/src/planner/cache/reference-graph.d.ts +14 -5
- package/dist/src/planner/cache/reference-graph.d.ts.map +1 -1
- package/dist/src/planner/cache/reference-graph.js +31 -39
- package/dist/src/planner/cache/reference-graph.js.map +1 -1
- package/dist/src/planner/cost/index.d.ts +30 -5
- package/dist/src/planner/cost/index.d.ts.map +1 -1
- package/dist/src/planner/cost/index.js +26 -0
- package/dist/src/planner/cost/index.js.map +1 -1
- package/dist/src/planner/debug.d.ts +3 -2
- package/dist/src/planner/debug.d.ts.map +1 -1
- package/dist/src/planner/debug.js +9 -3
- package/dist/src/planner/debug.js.map +1 -1
- package/dist/src/planner/framework/characteristics.d.ts +46 -19
- package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
- package/dist/src/planner/framework/characteristics.js +50 -134
- package/dist/src/planner/framework/characteristics.js.map +1 -1
- package/dist/src/planner/framework/context.d.ts +8 -44
- package/dist/src/planner/framework/context.d.ts.map +1 -1
- package/dist/src/planner/framework/context.js +0 -91
- package/dist/src/planner/framework/context.js.map +1 -1
- package/dist/src/planner/framework/pass.d.ts +7 -0
- package/dist/src/planner/framework/pass.d.ts.map +1 -1
- package/dist/src/planner/framework/pass.js +84 -0
- package/dist/src/planner/framework/pass.js.map +1 -1
- package/dist/src/planner/framework/registry.d.ts +13 -42
- package/dist/src/planner/framework/registry.d.ts.map +1 -1
- package/dist/src/planner/framework/registry.js +14 -182
- package/dist/src/planner/framework/registry.js.map +1 -1
- package/dist/src/planner/mutation/backward-body.d.ts +2 -2
- package/dist/src/planner/mutation/cte-flatten.js +1 -1
- package/dist/src/planner/mutation/decomposition.d.ts +2 -2
- package/dist/src/planner/mutation/decomposition.js +1 -1
- package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.js +2 -1
- package/dist/src/planner/mutation/lens-enforcement.js.map +1 -1
- package/dist/src/planner/mutation/multi-source.d.ts +8 -8
- package/dist/src/planner/mutation/multi-source.js +11 -11
- package/dist/src/planner/mutation/multi-source.js.map +1 -1
- package/dist/src/planner/mutation/propagate.d.ts +1 -1
- package/dist/src/planner/mutation/propagate.js +1 -1
- package/dist/src/planner/mutation/scope-transform.d.ts +2 -2
- package/dist/src/planner/mutation/scope-transform.js +3 -3
- package/dist/src/planner/mutation/scope-transform.js.map +1 -1
- package/dist/src/planner/mutation/set-op.d.ts +1 -1
- package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
- package/dist/src/planner/mutation/set-op.js +3 -2
- package/dist/src/planner/mutation/set-op.js.map +1 -1
- package/dist/src/planner/mutation/single-source.d.ts +3 -3
- package/dist/src/planner/mutation/single-source.js +9 -9
- package/dist/src/planner/mutation/single-source.js.map +1 -1
- package/dist/src/planner/nodes/aggregate-function.d.ts +3 -1
- package/dist/src/planner/nodes/aggregate-function.d.ts.map +1 -1
- package/dist/src/planner/nodes/aggregate-function.js +1 -0
- package/dist/src/planner/nodes/aggregate-function.js.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.d.ts +1 -0
- package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.js +8 -1
- package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
- package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/alias-node.js +3 -1
- package/dist/src/planner/nodes/alias-node.js.map +1 -1
- package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/asof-scan-node.js +3 -2
- package/dist/src/planner/nodes/asof-scan-node.js.map +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.d.ts +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.js +5 -2
- package/dist/src/planner/nodes/asserted-keys-node.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 +3 -1
- package/dist/src/planner/nodes/async-gather-node.js.map +1 -1
- package/dist/src/planner/nodes/block.js +3 -3
- package/dist/src/planner/nodes/block.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 +5 -1
- package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
- package/dist/src/planner/nodes/cache-node.d.ts +19 -2
- package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cache-node.js +43 -3
- package/dist/src/planner/nodes/cache-node.js.map +1 -1
- package/dist/src/planner/nodes/cte-node.d.ts +16 -1
- package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cte-node.js +16 -3
- package/dist/src/planner/nodes/cte-node.js.map +1 -1
- package/dist/src/planner/nodes/distinct-node.js +3 -3
- package/dist/src/planner/nodes/distinct-node.js.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.d.ts +21 -0
- 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/envelope-scan-node.d.ts +1 -1
- package/dist/src/planner/nodes/envelope-scan-node.js +1 -1
- package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/fanout-lookup-join-node.js +4 -2
- package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -1
- package/dist/src/planner/nodes/filter.d.ts +10 -2
- package/dist/src/planner/nodes/filter.d.ts.map +1 -1
- package/dist/src/planner/nodes/filter.js +81 -14
- package/dist/src/planner/nodes/filter.js.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.d.ts +12 -1
- package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.js +28 -1
- package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/internal-recursive-cte-ref-node.d.ts +3 -1
- package/dist/src/planner/nodes/internal-recursive-cte-ref-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/internal-recursive-cte-ref-node.js +1 -0
- package/dist/src/planner/nodes/internal-recursive-cte-ref-node.js.map +1 -1
- package/dist/src/planner/nodes/join-node.d.ts +3 -1
- package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-node.js +5 -5
- package/dist/src/planner/nodes/join-node.js.map +1 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js +4 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
- package/dist/src/planner/nodes/limit-offset.d.ts +1 -0
- package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
- package/dist/src/planner/nodes/limit-offset.js +4 -3
- package/dist/src/planner/nodes/limit-offset.js.map +1 -1
- 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 +6 -1
- package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.js +3 -1
- package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
- package/dist/src/planner/nodes/plan-node.d.ts +68 -5
- package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node.js +137 -24
- package/dist/src/planner/nodes/plan-node.js.map +1 -1
- package/dist/src/planner/nodes/project-node.d.ts +3 -2
- package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/project-node.js +1 -0
- package/dist/src/planner/nodes/project-node.js.map +1 -1
- package/dist/src/planner/nodes/recursive-cte-node.d.ts +30 -1
- package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/recursive-cte-node.js +38 -5
- package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts +5 -1
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +3 -0
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/nodes/remote-query-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/remote-query-node.js +3 -1
- package/dist/src/planner/nodes/remote-query-node.js.map +1 -1
- package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/retrieve-node.js +3 -1
- package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.js +3 -1
- package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
- package/dist/src/planner/nodes/sink-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/sink-node.js +3 -1
- package/dist/src/planner/nodes/sink-node.js.map +1 -1
- package/dist/src/planner/nodes/sort.d.ts +2 -1
- package/dist/src/planner/nodes/sort.d.ts.map +1 -1
- package/dist/src/planner/nodes/sort.js +9 -5
- package/dist/src/planner/nodes/sort.js.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.d.ts +12 -1
- package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.js +32 -3
- package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts +2 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +2 -0
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/nodes/view-mutation-node.d.ts +2 -2
- package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/view-mutation-node.js +5 -1
- package/dist/src/planner/nodes/view-mutation-node.js.map +1 -1
- package/dist/src/planner/nodes/window-function.d.ts +3 -1
- package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-function.js +1 -0
- package/dist/src/planner/nodes/window-function.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts +52 -8
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +1014 -895
- package/dist/src/planner/optimizer.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 +235 -202
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-cte-optimization.js +8 -1
- package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +7 -0
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +14 -1
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts +2 -2
- 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 +55 -56
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js +6 -0
- package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts +25 -0
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -0
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +176 -0
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -0
- package/dist/src/planner/rules/cache/rule-scalar-cse.d.ts +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-cse.js +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +29 -0
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -0
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +66 -0
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -0
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts +1 -1
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +1 -1
- 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 +1 -54
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
- package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.d.ts +1 -1
- package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.js +1 -1
- package/dist/src/planner/rules/join/rule-join-elimination.d.ts +1 -1
- package/dist/src/planner/rules/join/rule-join-elimination.js +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +5 -6
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.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-contradiction.d.ts +2 -2
- package/dist/src/planner/rules/predicate/rule-filter-contradiction.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-contradiction.js +4 -3
- package/dist/src/planner/rules/predicate/rule-filter-contradiction.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +19 -0
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -0
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +48 -0
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -0
- package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.js +12 -1
- package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.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 +22 -20
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/rules/shared/index-style-context.d.ts +39 -0
- package/dist/src/planner/rules/shared/index-style-context.d.ts.map +1 -0
- package/dist/src/planner/rules/shared/index-style-context.js +26 -0
- package/dist/src/planner/rules/shared/index-style-context.js.map +1 -0
- package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts +1 -1
- package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +1 -1
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts +191 -0
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts.map +1 -0
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +623 -0
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -0
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts +10 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +242 -51
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
- package/dist/src/planner/stats/analyze.d.ts.map +1 -1
- package/dist/src/planner/stats/analyze.js +2 -20
- package/dist/src/planner/stats/analyze.js.map +1 -1
- package/dist/src/planner/stats/histogram.d.ts.map +1 -1
- package/dist/src/planner/stats/histogram.js +4 -0
- package/dist/src/planner/stats/histogram.js.map +1 -1
- package/dist/src/planner/util/fd-utils.d.ts +2 -3
- package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
- package/dist/src/planner/util/fd-utils.js +2 -3
- package/dist/src/planner/util/fd-utils.js.map +1 -1
- package/dist/src/planner/validation/plan-validator.d.ts +16 -0
- package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
- package/dist/src/planner/validation/plan-validator.js +36 -0
- package/dist/src/planner/validation/plan-validator.js.map +1 -1
- package/dist/src/runtime/async-util.d.ts +26 -0
- package/dist/src/runtime/async-util.d.ts.map +1 -1
- package/dist/src/runtime/async-util.js +139 -55
- package/dist/src/runtime/async-util.js.map +1 -1
- package/dist/src/runtime/cache/shared-cache.d.ts +7 -0
- package/dist/src/runtime/cache/shared-cache.d.ts.map +1 -1
- package/dist/src/runtime/cache/shared-cache.js +34 -1
- package/dist/src/runtime/cache/shared-cache.js.map +1 -1
- package/dist/src/runtime/context-helpers.d.ts +32 -4
- package/dist/src/runtime/context-helpers.d.ts.map +1 -1
- package/dist/src/runtime/context-helpers.js +26 -9
- package/dist/src/runtime/context-helpers.js.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +2 -1
- package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
- package/dist/src/runtime/emission-context.d.ts +27 -3
- package/dist/src/runtime/emission-context.d.ts.map +1 -1
- package/dist/src/runtime/emission-context.js +38 -7
- package/dist/src/runtime/emission-context.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +7 -1
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/aggregate.d.ts +2 -3
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +23 -28
- 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 +98 -9
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
- package/dist/src/runtime/emit/analyze.js +2 -1
- package/dist/src/runtime/emit/analyze.js.map +1 -1
- package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/asof-scan.js +13 -10
- package/dist/src/runtime/emit/asof-scan.js.map +1 -1
- package/dist/src/runtime/emit/async-gather.d.ts.map +1 -1
- package/dist/src/runtime/emit/async-gather.js +4 -3
- package/dist/src/runtime/emit/async-gather.js.map +1 -1
- package/dist/src/runtime/emit/between.d.ts.map +1 -1
- package/dist/src/runtime/emit/between.js +2 -1
- 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 +122 -14
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/block.d.ts.map +1 -1
- package/dist/src/runtime/emit/block.js +2 -1
- package/dist/src/runtime/emit/block.js.map +1 -1
- package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/bloom-join.js +20 -8
- package/dist/src/runtime/emit/bloom-join.js.map +1 -1
- package/dist/src/runtime/emit/cache.d.ts +7 -3
- package/dist/src/runtime/emit/cache.d.ts.map +1 -1
- package/dist/src/runtime/emit/cache.js +25 -7
- package/dist/src/runtime/emit/cache.js.map +1 -1
- package/dist/src/runtime/emit/case.d.ts.map +1 -1
- package/dist/src/runtime/emit/case.js +66 -45
- 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 +2 -1
- 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 +13 -7
- package/dist/src/runtime/emit/constraint-check.js.map +1 -1
- package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-assertion.js +2 -1
- package/dist/src/runtime/emit/create-assertion.js.map +1 -1
- package/dist/src/runtime/emit/create-index.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-index.js +12 -1
- package/dist/src/runtime/emit/create-index.js.map +1 -1
- package/dist/src/runtime/emit/create-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-table.js +12 -1
- package/dist/src/runtime/emit/create-table.js.map +1 -1
- package/dist/src/runtime/emit/cte-reference.d.ts.map +1 -1
- package/dist/src/runtime/emit/cte-reference.js +2 -1
- package/dist/src/runtime/emit/cte-reference.js.map +1 -1
- package/dist/src/runtime/emit/cte.d.ts.map +1 -1
- package/dist/src/runtime/emit/cte.js +45 -21
- package/dist/src/runtime/emit/cte.js.map +1 -1
- package/dist/src/runtime/emit/ddl-transaction-policy.d.ts +50 -0
- package/dist/src/runtime/emit/ddl-transaction-policy.d.ts.map +1 -0
- package/dist/src/runtime/emit/ddl-transaction-policy.js +69 -0
- package/dist/src/runtime/emit/ddl-transaction-policy.js.map +1 -0
- package/dist/src/runtime/emit/delete.d.ts.map +1 -1
- package/dist/src/runtime/emit/delete.js +2 -1
- package/dist/src/runtime/emit/delete.js.map +1 -1
- package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
- package/dist/src/runtime/emit/distinct.js +2 -1
- 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 +138 -74
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/drop-assertion.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-assertion.js +2 -1
- package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
- package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-index.js +17 -1
- package/dist/src/runtime/emit/drop-index.js.map +1 -1
- package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-table.js +11 -1
- package/dist/src/runtime/emit/drop-table.js.map +1 -1
- package/dist/src/runtime/emit/eager-prefetch.d.ts.map +1 -1
- package/dist/src/runtime/emit/eager-prefetch.js +2 -1
- package/dist/src/runtime/emit/eager-prefetch.js.map +1 -1
- package/dist/src/runtime/emit/envelope-scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/envelope-scan.js +2 -1
- package/dist/src/runtime/emit/envelope-scan.js.map +1 -1
- package/dist/src/runtime/emit/fanout-lookup-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/fanout-lookup-join.js +3 -2
- package/dist/src/runtime/emit/fanout-lookup-join.js.map +1 -1
- package/dist/src/runtime/emit/filter.d.ts.map +1 -1
- package/dist/src/runtime/emit/filter.js +8 -3
- 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 -11
- 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 +2 -1
- package/dist/src/runtime/emit/insert.js.map +1 -1
- package/dist/src/runtime/emit/join.d.ts.map +1 -1
- package/dist/src/runtime/emit/join.js +20 -6
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/limit-offset.d.ts.map +1 -1
- package/dist/src/runtime/emit/limit-offset.js +2 -1
- package/dist/src/runtime/emit/limit-offset.js.map +1 -1
- package/dist/src/runtime/emit/literal.d.ts.map +1 -1
- package/dist/src/runtime/emit/literal.js +2 -1
- package/dist/src/runtime/emit/literal.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +22 -0
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +128 -16
- 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 +6 -0
- 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 +14 -4
- package/dist/src/runtime/emit/merge-join.js.map +1 -1
- package/dist/src/runtime/emit/ordinal-slice.d.ts.map +1 -1
- package/dist/src/runtime/emit/ordinal-slice.js +2 -1
- package/dist/src/runtime/emit/ordinal-slice.js.map +1 -1
- package/dist/src/runtime/emit/pragma.d.ts.map +1 -1
- package/dist/src/runtime/emit/pragma.js +2 -1
- package/dist/src/runtime/emit/pragma.js.map +1 -1
- package/dist/src/runtime/emit/project.d.ts.map +1 -1
- package/dist/src/runtime/emit/project.js +7 -2
- package/dist/src/runtime/emit/project.js.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.js +61 -2
- package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
- package/dist/src/runtime/emit/returning.d.ts.map +1 -1
- package/dist/src/runtime/emit/returning.js +7 -2
- package/dist/src/runtime/emit/returning.js.map +1 -1
- package/dist/src/runtime/emit/scalar-function.d.ts.map +1 -1
- package/dist/src/runtime/emit/scalar-function.js +2 -1
- package/dist/src/runtime/emit/scalar-function.js.map +1 -1
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +55 -17
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.js +6 -5
- package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
- package/dist/src/runtime/emit/sequencing.d.ts.map +1 -1
- package/dist/src/runtime/emit/sequencing.js +2 -1
- package/dist/src/runtime/emit/sequencing.js.map +1 -1
- package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-operation.js +6 -5
- package/dist/src/runtime/emit/set-operation.js.map +1 -1
- package/dist/src/runtime/emit/sink.d.ts.map +1 -1
- package/dist/src/runtime/emit/sink.js +2 -1
- package/dist/src/runtime/emit/sink.js.map +1 -1
- package/dist/src/runtime/emit/sort.d.ts.map +1 -1
- package/dist/src/runtime/emit/sort.js +2 -1
- 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 +42 -23
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
- package/dist/src/runtime/emit/table-valued-function.js +2 -1
- package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.js +2 -1
- package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
- package/dist/src/runtime/emit/transaction.d.ts.map +1 -1
- package/dist/src/runtime/emit/transaction.js +2 -1
- package/dist/src/runtime/emit/transaction.js.map +1 -1
- package/dist/src/runtime/emit/unary.d.ts.map +1 -1
- package/dist/src/runtime/emit/unary.js +2 -1
- package/dist/src/runtime/emit/unary.js.map +1 -1
- package/dist/src/runtime/emit/update.d.ts.map +1 -1
- package/dist/src/runtime/emit/update.js +2 -1
- package/dist/src/runtime/emit/update.js.map +1 -1
- package/dist/src/runtime/emit/values.d.ts.map +1 -1
- package/dist/src/runtime/emit/values.js +2 -1
- package/dist/src/runtime/emit/values.js.map +1 -1
- package/dist/src/runtime/emit/view-mutation.d.ts +1 -1
- package/dist/src/runtime/emit/view-mutation.d.ts.map +1 -1
- package/dist/src/runtime/emit/view-mutation.js +6 -3
- package/dist/src/runtime/emit/view-mutation.js.map +1 -1
- package/dist/src/runtime/emit/window.d.ts.map +1 -1
- package/dist/src/runtime/emit/window.js +26 -9
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/emitters.d.ts +11 -3
- package/dist/src/runtime/emitters.d.ts.map +1 -1
- package/dist/src/runtime/emitters.js +13 -22
- package/dist/src/runtime/emitters.js.map +1 -1
- package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
- package/dist/src/runtime/foreign-key-actions.js +39 -13
- package/dist/src/runtime/foreign-key-actions.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +32 -4
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +88 -18
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/scheduler.d.ts +56 -7
- package/dist/src/runtime/scheduler.d.ts.map +1 -1
- package/dist/src/runtime/scheduler.js +223 -200
- package/dist/src/runtime/scheduler.js.map +1 -1
- package/dist/src/runtime/strict-flags.d.ts +22 -0
- package/dist/src/runtime/strict-flags.d.ts.map +1 -0
- package/dist/src/runtime/strict-flags.js +26 -0
- package/dist/src/runtime/strict-flags.js.map +1 -0
- package/dist/src/runtime/strict-fork.d.ts +4 -4
- package/dist/src/runtime/strict-fork.d.ts.map +1 -1
- package/dist/src/runtime/strict-fork.js +175 -31
- package/dist/src/runtime/strict-fork.js.map +1 -1
- package/dist/src/runtime/types.d.ts +102 -4
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js +37 -0
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/runtime/utils.d.ts.map +1 -1
- package/dist/src/runtime/utils.js +8 -17
- package/dist/src/runtime/utils.js.map +1 -1
- package/dist/src/schema/column.d.ts +8 -0
- package/dist/src/schema/column.d.ts.map +1 -1
- package/dist/src/schema/column.js.map +1 -1
- package/dist/src/schema/ddl-generator.js +5 -0
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/function.d.ts +79 -0
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/lens-compiler.js +2 -2
- package/dist/src/schema/lens-compiler.js.map +1 -1
- package/dist/src/schema/lens-prover.d.ts.map +1 -1
- package/dist/src/schema/lens-prover.js +2 -3
- package/dist/src/schema/lens-prover.js.map +1 -1
- package/dist/src/schema/lens.d.ts +1 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +7 -2
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/rename-rewriter.d.ts +61 -0
- package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
- package/dist/src/schema/rename-rewriter.js +77 -0
- package/dist/src/schema/rename-rewriter.js.map +1 -1
- package/dist/src/schema/table.d.ts +36 -8
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +61 -11
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +28 -5
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +37 -5
- package/dist/src/schema/unique-enforcement.js.map +1 -1
- package/dist/src/schema/view.d.ts +1 -1
- package/dist/src/schema/view.js +1 -1
- package/dist/src/types/json-type.d.ts.map +1 -1
- package/dist/src/types/json-type.js +18 -8
- package/dist/src/types/json-type.js.map +1 -1
- package/dist/src/types/logical-type.d.ts +26 -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/util/comparison.d.ts +83 -59
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +191 -131
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/util/json-canonical.d.ts +34 -0
- package/dist/src/util/json-canonical.d.ts.map +1 -0
- package/dist/src/util/json-canonical.js +32 -0
- package/dist/src/util/json-canonical.js.map +1 -0
- package/dist/src/util/key-serializer.d.ts +10 -3
- package/dist/src/util/key-serializer.d.ts.map +1 -1
- package/dist/src/util/key-serializer.js +43 -17
- package/dist/src/util/key-serializer.js.map +1 -1
- package/dist/src/util/key-tuple-codec.d.ts +37 -0
- package/dist/src/util/key-tuple-codec.d.ts.map +1 -0
- package/dist/src/util/key-tuple-codec.js +65 -0
- package/dist/src/util/key-tuple-codec.js.map +1 -0
- package/dist/src/util/latches.d.ts +29 -3
- package/dist/src/util/latches.d.ts.map +1 -1
- package/dist/src/util/latches.js +60 -6
- package/dist/src/util/latches.js.map +1 -1
- package/dist/src/util/patterns.d.ts +22 -8
- package/dist/src/util/patterns.d.ts.map +1 -1
- package/dist/src/util/patterns.js +87 -16
- package/dist/src/util/patterns.js.map +1 -1
- package/dist/src/util/qualified-name.d.ts +10 -0
- package/dist/src/util/qualified-name.d.ts.map +1 -0
- package/dist/src/util/qualified-name.js +15 -0
- package/dist/src/util/qualified-name.js.map +1 -0
- package/dist/src/vtab/backing-host.d.ts +8 -1
- package/dist/src/vtab/backing-host.d.ts.map +1 -1
- package/dist/src/vtab/backing-host.js +7 -0
- package/dist/src/vtab/backing-host.js.map +1 -1
- package/dist/src/vtab/best-access-plan.d.ts +18 -0
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js +15 -0
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/capabilities.d.ts +44 -0
- package/dist/src/vtab/capabilities.d.ts.map +1 -1
- package/dist/src/vtab/filter-info.d.ts +42 -0
- package/dist/src/vtab/filter-info.d.ts.map +1 -1
- package/dist/src/vtab/filter-info.js +137 -1
- package/dist/src/vtab/filter-info.js.map +1 -1
- package/dist/src/vtab/idx-str.d.ts +62 -0
- package/dist/src/vtab/idx-str.d.ts.map +1 -0
- package/dist/src/vtab/idx-str.js +130 -0
- package/dist/src/vtab/idx-str.js.map +1 -0
- package/dist/src/vtab/index-descriptor.d.ts +122 -0
- package/dist/src/vtab/index-descriptor.d.ts.map +1 -0
- package/dist/src/vtab/index-descriptor.js +104 -0
- package/dist/src/vtab/index-descriptor.js.map +1 -0
- package/dist/src/vtab/mapping-advertisement.d.ts +1 -1
- package/dist/src/vtab/memory/index.d.ts +12 -4
- package/dist/src/vtab/memory/index.d.ts.map +1 -1
- package/dist/src/vtab/memory/index.js +17 -9
- package/dist/src/vtab/memory/index.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +85 -31
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +127 -86
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/connection.d.ts +27 -0
- package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/connection.js +36 -1
- package/dist/src/vtab/memory/layer/connection.js.map +1 -1
- package/dist/src/vtab/memory/layer/interface.d.ts +24 -4
- package/dist/src/vtab/memory/layer/interface.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +212 -16
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +754 -170
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.d.ts +26 -1
- package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.js +29 -11
- package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
- package/dist/src/vtab/memory/layer/safe-iterate.d.ts +2 -2
- package/dist/src/vtab/memory/layer/safe-iterate.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/safe-iterate.js +2 -2
- package/dist/src/vtab/memory/layer/safe-iterate.js.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.d.ts +5 -1
- package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.js +59 -24
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/scan-plan.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-plan.js +13 -21
- package/dist/src/vtab/memory/layer/scan-plan.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +169 -7
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +334 -9
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +11 -4
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +35 -16
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts +30 -4
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +63 -15
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/memory/utils/predicate.d.ts +9 -1
- package/dist/src/vtab/memory/utils/predicate.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/predicate.js +35 -14
- package/dist/src/vtab/memory/utils/predicate.js.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key-encode.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key-encode.js +12 -6
- package/dist/src/vtab/memory/utils/primary-key-encode.js.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.d.ts +6 -1
- package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.js +12 -8
- package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
- package/dist/src/vtab/module.d.ts +38 -14
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +41 -2
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js +19 -0
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +5 -4
- package/dist/src/planner/rules/cache/rule-materialization-advisory.d.ts +0 -18
- package/dist/src/planner/rules/cache/rule-materialization-advisory.d.ts.map +0 -1
- package/dist/src/planner/rules/cache/rule-materialization-advisory.js +0 -65
- package/dist/src/planner/rules/cache/rule-materialization-advisory.js.map +0 -1
|
@@ -1,31 +1,72 @@
|
|
|
1
1
|
import { BTree } from 'inheritree';
|
|
2
2
|
import type { TableSchema } from '../../../schema/table.js';
|
|
3
3
|
import type { BTreeKeyForPrimary, BTreeKeyForIndex, MemoryIndexEntry } from '../types.js';
|
|
4
|
-
import type { Layer } from './interface.js';
|
|
4
|
+
import type { Layer, PkExtractorsAndComparators } from './interface.js';
|
|
5
5
|
import { MemoryIndex } from '../index.js';
|
|
6
6
|
import { type Row, type SqlValue } from '../../../common/types.js';
|
|
7
7
|
import { type ColumnSchema } from '../../../schema/column.js';
|
|
8
8
|
import type { IndexSchema } from '../../../schema/table.js';
|
|
9
|
+
import type { CollationResolver } from '../../../types/logical-type.js';
|
|
10
|
+
/** Every row of a primary BTree, ascending by primary key. */
|
|
11
|
+
export declare function iteratePrimaryRows(tree: BTree<BTreeKeyForPrimary, Row>): Iterable<Row>;
|
|
12
|
+
/**
|
|
13
|
+
* Inserts every in-scope row of `rows` into the (freshly-created, empty-or-inherited)
|
|
14
|
+
* `index`, honoring its partial-WHERE predicate — rows for which the predicate is not
|
|
15
|
+
* TRUE are skipped.
|
|
16
|
+
*
|
|
17
|
+
* With `enforceUnique`, raises a CONSTRAINT error on the first duplicate index key
|
|
18
|
+
* among in-scope rows; the caller is expected to discard `index` and roll back any
|
|
19
|
+
* schema change. Duplicate detection runs through the index's own collation-aware
|
|
20
|
+
* comparator (its BTree keys by `compareKeys`), so a value set unique under BINARY but
|
|
21
|
+
* colliding under e.g. NOCASE surfaces here — a raw value signature would miss it.
|
|
22
|
+
* SQL UNIQUE allows multiple NULLs, so a key with any NULL value never counts as a
|
|
23
|
+
* duplicate. `hasAnyPrimaryKey` is O(1) (Map size) so the build stays O(N) —
|
|
24
|
+
* `getPrimaryKeys` would sort the bucket on every row.
|
|
25
|
+
*
|
|
26
|
+
* Parameterizing on a row iterable (rather than reading a fixed tree) is what lets
|
|
27
|
+
* `MemoryTableManager` validate a not-yet-built index against the DDL-issuing
|
|
28
|
+
* connection's EFFECTIVE rows — the committed base overlaid with its open
|
|
29
|
+
* transaction's pending writes — while the base index itself is still populated from
|
|
30
|
+
* committed rows only. See `docs/memory-table.md` § DDL and transactions.
|
|
31
|
+
*/
|
|
32
|
+
export declare function populateIndexFromRows(rows: Iterable<Row>, index: MemoryIndex, primaryKeyFromRow: (row: Row) => BTreeKeyForPrimary, enforceUnique: boolean, tableName: string, columns: ReadonlyArray<ColumnSchema>): void;
|
|
33
|
+
/**
|
|
34
|
+
* Async-stream twin of {@link populateIndexFromRows}, sharing its per-row body.
|
|
35
|
+
*
|
|
36
|
+
* Needed because an {@link EffectiveRowSource} — the merged view a wrapper module (the
|
|
37
|
+
* isolation layer) hands down for row-validating DDL — is an `AsyncIterable`, while the
|
|
38
|
+
* memory module's own effective rows are a synchronous BTree walk.
|
|
39
|
+
*/
|
|
40
|
+
export declare function populateIndexFromRowsAsync(rows: AsyncIterable<Row>, index: MemoryIndex, primaryKeyFromRow: (row: Row) => BTreeKeyForPrimary, enforceUnique: boolean, tableName: string, columns: ReadonlyArray<ColumnSchema>): Promise<void>;
|
|
9
41
|
export declare class BaseLayer implements Layer {
|
|
10
42
|
private readonly layerId;
|
|
11
43
|
tableSchema: TableSchema;
|
|
44
|
+
readonly collationResolver: CollationResolver;
|
|
12
45
|
private primaryKeyFunctions;
|
|
13
46
|
primaryTree: BTree<BTreeKeyForPrimary, Row>;
|
|
14
47
|
readonly secondaryIndexes: Map<string, MemoryIndex>;
|
|
15
|
-
constructor(schema: TableSchema);
|
|
48
|
+
constructor(schema: TableSchema, collationResolver: CollationResolver);
|
|
16
49
|
updateSchema(newSchema: TableSchema): void;
|
|
17
50
|
private initializePrimaryKeyFunctions;
|
|
18
|
-
|
|
51
|
+
/** Builds a `MemoryIndex` for `indexSchema` under this layer's collation resolver and PK functions. */
|
|
52
|
+
private createMemoryIndex;
|
|
19
53
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
54
|
+
* Recreates every secondary index from the committed primary tree under the
|
|
55
|
+
* CURRENT schema — call {@link updateSchema} first when the index key collation
|
|
56
|
+
* changed, so each rebuilt `MemoryIndex` re-keys under it.
|
|
57
|
+
*
|
|
58
|
+
* Never enforcing, even for a re-keyed UNIQUE structure: base rows are not a
|
|
59
|
+
* subset of the DDL transaction's effective rows (a duplicate that transaction
|
|
60
|
+
* DELETED still sits in the base primary tree), so a duplicate check here would
|
|
61
|
+
* reject a legal change. `MemoryTableManager.alterColumn` validates over the
|
|
62
|
+
* effective rows before calling this; see {@link addIndexToBase} for why a base
|
|
63
|
+
* index may hold an entry no live row backs.
|
|
64
|
+
*
|
|
65
|
+
* Every index gets a FRESH `MemoryIndex` and BTree, so any layer inheriting the
|
|
66
|
+
* old trees must be re-pointed at the new ones — that is
|
|
67
|
+
* `TransactionLayer.adoptSchema`'s replacement path.
|
|
27
68
|
*/
|
|
28
|
-
|
|
69
|
+
rebuildAllSecondaryIndexes(): void;
|
|
29
70
|
/**
|
|
30
71
|
* Rebuild the primary BTree under the *current* primaryKeyFunctions — call
|
|
31
72
|
* {@link updateSchema} first so they reflect the new key collation. Re-extracts
|
|
@@ -33,6 +74,14 @@ export declare class BaseLayer implements Layer {
|
|
|
33
74
|
* two rows whose distinct old keys collapse to one under the new comparator
|
|
34
75
|
* (e.g. a PK-column collation change BINARY→NOCASE) — throwing CONSTRAINT and
|
|
35
76
|
* leaving the live tree intact for the caller's rollback.
|
|
77
|
+
*
|
|
78
|
+
* `MemoryTableManager.validateRekeyedPrimaryKey` proves these rows collision-free
|
|
79
|
+
* before calling, so the throw is an invariant check rather than the enforcement
|
|
80
|
+
* path (it is what a caller sees when the base is *not* the whole story — e.g. a
|
|
81
|
+
* new call site that forgets the pre-pass).
|
|
82
|
+
*
|
|
83
|
+
* The tree object is REPLACED, so any layer inheriting the old one must be
|
|
84
|
+
* re-pointed at the new one — that is `TransactionLayer.rekeyPrimaryKey`.
|
|
36
85
|
*/
|
|
37
86
|
rebuildPrimaryTreeStrict(): void;
|
|
38
87
|
/**
|
|
@@ -46,6 +95,18 @@ export declare class BaseLayer implements Layer {
|
|
|
46
95
|
rebuildPrimaryTreeFromRows(rows: Row[]): void;
|
|
47
96
|
private clearExistingSecondaryIndexes;
|
|
48
97
|
private hasSecondaryIndexes;
|
|
98
|
+
/**
|
|
99
|
+
* Constructs (does not populate) a `MemoryIndex` per declared index.
|
|
100
|
+
*
|
|
101
|
+
* A construction failure propagates: the caller's schema change fails rather than
|
|
102
|
+
* silently returning a map missing an index the catalog still advertises (which
|
|
103
|
+
* surfaces much later as `Secondary index '<name>' not found` when a scan picks
|
|
104
|
+
* it by name). Callers that change the column list must therefore hand this a
|
|
105
|
+
* schema whose partial-index predicates already name the surviving columns.
|
|
106
|
+
*
|
|
107
|
+
* Duplicate-key tolerance — the one thing the non-strict rebuild is legitimately
|
|
108
|
+
* lenient about — lives in {@link populateSecondaryIndexes}, not here.
|
|
109
|
+
*/
|
|
49
110
|
private createSecondaryIndexes;
|
|
50
111
|
private populateSecondaryIndexes;
|
|
51
112
|
private addRowToSecondaryIndexes;
|
|
@@ -57,34 +118,27 @@ export declare class BaseLayer implements Layer {
|
|
|
57
118
|
getModificationTree: (indexName: string | "primary") => BTree<BTreeKeyForPrimary, Row> | null;
|
|
58
119
|
getSecondaryIndexTree: (indexName: string) => BTree<BTreeKeyForIndex, MemoryIndexEntry> | null;
|
|
59
120
|
getSecondaryIndex: (indexName: string) => MemoryIndex | undefined;
|
|
60
|
-
getPkExtractorsAndComparators(schema: TableSchema):
|
|
61
|
-
primaryKeyExtractorFromRow: (row: Row) => BTreeKeyForPrimary;
|
|
62
|
-
primaryKeyComparator: (a: BTreeKeyForPrimary, b: BTreeKeyForPrimary) => number;
|
|
63
|
-
};
|
|
121
|
+
getPkExtractorsAndComparators(schema: TableSchema): PkExtractorsAndComparators;
|
|
64
122
|
has: (key: BTreeKeyForPrimary) => boolean;
|
|
65
123
|
addColumnToBase(newColumnSchema: ColumnSchema, defaultValue: SqlValue, backfillEvaluator?: (row: Row) => SqlValue | Promise<SqlValue>): Promise<void>;
|
|
66
124
|
private recreatePrimaryTreeWithNewColumn;
|
|
67
125
|
dropColumnFromBase(columnIndexInOldSchema: number): Promise<void>;
|
|
68
126
|
private recreatePrimaryTreeWithoutColumn;
|
|
69
127
|
handleColumnRename(): Promise<void>;
|
|
70
|
-
addIndexToBase(indexSchema: IndexSchema): Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* Populates a freshly-created secondary index from the primary tree,
|
|
73
|
-
* honoring the index's partial-WHERE predicate (rows for which the
|
|
74
|
-
* predicate is not TRUE are skipped). For UNIQUE indexes, raises a
|
|
75
|
-
* CONSTRAINT error on the first duplicate index key among in-scope rows;
|
|
76
|
-
* the caller is expected to roll back the schema change in that case.
|
|
77
|
-
*/
|
|
78
|
-
private populateNewIndex;
|
|
79
128
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* `
|
|
84
|
-
*
|
|
85
|
-
*
|
|
129
|
+
* Builds and populates a new secondary index over the COMMITTED rows.
|
|
130
|
+
*
|
|
131
|
+
* No duplicate check: uniqueness for `CREATE UNIQUE INDEX` / `ADD CONSTRAINT …
|
|
132
|
+
* UNIQUE` is validated by `MemoryTableManager` against the DDL-issuing
|
|
133
|
+
* connection's EFFECTIVE rows before this runs, and the base's rows are not a
|
|
134
|
+
* subset of those — a duplicate the open transaction has DELETED still sits in
|
|
135
|
+
* the base primary tree. Checking here would reject that legal build. The base
|
|
136
|
+
* index is a lookup structure, never an enforcement one: `checkUniqueViaIndex`
|
|
137
|
+
* re-validates every candidate entry against the live effective row, so an entry
|
|
138
|
+
* for a row the transaction removed can never manufacture a conflict. See
|
|
139
|
+
* `docs/memory-table.md` § DDL and transactions.
|
|
86
140
|
*/
|
|
87
|
-
|
|
141
|
+
addIndexToBase(indexSchema: IndexSchema): Promise<void>;
|
|
88
142
|
dropIndexFromBase(indexName: string): Promise<void>;
|
|
89
143
|
}
|
|
90
144
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,77 @@ import { createMemoryTableLoggers } from '../utils/logging.js';
|
|
|
6
6
|
import { QuereusError } from '../../../common/errors.js';
|
|
7
7
|
let baseLayerCounter = 0;
|
|
8
8
|
const logger = createMemoryTableLoggers('layer:base');
|
|
9
|
+
/** Every row of a primary BTree, ascending by primary key. */
|
|
10
|
+
export function* iteratePrimaryRows(tree) {
|
|
11
|
+
for (const path of tree.ascending(tree.first())) {
|
|
12
|
+
yield tree.at(path);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Inserts every in-scope row of `rows` into the (freshly-created, empty-or-inherited)
|
|
17
|
+
* `index`, honoring its partial-WHERE predicate — rows for which the predicate is not
|
|
18
|
+
* TRUE are skipped.
|
|
19
|
+
*
|
|
20
|
+
* With `enforceUnique`, raises a CONSTRAINT error on the first duplicate index key
|
|
21
|
+
* among in-scope rows; the caller is expected to discard `index` and roll back any
|
|
22
|
+
* schema change. Duplicate detection runs through the index's own collation-aware
|
|
23
|
+
* comparator (its BTree keys by `compareKeys`), so a value set unique under BINARY but
|
|
24
|
+
* colliding under e.g. NOCASE surfaces here — a raw value signature would miss it.
|
|
25
|
+
* SQL UNIQUE allows multiple NULLs, so a key with any NULL value never counts as a
|
|
26
|
+
* duplicate. `hasAnyPrimaryKey` is O(1) (Map size) so the build stays O(N) —
|
|
27
|
+
* `getPrimaryKeys` would sort the bucket on every row.
|
|
28
|
+
*
|
|
29
|
+
* Parameterizing on a row iterable (rather than reading a fixed tree) is what lets
|
|
30
|
+
* `MemoryTableManager` validate a not-yet-built index against the DDL-issuing
|
|
31
|
+
* connection's EFFECTIVE rows — the committed base overlaid with its open
|
|
32
|
+
* transaction's pending writes — while the base index itself is still populated from
|
|
33
|
+
* committed rows only. See `docs/memory-table.md` § DDL and transactions.
|
|
34
|
+
*/
|
|
35
|
+
export function populateIndexFromRows(rows, index, primaryKeyFromRow, enforceUnique, tableName, columns) {
|
|
36
|
+
for (const row of rows) {
|
|
37
|
+
addRowToIndex(row, index, primaryKeyFromRow, enforceUnique, tableName, columns);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Async-stream twin of {@link populateIndexFromRows}, sharing its per-row body.
|
|
42
|
+
*
|
|
43
|
+
* Needed because an {@link EffectiveRowSource} — the merged view a wrapper module (the
|
|
44
|
+
* isolation layer) hands down for row-validating DDL — is an `AsyncIterable`, while the
|
|
45
|
+
* memory module's own effective rows are a synchronous BTree walk.
|
|
46
|
+
*/
|
|
47
|
+
export async function populateIndexFromRowsAsync(rows, index, primaryKeyFromRow, enforceUnique, tableName, columns) {
|
|
48
|
+
for await (const row of rows) {
|
|
49
|
+
addRowToIndex(row, index, primaryKeyFromRow, enforceUnique, tableName, columns);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** One row's worth of {@link populateIndexFromRows}; see its docstring for the semantics. */
|
|
53
|
+
function addRowToIndex(row, index, primaryKeyFromRow, enforceUnique, tableName, columns) {
|
|
54
|
+
if (!index.rowMatchesPredicate(row))
|
|
55
|
+
return;
|
|
56
|
+
const indexKey = index.keyFromRow(row);
|
|
57
|
+
const primaryKey = primaryKeyFromRow(row);
|
|
58
|
+
if (enforceUnique) {
|
|
59
|
+
const hasNull = index.specColumns.some(c => row[c.index] === null);
|
|
60
|
+
if (!hasNull && index.hasAnyPrimaryKey(indexKey)) {
|
|
61
|
+
const colNames = index.specColumns
|
|
62
|
+
.map(c => columns[c.index]?.name ?? String(c.index))
|
|
63
|
+
.join(', ');
|
|
64
|
+
throw new QuereusError(`UNIQUE constraint failed: ${tableName} (${colNames})`, StatusCode.CONSTRAINT);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
index.addEntry(indexKey, primaryKey);
|
|
68
|
+
}
|
|
9
69
|
export class BaseLayer {
|
|
10
70
|
layerId;
|
|
11
71
|
tableSchema;
|
|
72
|
+
collationResolver;
|
|
12
73
|
primaryKeyFunctions;
|
|
13
74
|
primaryTree;
|
|
14
75
|
secondaryIndexes;
|
|
15
|
-
constructor(schema) {
|
|
76
|
+
constructor(schema, collationResolver) {
|
|
16
77
|
this.layerId = baseLayerCounter++;
|
|
17
78
|
this.tableSchema = schema;
|
|
79
|
+
this.collationResolver = collationResolver;
|
|
18
80
|
this.initializePrimaryKeyFunctions();
|
|
19
81
|
// Use the same key extraction pattern as TransactionLayer for consistency
|
|
20
82
|
const btreeKeyFromValue = (value) => this.primaryKeyFunctions.extractFromRow(value);
|
|
@@ -31,38 +93,41 @@ export class BaseLayer {
|
|
|
31
93
|
this.initializePrimaryKeyFunctions();
|
|
32
94
|
}
|
|
33
95
|
initializePrimaryKeyFunctions() {
|
|
34
|
-
this.primaryKeyFunctions = createPrimaryKeyFunctions(this.tableSchema);
|
|
96
|
+
this.primaryKeyFunctions = createPrimaryKeyFunctions(this.tableSchema, this.collationResolver);
|
|
35
97
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const newIndexes = this.createSecondaryIndexes();
|
|
42
|
-
this.populateSecondaryIndexes(newIndexes);
|
|
43
|
-
this.replaceSecondaryIndexes(newIndexes);
|
|
98
|
+
/** Builds a `MemoryIndex` for `indexSchema` under this layer's collation resolver and PK functions. */
|
|
99
|
+
createMemoryIndex(indexSchema) {
|
|
100
|
+
return new MemoryIndex(indexSchema, this.tableSchema.columns, this.collationResolver, this.primaryKeyFunctions.compare, this.primaryKeyFunctions.encode, this.tableSchema.name);
|
|
44
101
|
}
|
|
45
102
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
103
|
+
* Recreates every secondary index from the committed primary tree under the
|
|
104
|
+
* CURRENT schema — call {@link updateSchema} first when the index key collation
|
|
105
|
+
* changed, so each rebuilt `MemoryIndex` re-keys under it.
|
|
106
|
+
*
|
|
107
|
+
* Never enforcing, even for a re-keyed UNIQUE structure: base rows are not a
|
|
108
|
+
* subset of the DDL transaction's effective rows (a duplicate that transaction
|
|
109
|
+
* DELETED still sits in the base primary tree), so a duplicate check here would
|
|
110
|
+
* reject a legal change. `MemoryTableManager.alterColumn` validates over the
|
|
111
|
+
* effective rows before calling this; see {@link addIndexToBase} for why a base
|
|
112
|
+
* index may hold an entry no live row backs.
|
|
113
|
+
*
|
|
114
|
+
* Every index gets a FRESH `MemoryIndex` and BTree, so any layer inheriting the
|
|
115
|
+
* old trees must be re-pointed at the new ones — that is
|
|
116
|
+
* `TransactionLayer.adoptSchema`'s replacement path.
|
|
53
117
|
*/
|
|
54
|
-
|
|
118
|
+
rebuildAllSecondaryIndexes() {
|
|
55
119
|
this.clearExistingSecondaryIndexes();
|
|
56
120
|
if (!this.hasSecondaryIndexes()) {
|
|
121
|
+
// Drop the structures outright rather than leaving them emptied: an index the
|
|
122
|
+
// schema no longer declares (DROP INDEX, or DROP COLUMN taking the last key
|
|
123
|
+
// column of the table's only index) would otherwise linger in the map and be
|
|
124
|
+
// maintained on every write to the base. `replaceSecondaryIndexes` does the
|
|
125
|
+
// same clear on the non-empty path.
|
|
57
126
|
this.secondaryIndexes.clear();
|
|
58
127
|
return;
|
|
59
128
|
}
|
|
60
|
-
const newIndexes =
|
|
61
|
-
|
|
62
|
-
const memoryIndex = new MemoryIndex(indexSchema, this.tableSchema.columns, this.primaryKeyFunctions.compare, this.primaryKeyFunctions.encode);
|
|
63
|
-
this.populateNewIndex(memoryIndex, indexSchema); // throws CONSTRAINT on duplicate
|
|
64
|
-
newIndexes.set(indexSchema.name, memoryIndex);
|
|
65
|
-
}
|
|
129
|
+
const newIndexes = this.createSecondaryIndexes();
|
|
130
|
+
this.populateSecondaryIndexes(newIndexes);
|
|
66
131
|
this.replaceSecondaryIndexes(newIndexes);
|
|
67
132
|
}
|
|
68
133
|
/**
|
|
@@ -72,6 +137,14 @@ export class BaseLayer {
|
|
|
72
137
|
* two rows whose distinct old keys collapse to one under the new comparator
|
|
73
138
|
* (e.g. a PK-column collation change BINARY→NOCASE) — throwing CONSTRAINT and
|
|
74
139
|
* leaving the live tree intact for the caller's rollback.
|
|
140
|
+
*
|
|
141
|
+
* `MemoryTableManager.validateRekeyedPrimaryKey` proves these rows collision-free
|
|
142
|
+
* before calling, so the throw is an invariant check rather than the enforcement
|
|
143
|
+
* path (it is what a caller sees when the base is *not* the whole story — e.g. a
|
|
144
|
+
* new call site that forgets the pre-pass).
|
|
145
|
+
*
|
|
146
|
+
* The tree object is REPLACED, so any layer inheriting the old one must be
|
|
147
|
+
* re-pointed at the new one — that is `TransactionLayer.rekeyPrimaryKey`.
|
|
75
148
|
*/
|
|
76
149
|
rebuildPrimaryTreeStrict() {
|
|
77
150
|
const oldTree = this.primaryTree;
|
|
@@ -110,17 +183,22 @@ export class BaseLayer {
|
|
|
110
183
|
hasSecondaryIndexes() {
|
|
111
184
|
return Boolean(this.tableSchema.indexes && this.tableSchema.indexes.length > 0);
|
|
112
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Constructs (does not populate) a `MemoryIndex` per declared index.
|
|
188
|
+
*
|
|
189
|
+
* A construction failure propagates: the caller's schema change fails rather than
|
|
190
|
+
* silently returning a map missing an index the catalog still advertises (which
|
|
191
|
+
* surfaces much later as `Secondary index '<name>' not found` when a scan picks
|
|
192
|
+
* it by name). Callers that change the column list must therefore hand this a
|
|
193
|
+
* schema whose partial-index predicates already name the surviving columns.
|
|
194
|
+
*
|
|
195
|
+
* Duplicate-key tolerance — the one thing the non-strict rebuild is legitimately
|
|
196
|
+
* lenient about — lives in {@link populateSecondaryIndexes}, not here.
|
|
197
|
+
*/
|
|
113
198
|
createSecondaryIndexes() {
|
|
114
199
|
const newIndexes = new Map();
|
|
115
200
|
for (const indexSchema of this.tableSchema.indexes) {
|
|
116
|
-
|
|
117
|
-
const memoryIndex = new MemoryIndex(indexSchema, this.tableSchema.columns, this.primaryKeyFunctions.compare, this.primaryKeyFunctions.encode);
|
|
118
|
-
newIndexes.set(indexSchema.name, memoryIndex);
|
|
119
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
120
|
-
}
|
|
121
|
-
catch (e) {
|
|
122
|
-
logger.error('Create Index', this.tableSchema.name, e, { indexName: indexSchema.name });
|
|
123
|
-
}
|
|
201
|
+
newIndexes.set(indexSchema.name, this.createMemoryIndex(indexSchema));
|
|
124
202
|
}
|
|
125
203
|
return newIndexes;
|
|
126
204
|
}
|
|
@@ -162,7 +240,8 @@ export class BaseLayer {
|
|
|
162
240
|
}
|
|
163
241
|
return {
|
|
164
242
|
primaryKeyExtractorFromRow: this.primaryKeyFunctions.extractFromRow,
|
|
165
|
-
primaryKeyComparator: this.primaryKeyFunctions.compare
|
|
243
|
+
primaryKeyComparator: this.primaryKeyFunctions.compare,
|
|
244
|
+
primaryKeyEncoder: this.primaryKeyFunctions.encode
|
|
166
245
|
};
|
|
167
246
|
}
|
|
168
247
|
has = (key) => {
|
|
@@ -225,65 +304,27 @@ export class BaseLayer {
|
|
|
225
304
|
logger.operation('Handle Column Rename', this.tableSchema.name);
|
|
226
305
|
await this.rebuildAllSecondaryIndexes();
|
|
227
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
* Builds and populates a new secondary index over the COMMITTED rows.
|
|
309
|
+
*
|
|
310
|
+
* No duplicate check: uniqueness for `CREATE UNIQUE INDEX` / `ADD CONSTRAINT …
|
|
311
|
+
* UNIQUE` is validated by `MemoryTableManager` against the DDL-issuing
|
|
312
|
+
* connection's EFFECTIVE rows before this runs, and the base's rows are not a
|
|
313
|
+
* subset of those — a duplicate the open transaction has DELETED still sits in
|
|
314
|
+
* the base primary tree. Checking here would reject that legal build. The base
|
|
315
|
+
* index is a lookup structure, never an enforcement one: `checkUniqueViaIndex`
|
|
316
|
+
* re-validates every candidate entry against the live effective row, so an entry
|
|
317
|
+
* for a row the transaction removed can never manufacture a conflict. See
|
|
318
|
+
* `docs/memory-table.md` § DDL and transactions.
|
|
319
|
+
*/
|
|
228
320
|
async addIndexToBase(indexSchema) {
|
|
229
321
|
logger.operation('Add Index', this.tableSchema.name, {
|
|
230
322
|
indexName: indexSchema.name
|
|
231
323
|
});
|
|
232
|
-
const newMemoryIndex =
|
|
233
|
-
this.
|
|
324
|
+
const newMemoryIndex = this.createMemoryIndex(indexSchema);
|
|
325
|
+
populateIndexFromRows(iteratePrimaryRows(this.primaryTree), newMemoryIndex, this.primaryKeyFunctions.extractFromRow, false, this.tableSchema.name, this.tableSchema.columns);
|
|
234
326
|
this.secondaryIndexes.set(indexSchema.name, newMemoryIndex);
|
|
235
327
|
}
|
|
236
|
-
/**
|
|
237
|
-
* Populates a freshly-created secondary index from the primary tree,
|
|
238
|
-
* honoring the index's partial-WHERE predicate (rows for which the
|
|
239
|
-
* predicate is not TRUE are skipped). For UNIQUE indexes, raises a
|
|
240
|
-
* CONSTRAINT error on the first duplicate index key among in-scope rows;
|
|
241
|
-
* the caller is expected to roll back the schema change in that case.
|
|
242
|
-
*/
|
|
243
|
-
populateNewIndex(newIndex, indexSchema) {
|
|
244
|
-
for (const path of this.primaryTree.ascending(this.primaryTree.first())) {
|
|
245
|
-
const currentRow = this.primaryTree.at(path);
|
|
246
|
-
if (!newIndex.rowMatchesPredicate(currentRow))
|
|
247
|
-
continue;
|
|
248
|
-
const indexKey = newIndex.keyFromRow(currentRow);
|
|
249
|
-
const primaryKey = this.primaryKeyFunctions.extractFromRow(currentRow);
|
|
250
|
-
if (this.indexEnforcesUnique(indexSchema)) {
|
|
251
|
-
const cols = newIndex.specColumns.map(c => currentRow[c.index]);
|
|
252
|
-
// SQL UNIQUE allows multiple NULLs: skip dup detection if any key value is NULL.
|
|
253
|
-
const hasNull = cols.some(v => v === null);
|
|
254
|
-
// Detect duplicates through the index's own collation-aware comparator
|
|
255
|
-
// (its BTree keys by compareKeys), so a value set unique under BINARY but
|
|
256
|
-
// colliding under e.g. NOCASE surfaces here — a raw value signature would
|
|
257
|
-
// miss it. A non-empty key means a prior in-scope row already inserted it.
|
|
258
|
-
// hasAnyPrimaryKey is O(1) (Map size) so the ascending build stays O(N) —
|
|
259
|
-
// getPrimaryKeys would sort the bucket on every row.
|
|
260
|
-
if (!hasNull && newIndex.hasAnyPrimaryKey(indexKey)) {
|
|
261
|
-
const colNames = newIndex.specColumns
|
|
262
|
-
.map(c => this.tableSchema.columns[c.index]?.name ?? String(c.index))
|
|
263
|
-
.join(', ');
|
|
264
|
-
throw new QuereusError(`UNIQUE constraint failed: ${this.tableSchema.name} (${colNames})`, StatusCode.CONSTRAINT);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
newIndex.addEntry(indexKey, primaryKey);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* True when populating `indexSchema` must reject duplicate keys: either the
|
|
272
|
-
* index is itself declared UNIQUE, or it is the auto-built covering structure
|
|
273
|
-
* for a declared UNIQUE constraint (same column set). The latter never carries
|
|
274
|
-
* `unique: true` — insert-time enforcement runs through `uniqueConstraints` —
|
|
275
|
-
* so without this check a strict rebuild (e.g. `ALTER COLUMN ... SET COLLATE`)
|
|
276
|
-
* would silently accept rows that collide under the new collation.
|
|
277
|
-
*/
|
|
278
|
-
indexEnforcesUnique(indexSchema) {
|
|
279
|
-
if (indexSchema.unique)
|
|
280
|
-
return true;
|
|
281
|
-
const ucs = this.tableSchema.uniqueConstraints;
|
|
282
|
-
if (!ucs)
|
|
283
|
-
return false;
|
|
284
|
-
return ucs.some(uc => uc.columns.length === indexSchema.columns.length &&
|
|
285
|
-
uc.columns.every((colIdx, i) => indexSchema.columns[i].index === colIdx));
|
|
286
|
-
}
|
|
287
328
|
async dropIndexFromBase(indexName) {
|
|
288
329
|
if (this.secondaryIndexes.delete(indexName)) {
|
|
289
330
|
logger.operation('Drop Index', this.tableSchema.name, { indexName });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,16 @@ export declare class MemoryTableConnection {
|
|
|
31
31
|
* self-referential INSERT...SELECT.
|
|
32
32
|
*/
|
|
33
33
|
private savepointStack;
|
|
34
|
+
/**
|
|
35
|
+
* The eager savepoint snapshot currently serving as {@link readLayer}, or null when
|
|
36
|
+
* `readLayer` is a committed layer. Non-null exactly while this connection's
|
|
37
|
+
* uncommitted writes live in `readLayer` rather than in `pendingTransactionLayer`.
|
|
38
|
+
*
|
|
39
|
+
* Cannot be derived from {@link savepointStack}: `RELEASE` pops the entry that holds
|
|
40
|
+
* the snapshot, but the snapshot stays installed as `readLayer` and its rows stay
|
|
41
|
+
* uncommitted. See {@link hasOpenWork}.
|
|
42
|
+
*/
|
|
43
|
+
private readSnapshot;
|
|
34
44
|
constructor(manager: MemoryTableManager, initialReadLayer: Layer);
|
|
35
45
|
/** Begins a transaction by marking explicitTransaction. The pending layer is created lazily on first mutation */
|
|
36
46
|
begin(): void;
|
|
@@ -49,6 +59,23 @@ export declare class MemoryTableConnection {
|
|
|
49
59
|
* The savepoint is preserved (per SQL standard) so it can be rolled back to again.
|
|
50
60
|
*/
|
|
51
61
|
rollbackToSavepoint(targetDepth: number): void;
|
|
62
|
+
/** Ends savepoint bookkeeping. Only called where the transaction itself is ending. */
|
|
52
63
|
clearSavepoints(): void;
|
|
64
|
+
/**
|
|
65
|
+
* True when this connection holds uncommitted writes for its table — either in a
|
|
66
|
+
* pending layer, or (after an eager savepoint swapped it into `readLayer`) in an
|
|
67
|
+
* immutable savepoint snapshot.
|
|
68
|
+
*
|
|
69
|
+
* `MemoryTableManager.ensureSchemaChangeSafety` uses this twice: it refuses a schema
|
|
70
|
+
* change while a connection OTHER than the DDL issuer has open work (those rows are
|
|
71
|
+
* invisible to the DDL's transaction, so a new constraint cannot be validated against
|
|
72
|
+
* them), and it leaves the DDL issuer's own read view alone rather than re-pointing it
|
|
73
|
+
* at the base layer.
|
|
74
|
+
*
|
|
75
|
+
* Tracks {@link readSnapshot} rather than scanning {@link savepointStack}: `RELEASE`
|
|
76
|
+
* pops the entry while leaving the snapshot installed as `readLayer`, so a stack scan
|
|
77
|
+
* reports "no work" for a connection whose rows are still uncommitted.
|
|
78
|
+
*/
|
|
79
|
+
hasOpenWork(): boolean;
|
|
53
80
|
}
|
|
54
81
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAUvD;;;GAGG;AACH,qBAAa,qBAAqB;IACjC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,YAAY,EAAE,kBAAkB,CAAC;IAC1C,SAAS,EAAE,KAAK,CAAC;IACjB,uBAAuB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACxD,mBAAmB,EAAE,OAAO,CAAS;IAE5C;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAUvD;;;GAGG;AACH,qBAAa,qBAAqB;IACjC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,YAAY,EAAE,kBAAkB,CAAC;IAC1C,SAAS,EAAE,KAAK,CAAC;IACjB,uBAAuB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACxD,mBAAmB,EAAE,OAAO,CAAS;IAE5C;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,cAAc,CAA6G;IAEnI;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,CAAiC;gBAEzC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,KAAK;IAMhE,iHAAiH;IACjH,KAAK,IAAI,IAAI;IAeb,sCAAsC;IAChC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B,yCAAyC;IACzC,QAAQ,IAAI,IAAI;IAiBhB,uDAAuD;IACvD,OAAO,CAAC,qBAAqB;IAM7B,mDAAmD;IACnD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkDpC,yFAAyF;IACzF,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAiB3C;;;OAGG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAiC9C,sFAAsF;IAC/E,eAAe,IAAI,IAAI;IAK9B;;;;;;;;;;;;;;OAcG;IACI,WAAW,IAAI,OAAO;CAG7B"}
|