@quereus/quereus 4.3.2 → 4.4.1
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 +5 -0
- 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-external-changes.d.ts +2 -2
- package/dist/src/core/database-external-changes.d.ts.map +1 -1
- package/dist/src/core/database-external-changes.js +12 -9
- package/dist/src/core/database-external-changes.js.map +1 -1
- package/dist/src/core/database-materialized-views-apply.d.ts +156 -14
- package/dist/src/core/database-materialized-views-apply.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-apply.js +370 -65
- package/dist/src/core/database-materialized-views-apply.js.map +1 -1
- package/dist/src/core/database-materialized-views-plan-builders.d.ts +66 -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 +368 -8
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
- package/dist/src/core/database-materialized-views-plans.d.ts +257 -30
- package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.d.ts +99 -42
- package/dist/src/core/database-materialized-views.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.js +198 -121
- 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 +41 -18
- 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 +146 -62
- 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/registration.d.ts +19 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +41 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +8 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -11
- 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/comparison-collation.d.ts +2 -0
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +1 -1
- package/dist/src/planner/analysis/comparison-collation.js.map +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/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/query-rewrite-matcher.d.ts +60 -18
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +95 -42
- 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 +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/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 +87 -6
- 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/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.d.ts.map +1 -1
- package/dist/src/planner/building/select.js +15 -1
- package/dist/src/planner/building/select.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/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 +33 -0
- package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
- package/dist/src/planner/cache/materialization-advisory.js +164 -28
- package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
- package/dist/src/planner/cache/reference-graph.d.ts +0 -4
- package/dist/src/planner/cache/reference-graph.d.ts.map +1 -1
- package/dist/src/planner/cache/reference-graph.js +5 -13
- package/dist/src/planner/cache/reference-graph.js.map +1 -1
- package/dist/src/planner/cost/index.d.ts +28 -7
- 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/framework/pass.js +3 -3
- package/dist/src/planner/nodes/cache-node.d.ts +18 -2
- package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cache-node.js +42 -3
- package/dist/src/planner/nodes/cache-node.js.map +1 -1
- package/dist/src/planner/nodes/cte-node.d.ts +15 -1
- package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cte-node.js +12 -2
- package/dist/src/planner/nodes/cte-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/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 +30 -3
- package/dist/src/planner/nodes/recursive-cte-node.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/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +129 -8
- 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 +43 -18
- 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-materialized-view-rewrite.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +72 -54
- 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-subquery-cache.d.ts +31 -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 +68 -0
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -0
- 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/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/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 +627 -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/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/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +10 -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 +2 -3
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +10 -84
- 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 +348 -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 +6 -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 +32 -3
- 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 +22 -2
- 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 +24 -3
- 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 +23 -6
- package/dist/src/runtime/emit/cache.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 +41 -44
- 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/cte.d.ts.map +1 -1
- package/dist/src/runtime/emit/cte.js +43 -20
- package/dist/src/runtime/emit/cte.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 +241 -115
- package/dist/src/runtime/emit/dml-executor.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.js +5 -0
- package/dist/src/runtime/emit/join.js.map +1 -1
- 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 +38 -7
- 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 +18 -8
- package/dist/src/runtime/emit/merge-join.js.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.js +59 -1
- package/dist/src/runtime/emit/recursive-cte.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 +20 -1
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +23 -1
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/types.d.ts +54 -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 +109 -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/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 +89 -0
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +156 -27
- package/dist/src/util/comparison.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 +6 -1
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +14 -5
- 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 +96 -13
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +595 -119
- 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 +69 -36
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +127 -13
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +214 -65
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +9 -2
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +3 -2
- 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 +24 -6
- 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 -19
- 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 -53
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
|
@@ -45,11 +45,12 @@ import { buildSourceUnionScope } from '../planner/analysis/change-scope.js';
|
|
|
45
45
|
import { isBodyIrrelevantTableChange, tryRecompileMaterializedViewLive } from '../runtime/emit/materialized-view-helpers.js';
|
|
46
46
|
import { buildDerivedRowValidator, makePoisonedDerivedRowValidator } from './derived-row-validator.js';
|
|
47
47
|
import { compareSqlValuesFast, resolveCollationFunctions } from '../util/comparison.js';
|
|
48
|
-
import { coveringMvHonorsIndexCollation } from '../schema/unique-enforcement.js';
|
|
48
|
+
import { coveringMvHonorsIndexCollation, uniqueEnforcementComparators } from '../schema/unique-enforcement.js';
|
|
49
49
|
import { splitBaseKey } from '../util/qualified-name.js';
|
|
50
50
|
import { mvKey, planSourceBases, isBinaryCollation, } from './database-materialized-views-analysis.js';
|
|
51
|
+
import { shouldDegradeToRebuild } from '../planner/cost/index.js';
|
|
51
52
|
import { buildMaintenancePlan } from './database-materialized-views-plan-builders.js';
|
|
52
|
-
import { applyInverseProjection, applyForwardResidual, applyJoinResidual, applyPrefixDelete, runScheduler, validateDerivedChanges, assertNoNullInNotNullSeededPkRowTime, enforceParentSideReferentialActions,
|
|
53
|
+
import { applyInverseProjection, applyForwardResidual, applyJoinResidual, applyPrefixDelete, accumulateResidualKeys, computeResidualBatchOps, computeDeltaAggregateOps, resolveBackingApplyTarget, runScheduler, validateDerivedChanges, assertNoNullInNotNullSeededPkRowTime, enforceParentSideReferentialActions, } from './database-materialized-views-apply.js';
|
|
53
54
|
const log = createLogger('core:materialized-views');
|
|
54
55
|
export class MaterializedViewManager {
|
|
55
56
|
ctx;
|
|
@@ -552,18 +553,26 @@ export class MaterializedViewManager {
|
|
|
552
553
|
* too. Omitted by the cold enforcement/eviction callers, which re-resolve the same
|
|
553
554
|
* connection deterministically.
|
|
554
555
|
*
|
|
555
|
-
* `deferred` is the optional per-statement deferred-rebuild set (MV keys)
|
|
556
|
-
* `
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
* once at the end-of-statement
|
|
560
|
-
*
|
|
561
|
-
*
|
|
562
|
-
*
|
|
563
|
-
*
|
|
564
|
-
*
|
|
556
|
+
* `deferred` is the optional per-statement deferred-rebuild set (MV keys) and
|
|
557
|
+
* `residualBatch` the optional per-statement residual key batch. A `'full-rebuild'`
|
|
558
|
+
* plan re-evaluates the WHOLE body, so applying it per source row is O(rows × body) —
|
|
559
|
+
* pathological; when the DML boundary supplies a `deferred` set it is instead marked
|
|
560
|
+
* dirty here (no per-row apply) and rebuilt exactly once at the end-of-statement
|
|
561
|
+
* {@link flushDeferredMaintenance} boundary. The three **residual** arms
|
|
562
|
+
* (`'residual-recompute'`, `'prefix-delete'`, `'join-residual'`) are likewise per-key
|
|
563
|
+
* recomputes whose per-row apply costs a scheduler run each; when the DML boundary
|
|
564
|
+
* supplies a `residualBatch`, they accumulate their affected binding keys (deduped
|
|
565
|
+
* across the statement) and recompute once per distinct key at the same flush.
|
|
566
|
+
* `'inverse-projection'` alone stays per-row-immediate: its delta is a cheap pure
|
|
567
|
+
* projection AND the covering-UNIQUE enforcement scan depends on its per-row backing
|
|
568
|
+
* visibility ({@link lookupCoveringConflicts} reads only inverse-projection backings,
|
|
569
|
+
* so deferring the other arms cannot starve that scan —
|
|
570
|
+
* {@link findRowTimeCoveringStructure} declines them). A cold caller without the
|
|
571
|
+
* per-statement structures falls through to the inline per-change apply — a safe,
|
|
572
|
+
* unamortized fallback (the enforcement/eviction callers only ever name
|
|
573
|
+
* inverse-projection MVs, but the fallback stays correct for every arm).
|
|
565
574
|
*/
|
|
566
|
-
async maintainRowTime(sourceBase, change, cache, deferred, depth = 0) {
|
|
575
|
+
async maintainRowTime(sourceBase, change, cache, deferred, residualBatch, depth = 0) {
|
|
567
576
|
const changedBase = sourceBase.toLowerCase();
|
|
568
577
|
const keys = this.rowTimeBySource.get(changedBase);
|
|
569
578
|
if (!keys || keys.size === 0)
|
|
@@ -572,80 +581,103 @@ export class MaterializedViewManager {
|
|
|
572
581
|
const plan = this.rowTime.get(key);
|
|
573
582
|
if (!plan)
|
|
574
583
|
continue;
|
|
575
|
-
// Full-rebuild
|
|
584
|
+
// Full-rebuild defers as a dirty mark; the residual arms defer as accumulated
|
|
585
|
+
// binding keys. Both drain at the end-of-statement flush.
|
|
576
586
|
if (plan.kind === 'full-rebuild' && deferred) {
|
|
577
587
|
deferred.add(key);
|
|
578
588
|
continue;
|
|
579
589
|
}
|
|
580
|
-
|
|
581
|
-
|
|
590
|
+
if (residualBatch && plan.kind !== 'inverse-projection' && plan.kind !== 'full-rebuild') {
|
|
591
|
+
accumulateResidualKeys(plan, change, changedBase, residualBatch, key);
|
|
582
592
|
continue;
|
|
583
|
-
// Row-time coarsening collision telemetry: observe-only over the realized
|
|
584
|
-
// delta (gated on `coarseningWatch` — a no-op for a non-coarsened MV). Runs
|
|
585
|
-
// independently of the cascade below; it neither consumes nor reorders the
|
|
586
|
-
// backing changes routed onward.
|
|
587
|
-
this.detectAndReportCoarseningCollisions(plan, backingChanges);
|
|
588
|
-
// Reject a NULL stored into a NOT-NULL ordering-seeded physical-PK backing
|
|
589
|
-
// column whose source loosened — BEFORE the cascade, so the corruption never
|
|
590
|
-
// reaches a consumer. No-op (`undefined`) unless this MV carries the skew.
|
|
591
|
-
assertNoNullInNotNullSeededPkRowTime(plan, backingChanges);
|
|
592
|
-
// Declared CHECK / child-side FK over the rows this delta wrote — BEFORE
|
|
593
|
-
// cascading, so a consumer never consumes an invalid producer row. Every
|
|
594
|
-
// row already in the backing was validated when it entered (the bulk
|
|
595
|
-
// validation at create/attach seeds the induction), so only the delta is
|
|
596
|
-
// validated. No-op (`undefined`) for a constraint-less table.
|
|
597
|
-
if (plan.derivedRowValidator) {
|
|
598
|
-
await validateDerivedChanges(this.ctx, plan, plan.derivedRowValidator, backingChanges, cache);
|
|
599
|
-
}
|
|
600
|
-
// Parent-side referential enforcement: this maintenance delete/key-update of an
|
|
601
|
-
// `M` row may orphan rows in an ordinary table `C` whose FK references `M`. Fire
|
|
602
|
-
// the shared engine over the backing delta — RESTRICT-walk then declared actions —
|
|
603
|
-
// after `M`'s own image is validated, before the MV-over-MV cascade. Runs whether
|
|
604
|
-
// or not `M` has MV consumers (placed before the leaf fast-path).
|
|
605
|
-
await enforceParentSideReferentialActions(this.ctx, plan, backingChanges);
|
|
606
|
-
const backingBase = `${plan.backingSchema}.${plan.backingTableName}`.toLowerCase();
|
|
607
|
-
if (!this.rowTimeBySource.has(backingBase))
|
|
608
|
-
continue; // leaf — no dependents
|
|
609
|
-
this.assertCascadeDepth(depth + 1, backingBase);
|
|
610
|
-
for (const bc of backingChanges) {
|
|
611
|
-
await this.maintainRowTime(backingBase, bc, cache, deferred, depth + 1);
|
|
612
593
|
}
|
|
594
|
+
const backingChanges = await this.applyMaintenancePlan(plan, change, changedBase, cache);
|
|
595
|
+
await this.postApplyBackingChanges(plan, backingChanges, cache, deferred, residualBatch, depth + 1);
|
|
613
596
|
}
|
|
614
597
|
}
|
|
615
598
|
/**
|
|
616
|
-
*
|
|
617
|
-
*
|
|
618
|
-
*
|
|
619
|
-
*
|
|
599
|
+
* The invariant pipeline every realized maintenance delta runs, in order: coarsening
|
|
600
|
+
* collision telemetry (observe-only; gated on `coarseningWatch`), the NOT-NULL
|
|
601
|
+
* ordering-seeded-PK guard (no-op unless the MV carries the skew), derived-row
|
|
602
|
+
* CHECK/FK validation (no-op for a constraint-less table; BEFORE the cascade so a
|
|
603
|
+
* consumer never consumes an invalid producer row), parent-side referential
|
|
604
|
+
* enforcement (RESTRICT-walk then declared actions, after `M`'s own image is
|
|
605
|
+
* validated), then the MV-over-MV cascade — each effective {@link BackingRowChange}
|
|
606
|
+
* routed back through {@link maintainRowTime} with the SAME per-statement structures,
|
|
607
|
+
* so a residual consumer accumulates into the batch and a full-rebuild consumer
|
|
608
|
+
* re-dirties the deferred set. Shared verbatim by the per-row inline path and the
|
|
609
|
+
* end-of-statement flush ({@link flushDeferredMaintenance}, which calls with
|
|
610
|
+
* `depth = 0` — its own round bound {@link assertFlushRounds} replaces the recursion
|
|
611
|
+
* bound {@link assertCascadeDepth} there).
|
|
612
|
+
*/
|
|
613
|
+
async postApplyBackingChanges(plan, backingChanges, cache, deferred, residualBatch, depth) {
|
|
614
|
+
if (backingChanges.length === 0)
|
|
615
|
+
return;
|
|
616
|
+
this.detectAndReportCoarseningCollisions(plan, backingChanges);
|
|
617
|
+
assertNoNullInNotNullSeededPkRowTime(plan, backingChanges);
|
|
618
|
+
if (plan.derivedRowValidator) {
|
|
619
|
+
await validateDerivedChanges(this.ctx, plan, plan.derivedRowValidator, backingChanges, cache);
|
|
620
|
+
}
|
|
621
|
+
await enforceParentSideReferentialActions(this.ctx, plan, backingChanges);
|
|
622
|
+
const backingBase = `${plan.backingSchema}.${plan.backingTableName}`.toLowerCase();
|
|
623
|
+
if (!this.rowTimeBySource.has(backingBase))
|
|
624
|
+
return; // leaf — no dependents
|
|
625
|
+
if (depth > 0)
|
|
626
|
+
this.assertCascadeDepth(depth, backingBase);
|
|
627
|
+
for (const bc of backingChanges) {
|
|
628
|
+
await this.maintainRowTime(backingBase, bc, cache, deferred, residualBatch, depth);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Flush the per-statement deferred maintenance at the end-of-statement boundary:
|
|
633
|
+
* recompute every accumulated residual key exactly once per distinct key
|
|
634
|
+
* ({@link applyResidualBatch}) and rebuild every dirtied full-rebuild MV exactly once
|
|
635
|
+
* (not once per source row), cascading each apply's effective
|
|
636
|
+
* {@link BackingRowChange}(s) onward so MV-over-MV consumers converge.
|
|
620
637
|
*
|
|
621
|
-
* Drained as a worklist over the producer→consumer DAG. Each
|
|
622
|
-
* {@link
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
*
|
|
638
|
+
* Drained as a worklist over the producer→consumer DAG. Each apply routes its realized
|
|
639
|
+
* delta back through {@link maintainRowTime} with the SAME `deferred` set and
|
|
640
|
+
* `residualBatch`: an inverse-projection consumer applies inline; a residual consumer
|
|
641
|
+
* accumulates its keys into the batch and a full-rebuild consumer re-dirties into the
|
|
642
|
+
* drain (recomputed in a later round, after its producer's delta has landed). The drain
|
|
643
|
+
* proceeds in **rounds** — each round snapshots both structures, clears them, and
|
|
644
|
+
* applies each member, collecting the next round's re-accumulations — so a consumer is
|
|
645
|
+
* never permanently stale (a producer flushed in the same round re-accumulates it for
|
|
646
|
+
* the next), and convergence takes at most one round per level of the deferred sub-DAG.
|
|
647
|
+
* Residual entries drain before rebuilds within a round (arbitrary for correctness —
|
|
648
|
+
* every apply reads live state — but it lets a same-round rebuild read its residual
|
|
649
|
+
* producers' already-flushed backings, saving a round in mixed chains).
|
|
631
650
|
*
|
|
632
651
|
* Termination: the dependency DAG is acyclic (a consumer MV requires its producer to
|
|
633
|
-
* pre-exist), so the longest
|
|
652
|
+
* pre-exist), so the longest deferred chain — hence the round count — is bounded by
|
|
634
653
|
* the registered-row-time-MV count. Exceeding it signals a structurally-impossible cycle
|
|
635
654
|
* and fails loud ({@link assertFlushRounds}) — the worklist analogue of
|
|
636
655
|
* {@link assertCascadeDepth}. This should never fire.
|
|
637
656
|
*
|
|
638
657
|
* The DML executor calls this INSIDE the statement-atomicity savepoint (after the row
|
|
639
|
-
* loop, before the savepoint release), so a failed rebuild
|
|
640
|
-
*
|
|
658
|
+
* loop, before the savepoint release), so a failed recompute/rebuild — including a
|
|
659
|
+
* derived-row validation failure or parent-side RESTRICT over the flushed delta — rolls
|
|
660
|
+
* the whole statement back with the same attribution as the per-row path. Empty
|
|
661
|
+
* structures are a no-op (no overhead on statements touching no deferred MV).
|
|
641
662
|
*/
|
|
642
|
-
async
|
|
663
|
+
async flushDeferredMaintenance(deferred, residualBatch, cache) {
|
|
643
664
|
let round = 0;
|
|
644
|
-
while (deferred.size > 0) {
|
|
665
|
+
while (deferred.size > 0 || residualBatch.size > 0) {
|
|
645
666
|
this.assertFlushRounds(++round);
|
|
646
|
-
const
|
|
667
|
+
const residuals = [...residualBatch.entries()];
|
|
668
|
+
residualBatch.clear();
|
|
669
|
+
const rebuilds = [...deferred];
|
|
647
670
|
deferred.clear();
|
|
648
|
-
for (const key of
|
|
671
|
+
for (const [key, entry] of residuals) {
|
|
672
|
+
const plan = this.rowTime.get(key);
|
|
673
|
+
// Only residual-arm plans ever accumulate keys; a plan released (or
|
|
674
|
+
// re-registered as a different arm) mid-statement is a no-op here.
|
|
675
|
+
if (!plan || plan.kind === 'inverse-projection' || plan.kind === 'full-rebuild')
|
|
676
|
+
continue;
|
|
677
|
+
const backingChanges = await this.applyResidualBatch(plan, entry, cache);
|
|
678
|
+
await this.postApplyBackingChanges(plan, backingChanges, cache, deferred, residualBatch, 0);
|
|
679
|
+
}
|
|
680
|
+
for (const key of rebuilds) {
|
|
649
681
|
const plan = this.rowTime.get(key);
|
|
650
682
|
// Only full-rebuild plans are ever deferred; a non-full-rebuild key (or a
|
|
651
683
|
// plan released mid-flush) is a no-op. Defensive — `maintainRowTime` only
|
|
@@ -653,41 +685,58 @@ export class MaterializedViewManager {
|
|
|
653
685
|
if (!plan || plan.kind !== 'full-rebuild')
|
|
654
686
|
continue;
|
|
655
687
|
const backingChanges = await this.applyFullRebuild(plan, cache);
|
|
656
|
-
|
|
657
|
-
continue;
|
|
658
|
-
// Coarsening collision telemetry over the rebuild diff — the full-rebuild
|
|
659
|
-
// floor's collation-keyed `replace-all` realizes the same LWW merge as the
|
|
660
|
-
// bounded-delta arms (observe-only; gated on `coarseningWatch`).
|
|
661
|
-
this.detectAndReportCoarseningCollisions(plan, backingChanges);
|
|
662
|
-
// NOT-NULL ordering-seeded PK guard over the rebuild diff — the
|
|
663
|
-
// full-rebuild-floor analogue of the per-row guard in {@link maintainRowTime}.
|
|
664
|
-
// No-op (`undefined`) unless this MV carries the skew.
|
|
665
|
-
assertNoNullInNotNullSeededPkRowTime(plan, backingChanges);
|
|
666
|
-
// Validate the rebuild diff's written images at the flush boundary —
|
|
667
|
-
// the full-rebuild analogue of the per-row validation in
|
|
668
|
-
// {@link maintainRowTime} (deferred-rebuild semantics preserved: a bulk
|
|
669
|
-
// source write fails once at end-of-statement, not per source row).
|
|
670
|
-
if (plan.derivedRowValidator) {
|
|
671
|
-
await validateDerivedChanges(this.ctx, plan, plan.derivedRowValidator, backingChanges, cache);
|
|
672
|
-
}
|
|
673
|
-
// Parent-side referential enforcement for the rebuild diff's deletes/key-updates,
|
|
674
|
-
// fired inside the statement-atomicity savepoint (the flush runs before its
|
|
675
|
-
// release) so a RESTRICT failure or cascade error unwinds the whole statement.
|
|
676
|
-
await enforceParentSideReferentialActions(this.ctx, plan, backingChanges);
|
|
677
|
-
const backingBase = `${plan.backingSchema}.${plan.backingTableName}`.toLowerCase();
|
|
678
|
-
if (!this.rowTimeBySource.has(backingBase))
|
|
679
|
-
continue; // leaf — no dependents
|
|
680
|
-
for (const bc of backingChanges) {
|
|
681
|
-
// Cascade at depth 0: an incremental consumer applies inline (its own
|
|
682
|
-
// `assertCascadeDepth` backstops that recursion); a full-rebuild consumer
|
|
683
|
-
// re-dirties `deferred` for the next round.
|
|
684
|
-
await this.maintainRowTime(backingBase, bc, cache, deferred);
|
|
685
|
-
}
|
|
688
|
+
await this.postApplyBackingChanges(plan, backingChanges, cache, deferred, residualBatch, 0);
|
|
686
689
|
}
|
|
687
690
|
}
|
|
688
691
|
}
|
|
689
692
|
/**
|
|
690
|
-
*
|
|
693
|
+
* Flush one residual-arm MV's accumulated statement keys: run the residual variant
|
|
694
|
+
* once per distinct key against live post-statement state and apply all resulting ops
|
|
695
|
+
* in one {@link BackingHost.applyMaintenance} call (upsert recomputed slices, delete
|
|
696
|
+
* emptied keys — the same keyed diff the per-row path applies, evaluated once per key
|
|
697
|
+
* instead of once per touching row).
|
|
698
|
+
*
|
|
699
|
+
* **Per-statement rebuild demotion** ({@link shouldDegradeToRebuild}, re-costed here
|
|
700
|
+
* against the statement's ACTUAL distinct-key count and the plan's create-time
|
|
701
|
+
* {@link MaintenancePlanCommon.sourceStats}): when k residual runs cost more than one
|
|
702
|
+
* whole-body rebuild — a statement touching most groups — run the plan's
|
|
703
|
+
* {@link ResidualArmCommon.fullRebuildScheduler} and apply a single `'replace-all'`
|
|
704
|
+
* keyed diff instead. Stateless: the stored strategy is unchanged, so a later
|
|
705
|
+
* low-cardinality statement reverts to per-key residuals. Kept on the manager
|
|
706
|
+
* (delegating op computation to the apply-module free helpers) so the statement-flush
|
|
707
|
+
* suites can instrument it alongside {@link applyFullRebuild}.
|
|
708
|
+
*/
|
|
709
|
+
async applyResidualBatch(plan, entry, cache) {
|
|
710
|
+
const distinctKeys = entry.forward.size + entry.lookup.size + entry.prefix.size;
|
|
711
|
+
if (distinctKeys === 0)
|
|
712
|
+
return [];
|
|
713
|
+
// Delta-aggregate fast path: an eligible aggregate MV's accumulated per-group
|
|
714
|
+
// deltas are applied by arithmetic read-modify-write on the stored group rows
|
|
715
|
+
// (computeDeltaAggregateOps) — zero source reads. It BYPASSES the
|
|
716
|
+
// degrade-to-rebuild crossover below: that crossover trades k residual
|
|
717
|
+
// re-executions against one whole-body rebuild, and the delta path already
|
|
718
|
+
// costs O(affected groups) with no residual runs, so the rebuild can never win.
|
|
719
|
+
// A poisoned accumulation (OR FAIL per-row revert — see
|
|
720
|
+
// poisonResidualDeltaAccumulations) has `delta` dropped and falls through to
|
|
721
|
+
// the plain residual over the always-accumulated forward keys.
|
|
722
|
+
if (plan.kind === 'residual-recompute' && plan.delta && entry.delta && !entry.deltaPoisoned) {
|
|
723
|
+
const { host, connection } = await resolveBackingApplyTarget(this.ctx, plan, cache);
|
|
724
|
+
const ops = await computeDeltaAggregateOps(this.ctx, plan, entry, host, connection);
|
|
725
|
+
if (ops.length === 0)
|
|
726
|
+
return [];
|
|
727
|
+
return host.applyMaintenance(connection, ops);
|
|
728
|
+
}
|
|
729
|
+
if (plan.fullRebuildScheduler && shouldDegradeToRebuild(distinctKeys, plan.sourceStats)) {
|
|
730
|
+
return this.applyReplaceAll(plan, plan.fullRebuildScheduler, cache);
|
|
731
|
+
}
|
|
732
|
+
const { host, connection } = await resolveBackingApplyTarget(this.ctx, plan, cache);
|
|
733
|
+
const ops = await computeResidualBatchOps(this.ctx, plan, entry, host, connection);
|
|
734
|
+
if (ops.length === 0)
|
|
735
|
+
return [];
|
|
736
|
+
return host.applyMaintenance(connection, ops);
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Round backstop for {@link flushDeferredMaintenance}. The full-rebuild sub-DAG is acyclic,
|
|
691
740
|
* so the drain converges in at most one round per chain level — bounded by the row-time
|
|
692
741
|
* MV count. A round count beyond that (`+1` slack for an initial dirty set already
|
|
693
742
|
* spanning multiple levels) signals a structural impossibility (a cycle) — fail loud
|
|
@@ -763,20 +812,24 @@ export class MaterializedViewManager {
|
|
|
763
812
|
*
|
|
764
813
|
* Unlike the bounded-delta arms this ignores the specific changed row — the floor
|
|
765
814
|
* rebuilds wholesale. It is therefore deferred to a single end-of-statement flush
|
|
766
|
-
* ({@link
|
|
815
|
+
* ({@link flushDeferredMaintenance}) rather than run per source row, so a bulk statement
|
|
767
816
|
* rebuilds exactly once; this is that one rebuild. An empty body (zero rows) yields a
|
|
768
817
|
* `'replace-all' []`, which empties the backing. Kept on the manager (delegating the
|
|
769
818
|
* scan / backing write to the apply-module free helpers) so the per-statement-flush
|
|
770
819
|
* deferral suite can instrument it to count rebuilds.
|
|
771
820
|
*/
|
|
772
821
|
async applyFullRebuild(plan, cache) {
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
822
|
+
return this.applyReplaceAll(plan, plan.bodyScheduler, cache);
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* Run a whole-body scheduler to completion against live mid-transaction source state
|
|
826
|
+
* and apply the single `'replace-all'` keyed diff. The shared kernel of the
|
|
827
|
+
* full-rebuild floor ({@link applyFullRebuild}) and the residual arms' per-statement
|
|
828
|
+
* rebuild demotion ({@link applyResidualBatch}).
|
|
829
|
+
*/
|
|
830
|
+
async applyReplaceAll(plan, bodyScheduler, cache) {
|
|
831
|
+
const rows = await runScheduler(this.ctx, bodyScheduler, {});
|
|
832
|
+
const { host, connection } = await resolveBackingApplyTarget(this.ctx, plan, cache);
|
|
780
833
|
return host.applyMaintenance(connection, [{ kind: 'replace-all', rows }]);
|
|
781
834
|
}
|
|
782
835
|
/* ──────────────── row-time covering enforcement ──────────────── */
|
|
@@ -787,13 +840,15 @@ export class MaterializedViewManager {
|
|
|
787
840
|
* this confirms a live row-time plan exists for the source, the MV is not
|
|
788
841
|
* `stale` (structural breakage), and the plan is **per-row maintained** — only
|
|
789
842
|
* then is its backing table row-time consistent enough to answer conflict
|
|
790
|
-
* resolution.
|
|
791
|
-
*
|
|
792
|
-
*
|
|
793
|
-
*
|
|
794
|
-
*
|
|
795
|
-
*
|
|
796
|
-
*
|
|
843
|
+
* resolution. Only the `'inverse-projection'` arm qualifies: every other arm —
|
|
844
|
+
* the `'full-rebuild'` floor and the residual arms — is deferred to the
|
|
845
|
+
* end-of-statement flush (its backing lags the source mid-statement), so it can
|
|
846
|
+
* never serve as a covering structure for a synchronous per-row UNIQUE probe —
|
|
847
|
+
* all are skipped here regardless of any (informational) `coveringStructureName`
|
|
848
|
+
* link, which keeps an eligibility flip from opening a stale-read enforcement
|
|
849
|
+
* path. O(1) negative fast path off {@link rowTimeBySource} so a source table
|
|
850
|
+
* with no row-time covering MV pays a single map lookup and stays on the
|
|
851
|
+
* synchronous index/scan path.
|
|
797
852
|
*
|
|
798
853
|
* **Collation eligibility gate.** A covering MV generates its conflict candidates
|
|
799
854
|
* by re-comparing each backing row under the SOURCE column's DECLARED collation
|
|
@@ -829,9 +884,11 @@ export class MaterializedViewManager {
|
|
|
829
884
|
const mv = plan.mv;
|
|
830
885
|
if (mv.name !== mvName)
|
|
831
886
|
continue; // must be THE linked covering MV
|
|
832
|
-
//
|
|
833
|
-
// the
|
|
834
|
-
|
|
887
|
+
// Only the inverse-projection arm is per-row maintained; every other arm —
|
|
888
|
+
// the full-rebuild floor AND the residual arms — is reconciled at the
|
|
889
|
+
// end-of-statement flush, so its backing lags the source mid-statement and
|
|
890
|
+
// cannot answer a synchronous per-row UNIQUE probe.
|
|
891
|
+
if (plan.kind !== 'inverse-projection')
|
|
835
892
|
return undefined;
|
|
836
893
|
if (mv.derivation.stale)
|
|
837
894
|
return undefined; // not row-time consistent
|
|
@@ -937,8 +994,7 @@ export class MaterializedViewManager {
|
|
|
937
994
|
const backing = this.ctx.schemaManager.getTable(plan.backingSchema, plan.backingTableName);
|
|
938
995
|
if (!backing)
|
|
939
996
|
return [];
|
|
940
|
-
const host =
|
|
941
|
-
const connection = await getBackingConnection(this.ctx, host, `${plan.backingSchema}.${plan.backingTableName}`);
|
|
997
|
+
const { host, connection } = await resolveBackingApplyTarget(this.ctx, plan);
|
|
942
998
|
// Both comparisons below run per scanned backing row, so resolve their collations
|
|
943
999
|
// once here, against this database (a redefined NOCASE must be honored).
|
|
944
1000
|
//
|
|
@@ -953,6 +1009,16 @@ export class MaterializedViewManager {
|
|
|
953
1009
|
const resolver = this.ctx.getCollationResolver();
|
|
954
1010
|
const ucCollationFns = resolveCollationFunctions(resolver, uc.columns.map(c => sourceSchema.columns[c]?.collation));
|
|
955
1011
|
const pkCollationFns = resolveCollationFunctions(resolver, pkDef.map(d => d.collation));
|
|
1012
|
+
// Collation alone is not the whole identity notion: a semantic-ordering column
|
|
1013
|
+
// (`docs/types.md` § Semantic ordering — TIMESPAN's 'PT1H' == 'PT60M') calls two
|
|
1014
|
+
// different spellings one value, and both backends key such a column through the
|
|
1015
|
+
// type's `compare`. Route both comparisons through the shared constructor so a
|
|
1016
|
+
// candidate that is semantically equal but textually different is not dropped here
|
|
1017
|
+
// before the re-validators ever see it. Orthogonal to the declared-vs-enforcement
|
|
1018
|
+
// collation choice above: the two spellings are one value at EVERY site, so
|
|
1019
|
+
// admitting them keeps the candidate set a superset either way.
|
|
1020
|
+
const ucComparators = uniqueEnforcementComparators(sourceSchema.columns, uc.columns, ucCollationFns);
|
|
1021
|
+
const pkComparators = uniqueEnforcementComparators(sourceSchema.columns, pkDef.map(d => d.index), pkCollationFns);
|
|
956
1022
|
const conflicts = [];
|
|
957
1023
|
// Fast path: a backing-PK prefix scan keyed on `newRow`'s UC values. The
|
|
958
1024
|
// covering-index shape guarantees the leading backing-PK columns are the UC
|
|
@@ -967,7 +1033,7 @@ export class MaterializedViewManager {
|
|
|
967
1033
|
for await (const backingRow of host.scanEffective(connection, { equalityPrefix })) {
|
|
968
1034
|
let match = true;
|
|
969
1035
|
for (let k = 0; k < uc.columns.length; k++) {
|
|
970
|
-
if (
|
|
1036
|
+
if (ucComparators[k](newRow[uc.columns[k]], backingRow[ucBackingCols[k]]) !== 0) {
|
|
971
1037
|
match = false;
|
|
972
1038
|
break;
|
|
973
1039
|
}
|
|
@@ -978,7 +1044,7 @@ export class MaterializedViewManager {
|
|
|
978
1044
|
// Exclude the row currently being written (its own source PK).
|
|
979
1045
|
let isSelf = sourcePk.length === newSourcePk.length;
|
|
980
1046
|
for (let i = 0; isSelf && i < sourcePk.length; i++) {
|
|
981
|
-
if (
|
|
1047
|
+
if (pkComparators[i](sourcePk[i], newSourcePk[i]) !== 0)
|
|
982
1048
|
isSelf = false;
|
|
983
1049
|
}
|
|
984
1050
|
if (isSelf)
|
|
@@ -1005,8 +1071,9 @@ export class MaterializedViewManager {
|
|
|
1005
1071
|
* - the leading `k` backing-PK columns do not map to **exactly** the UC
|
|
1006
1072
|
* source-column set (defensive guard against a non-UC-leading structure);
|
|
1007
1073
|
* - any leading backing-PK column, or its source UC column, has a **non-BINARY**
|
|
1008
|
-
* collation. This is a *soundness* gate, not a perf choice: the
|
|
1009
|
-
*
|
|
1074
|
+
* collation. This is a *soundness* gate, not a perf choice: the scan request
|
|
1075
|
+
* carries no collation names, so the prefix seek's early-termination resolves its
|
|
1076
|
+
* comparators at the BINARY floor (`resolveScanComparators`), while the
|
|
1010
1077
|
* backing btree orders the PK by its declared collation and the UNIQUE
|
|
1011
1078
|
* constraint conflicts by the source collation. Under a non-binary collation
|
|
1012
1079
|
* the binary early-termination could `break` before a collated-equal /
|
|
@@ -1034,6 +1101,16 @@ export class MaterializedViewManager {
|
|
|
1034
1101
|
// Soundness: both the backing-PK column (btree ordering / early-termination)
|
|
1035
1102
|
// and its source UC column (UNIQUE semantics) must be BINARY for the binary
|
|
1036
1103
|
// prefix-equality scan to neither over- nor under-match.
|
|
1104
|
+
//
|
|
1105
|
+
// NOTE: a semantic-ordering column (TIMESPAN — 'PT1H' == 'PT60M') declares no
|
|
1106
|
+
// collation, so `isBinaryCollation` returns true and it PASSES this gate. That is
|
|
1107
|
+
// correct, not an oversight: both backings key such a column through the type
|
|
1108
|
+
// (memory via `createTypedComparator` in `resolveScanComparators`, the store via
|
|
1109
|
+
// `storeSemanticKeyTransform` — TIMESPAN's `groupKey`, JSON's structural byte
|
|
1110
|
+
// encoder), so equal-value rows are physically contiguous and the seek lands on
|
|
1111
|
+
// the whole group regardless of spelling — the early-termination cannot `break`
|
|
1112
|
+
// before a semantically-equal conflict. Do not "fix" the gate to decline these
|
|
1113
|
+
// columns; it would silently lose the fast path.
|
|
1037
1114
|
if (!isBinaryCollation(d.collation))
|
|
1038
1115
|
return undefined;
|
|
1039
1116
|
const sourceCol = projector.sourceCol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-materialized-views.js","sourceRoot":"","sources":["../../../src/core/database-materialized-views.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database-materialized-views.js","sourceRoot":"","sources":["../../../src/core/database-materialized-views.ts"],"names":[],"mappings":"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"}
|
|
@@ -773,6 +773,11 @@ export declare class Database implements TransactionManagerContext, AssertionEva
|
|
|
773
773
|
* partway leaves earlier MVs converged; the caller (snapshot bootstrap) retries
|
|
774
774
|
* the whole load idempotently.
|
|
775
775
|
*
|
|
776
|
+
* An engine convergence primitive, NOT a SQL statement: the
|
|
777
|
+
* `ddl_transaction_policy = 'strict'` gate that refuses `refresh materialized
|
|
778
|
+
* view` inside an explicit transaction does not apply here. A caller that opens
|
|
779
|
+
* its own `begin` around the sweep still gets the commit-first behavior above.
|
|
780
|
+
*
|
|
776
781
|
* Serialized via the exec mutex like any statement — do NOT call from within
|
|
777
782
|
* statement execution or a vtab callback (deadlock; same constraint as
|
|
778
783
|
* `refresh materialized view` itself). Returns the refreshed MV identifiers
|