@quereus/quereus 4.5.0 → 4.7.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 +5 -4
- package/dist/src/common/errors.d.ts +17 -0
- package/dist/src/common/errors.d.ts.map +1 -1
- package/dist/src/common/errors.js +21 -0
- package/dist/src/common/errors.js.map +1 -1
- package/dist/src/core/database-assertions.d.ts +4 -3
- package/dist/src/core/database-assertions.d.ts.map +1 -1
- package/dist/src/core/database-assertions.js +44 -14
- package/dist/src/core/database-assertions.js.map +1 -1
- package/dist/src/core/database-events.d.ts +161 -1
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +307 -5
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-internal.d.ts +5 -2
- package/dist/src/core/database-internal.d.ts.map +1 -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 +33 -4
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
- package/dist/src/core/database-materialized-views-plans.d.ts +12 -2
- package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.d.ts +46 -0
- package/dist/src/core/database-materialized-views.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.js +75 -4
- package/dist/src/core/database-materialized-views.js.map +1 -1
- package/dist/src/core/database-transaction.d.ts +9 -0
- package/dist/src/core/database-transaction.d.ts.map +1 -1
- package/dist/src/core/database-transaction.js +9 -0
- package/dist/src/core/database-transaction.js.map +1 -1
- package/dist/src/core/database.d.ts +16 -2
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +56 -15
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/derived-row-validator.d.ts.map +1 -1
- package/dist/src/core/derived-row-validator.js +7 -1
- package/dist/src/core/derived-row-validator.js.map +1 -1
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +15 -5
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/emit/ast-stringify.d.ts +18 -2
- package/dist/src/emit/ast-stringify.d.ts.map +1 -1
- package/dist/src/emit/ast-stringify.js +22 -4
- package/dist/src/emit/ast-stringify.js.map +1 -1
- package/dist/src/func/builtins/aggregate.js +11 -11
- 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 +15 -85
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/builtins/conversion.d.ts.map +1 -1
- package/dist/src/func/builtins/conversion.js +10 -9
- package/dist/src/func/builtins/conversion.js.map +1 -1
- package/dist/src/func/builtins/datetime.d.ts.map +1 -1
- package/dist/src/func/builtins/datetime.js +28 -10
- package/dist/src/func/builtins/datetime.js.map +1 -1
- package/dist/src/func/builtins/explain.d.ts.map +1 -1
- package/dist/src/func/builtins/explain.js +19 -5
- 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 +23 -17
- package/dist/src/func/builtins/json.js.map +1 -1
- package/dist/src/func/builtins/mutation.js +2 -2
- package/dist/src/func/builtins/mutation.js.map +1 -1
- package/dist/src/func/builtins/return-types.d.ts +327 -0
- package/dist/src/func/builtins/return-types.d.ts.map +1 -0
- package/dist/src/func/builtins/return-types.js +43 -0
- package/dist/src/func/builtins/return-types.js.map +1 -0
- package/dist/src/func/builtins/scalar.d.ts.map +1 -1
- package/dist/src/func/builtins/scalar.js +150 -79
- package/dist/src/func/builtins/scalar.js.map +1 -1
- package/dist/src/func/builtins/schema.d.ts.map +1 -1
- package/dist/src/func/builtins/schema.js +43 -8
- package/dist/src/func/builtins/schema.js.map +1 -1
- package/dist/src/func/builtins/string.d.ts.map +1 -1
- package/dist/src/func/builtins/string.js +4 -2
- package/dist/src/func/builtins/string.js.map +1 -1
- package/dist/src/func/builtins/timespan.d.ts +3 -0
- package/dist/src/func/builtins/timespan.d.ts.map +1 -1
- package/dist/src/func/builtins/timespan.js +15 -11
- package/dist/src/func/builtins/timespan.js.map +1 -1
- package/dist/src/func/registration.d.ts +35 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +235 -41
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +14 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/ast.d.ts +58 -1
- package/dist/src/parser/ast.d.ts.map +1 -1
- package/dist/src/parser/parser.d.ts +46 -0
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +161 -45
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/parser/utils.d.ts +13 -1
- package/dist/src/parser/utils.d.ts.map +1 -1
- package/dist/src/parser/utils.js +14 -0
- package/dist/src/parser/utils.js.map +1 -1
- package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
- package/dist/src/planner/analysis/assertion-classifier.js +7 -2
- package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
- package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
- package/dist/src/planner/analysis/assertion-hoist-cache.js +5 -0
- package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
- package/dist/src/planner/analysis/change-scope.d.ts +11 -3
- package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
- package/dist/src/planner/analysis/change-scope.js +5 -4
- package/dist/src/planner/analysis/change-scope.js.map +1 -1
- package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
- package/dist/src/planner/analysis/check-extraction.js +37 -4
- package/dist/src/planner/analysis/check-extraction.js.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.d.ts +20 -22
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +29 -26
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts +0 -7
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +59 -59
- package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.js +13 -5
- package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
- package/dist/src/planner/analysis/equi-correlation.d.ts +6 -1
- package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -1
- package/dist/src/planner/analysis/equi-correlation.js +8 -1
- package/dist/src/planner/analysis/equi-correlation.js.map +1 -1
- package/dist/src/planner/analysis/predicate-dependencies.d.ts +34 -0
- package/dist/src/planner/analysis/predicate-dependencies.d.ts.map +1 -0
- package/dist/src/planner/analysis/predicate-dependencies.js +60 -0
- package/dist/src/planner/analysis/predicate-dependencies.js.map +1 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +0 -26
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
- package/dist/src/planner/building/alter-table.d.ts.map +1 -1
- package/dist/src/planner/building/alter-table.js +117 -43
- package/dist/src/planner/building/alter-table.js.map +1 -1
- package/dist/src/planner/building/coercion.d.ts +21 -45
- package/dist/src/planner/building/coercion.d.ts.map +1 -1
- package/dist/src/planner/building/coercion.js +42 -91
- package/dist/src/planner/building/coercion.js.map +1 -1
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +9 -5
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/create-assertion.d.ts.map +1 -1
- package/dist/src/planner/building/create-assertion.js +72 -1
- package/dist/src/planner/building/create-assertion.js.map +1 -1
- package/dist/src/planner/building/create-view.d.ts +6 -1
- package/dist/src/planner/building/create-view.d.ts.map +1 -1
- package/dist/src/planner/building/create-view.js +12 -3
- package/dist/src/planner/building/create-view.js.map +1 -1
- package/dist/src/planner/building/ddl.d.ts.map +1 -1
- package/dist/src/planner/building/ddl.js +6 -2
- package/dist/src/planner/building/ddl.js.map +1 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +23 -10
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/dml-target.d.ts.map +1 -1
- package/dist/src/planner/building/dml-target.js +4 -0
- package/dist/src/planner/building/dml-target.js.map +1 -1
- package/dist/src/planner/building/drop-assertion.d.ts.map +1 -1
- package/dist/src/planner/building/drop-assertion.js +3 -1
- package/dist/src/planner/building/drop-assertion.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts +17 -0
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +28 -17
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.js +7 -5
- package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
- package/dist/src/planner/building/function-call.d.ts +35 -0
- package/dist/src/planner/building/function-call.d.ts.map +1 -1
- package/dist/src/planner/building/function-call.js +60 -42
- package/dist/src/planner/building/function-call.js.map +1 -1
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +185 -48
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/materialized-view.d.ts.map +1 -1
- package/dist/src/planner/building/materialized-view.js +3 -1
- package/dist/src/planner/building/materialized-view.js.map +1 -1
- package/dist/src/planner/building/schema-authored-context.d.ts +69 -0
- package/dist/src/planner/building/schema-authored-context.d.ts.map +1 -0
- package/dist/src/planner/building/schema-authored-context.js +75 -0
- package/dist/src/planner/building/schema-authored-context.js.map +1 -0
- package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
- package/dist/src/planner/building/schema-resolution.js +7 -4
- package/dist/src/planner/building/schema-resolution.js.map +1 -1
- package/dist/src/planner/building/select-aggregates.d.ts +188 -3
- package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
- package/dist/src/planner/building/select-aggregates.js +449 -65
- package/dist/src/planner/building/select-aggregates.js.map +1 -1
- package/dist/src/planner/building/select-compound.js +2 -2
- package/dist/src/planner/building/select-compound.js.map +1 -1
- package/dist/src/planner/building/select-context.d.ts +98 -0
- package/dist/src/planner/building/select-context.d.ts.map +1 -1
- package/dist/src/planner/building/select-context.js +120 -37
- package/dist/src/planner/building/select-context.js.map +1 -1
- package/dist/src/planner/building/select-modifiers.d.ts +10 -3
- package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
- package/dist/src/planner/building/select-modifiers.js +29 -8
- package/dist/src/planner/building/select-modifiers.js.map +1 -1
- package/dist/src/planner/building/select-ordinal.d.ts +64 -19
- package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
- package/dist/src/planner/building/select-ordinal.js +79 -30
- package/dist/src/planner/building/select-ordinal.js.map +1 -1
- package/dist/src/planner/building/select-projections.d.ts +1 -1
- package/dist/src/planner/building/select-projections.d.ts.map +1 -1
- package/dist/src/planner/building/select-projections.js +18 -11
- package/dist/src/planner/building/select-projections.js.map +1 -1
- package/dist/src/planner/building/select-window.d.ts +13 -3
- package/dist/src/planner/building/select-window.d.ts.map +1 -1
- package/dist/src/planner/building/select-window.js +142 -37
- package/dist/src/planner/building/select-window.js.map +1 -1
- package/dist/src/planner/building/select.d.ts +37 -1
- package/dist/src/planner/building/select.d.ts.map +1 -1
- package/dist/src/planner/building/select.js +240 -109
- 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 +27 -13
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/building/view-mutation-builder.d.ts +1 -1
- package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
- package/dist/src/planner/building/view-mutation-builder.js +102 -8
- 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 +34 -4
- package/dist/src/planner/building/with.js.map +1 -1
- package/dist/src/planner/cache/correlation-detector.d.ts +15 -0
- package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
- package/dist/src/planner/cache/correlation-detector.js +26 -0
- package/dist/src/planner/cache/correlation-detector.js.map +1 -1
- package/dist/src/planner/cache/materialization-advisory.d.ts +7 -0
- package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
- package/dist/src/planner/cache/materialization-advisory.js +12 -3
- package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
- package/dist/src/planner/cost/conjunct-cost.d.ts +40 -0
- package/dist/src/planner/cost/conjunct-cost.d.ts.map +1 -1
- package/dist/src/planner/cost/conjunct-cost.js +45 -0
- package/dist/src/planner/cost/conjunct-cost.js.map +1 -1
- package/dist/src/planner/cost/index.d.ts +10 -0
- package/dist/src/planner/cost/index.d.ts.map +1 -1
- package/dist/src/planner/cost/index.js +15 -0
- package/dist/src/planner/cost/index.js.map +1 -1
- package/dist/src/planner/framework/characteristics.d.ts +9 -0
- package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
- package/dist/src/planner/framework/characteristics.js.map +1 -1
- package/dist/src/planner/framework/pass.d.ts +2 -0
- package/dist/src/planner/framework/pass.d.ts.map +1 -1
- package/dist/src/planner/framework/pass.js +15 -0
- package/dist/src/planner/framework/pass.js.map +1 -1
- package/dist/src/planner/mutation/backward-body.d.ts.map +1 -1
- package/dist/src/planner/mutation/backward-body.js +4 -1
- package/dist/src/planner/mutation/backward-body.js.map +1 -1
- package/dist/src/planner/mutation/body-context.d.ts +23 -0
- package/dist/src/planner/mutation/body-context.d.ts.map +1 -0
- package/dist/src/planner/mutation/body-context.js +26 -0
- package/dist/src/planner/mutation/body-context.js.map +1 -0
- package/dist/src/planner/mutation/cte-flatten.js +15 -2
- package/dist/src/planner/mutation/cte-flatten.js.map +1 -1
- package/dist/src/planner/mutation/decomposition.d.ts +8 -0
- package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
- package/dist/src/planner/mutation/decomposition.js +8 -3
- package/dist/src/planner/mutation/decomposition.js.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.js +1 -1
- package/dist/src/planner/mutation/multi-source.d.ts +7 -0
- package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
- package/dist/src/planner/mutation/multi-source.js +5 -0
- package/dist/src/planner/mutation/multi-source.js.map +1 -1
- package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
- package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
- package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
- package/dist/src/planner/mutation/scope-transform.d.ts +32 -0
- package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -1
- package/dist/src/planner/mutation/scope-transform.js +181 -33
- package/dist/src/planner/mutation/scope-transform.js.map +1 -1
- package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
- package/dist/src/planner/mutation/set-op.js +66 -16
- package/dist/src/planner/mutation/set-op.js.map +1 -1
- package/dist/src/planner/mutation/single-source.d.ts.map +1 -1
- package/dist/src/planner/mutation/single-source.js +100 -24
- package/dist/src/planner/mutation/single-source.js.map +1 -1
- package/dist/src/planner/nodes/add-constraint-node.d.ts +15 -1
- package/dist/src/planner/nodes/add-constraint-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/add-constraint-node.js +10 -1
- package/dist/src/planner/nodes/add-constraint-node.js.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.d.ts +15 -0
- package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.js +32 -17
- 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 +2 -1
- package/dist/src/planner/nodes/alias-node.js.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.d.ts +51 -10
- package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.js +49 -2
- package/dist/src/planner/nodes/alter-table-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 +4 -1
- package/dist/src/planner/nodes/asof-scan-node.js.map +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.js +2 -1
- package/dist/src/planner/nodes/asserted-keys-node.js.map +1 -1
- package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/bloom-join-node.js +8 -3
- package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
- package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cache-node.js +2 -1
- package/dist/src/planner/nodes/cache-node.js.map +1 -1
- package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/constraint-check-node.js +17 -19
- package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
- package/dist/src/planner/nodes/create-assertion-node.d.ts +2 -1
- package/dist/src/planner/nodes/create-assertion-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/create-assertion-node.js +5 -2
- package/dist/src/planner/nodes/create-assertion-node.js.map +1 -1
- package/dist/src/planner/nodes/cte-node.d.ts +19 -9
- package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cte-node.js +25 -9
- package/dist/src/planner/nodes/cte-node.js.map +1 -1
- package/dist/src/planner/nodes/delete-node.d.ts +20 -2
- package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/delete-node.js +11 -2
- package/dist/src/planner/nodes/delete-node.js.map +1 -1
- package/dist/src/planner/nodes/distinct-node.d.ts +6 -0
- package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/distinct-node.js +10 -2
- package/dist/src/planner/nodes/distinct-node.js.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.d.ts +58 -1
- package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.js +107 -15
- package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
- package/dist/src/planner/nodes/drop-assertion-node.d.ts +2 -1
- package/dist/src/planner/nodes/drop-assertion-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/drop-assertion-node.js +5 -2
- package/dist/src/planner/nodes/drop-assertion-node.js.map +1 -1
- package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/eager-prefetch-node.js +2 -1
- package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -1
- package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +5 -0
- package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/fanout-lookup-join-node.js +13 -6
- package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -1
- package/dist/src/planner/nodes/filter.d.ts.map +1 -1
- package/dist/src/planner/nodes/filter.js +18 -5
- package/dist/src/planner/nodes/filter.js.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.d.ts +1 -0
- package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.js +21 -16
- package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/insert-node.d.ts +19 -2
- package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/insert-node.js +10 -2
- package/dist/src/planner/nodes/insert-node.js.map +1 -1
- package/dist/src/planner/nodes/join-node.d.ts +20 -1
- package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-node.js +30 -9
- package/dist/src/planner/nodes/join-node.js.map +1 -1
- package/dist/src/planner/nodes/join-utils.d.ts +21 -0
- package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-utils.js +26 -0
- package/dist/src/planner/nodes/join-utils.js.map +1 -1
- package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +42 -10
- package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/key-set-semi-join-node.js +90 -17
- package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +5 -0
- package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js +2 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
- package/dist/src/planner/nodes/limit-offset.d.ts +6 -0
- package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
- package/dist/src/planner/nodes/limit-offset.js +10 -2
- package/dist/src/planner/nodes/limit-offset.js.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.js +8 -3
- package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.d.ts +5 -0
- package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.js +9 -2
- package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
- package/dist/src/planner/nodes/plan-node.d.ts +29 -0
- package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node.js +12 -0
- package/dist/src/planner/nodes/plan-node.js.map +1 -1
- package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/project-node.js +18 -36
- package/dist/src/planner/nodes/project-node.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +3 -2
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/nodes/retrieve-node.d.ts +16 -2
- package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/retrieve-node.js +10 -2
- package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
- package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/returning-node.js +13 -32
- package/dist/src/planner/nodes/returning-node.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +5 -18
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/nodes/sort.d.ts.map +1 -1
- package/dist/src/planner/nodes/sort.js +3 -1
- package/dist/src/planner/nodes/sort.js.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.d.ts +1 -0
- package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.js +22 -20
- package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts +89 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +69 -2
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/nodes/update-node.d.ts +19 -2
- package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/update-node.js +10 -2
- package/dist/src/planner/nodes/update-node.js.map +1 -1
- package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-function.js +8 -0
- package/dist/src/planner/nodes/window-function.js.map +1 -1
- package/dist/src/planner/nodes/window-node.d.ts +1 -1
- package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-node.js +3 -1
- package/dist/src/planner/nodes/window-node.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts +27 -1
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +130 -10
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/planning-context.d.ts +24 -0
- package/dist/src/planner/planning-context.d.ts.map +1 -1
- package/dist/src/planner/planning-context.js.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +78 -20
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.js +296 -135
- package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
- package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts +30 -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 +70 -5
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +7 -4
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +39 -5
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.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 +15 -2
- package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +10 -3
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +6 -4
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +5 -31
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.js +4 -44
- package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
- package/dist/src/planner/rules/join/index-nested-loop.d.ts +49 -0
- package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -0
- package/dist/src/planner/rules/join/index-nested-loop.js +291 -0
- package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -0
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +8 -8
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +4 -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 +50 -15
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-elimination.d.ts +6 -0
- package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-elimination.js +25 -9
- package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-key-inference.d.ts +7 -0
- package/dist/src/planner/rules/join/rule-join-key-inference.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-key-inference.js +23 -11
- package/dist/src/planner/rules/join/rule-join-key-inference.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +10 -4
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.js +115 -29
- package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +2 -0
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +18 -4
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +2 -2
- package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +19 -22
- package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts +21 -8
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js +70 -14
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +56 -17
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +103 -154
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +76 -0
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -0
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +208 -0
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -0
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts +14 -11
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +21 -85
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts +7 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +18 -22
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
- package/dist/src/planner/rules/shared/access-leaf.d.ts +52 -0
- package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -0
- package/dist/src/planner/rules/shared/access-leaf.js +95 -0
- package/dist/src/planner/rules/shared/access-leaf.js.map +1 -0
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +17 -7
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts +3 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +26 -9
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -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 +69 -11
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
- package/dist/src/planner/rules/window/rule-monotonic-window.d.ts +17 -7
- package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -1
- package/dist/src/planner/rules/window/rule-monotonic-window.js +124 -87
- package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
- package/dist/src/planner/scopes/aliased.d.ts.map +1 -1
- package/dist/src/planner/scopes/aliased.js +6 -0
- package/dist/src/planner/scopes/aliased.js.map +1 -1
- package/dist/src/planner/stats/catalog-stats.d.ts +44 -13
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
- package/dist/src/planner/stats/catalog-stats.js +137 -61
- package/dist/src/planner/stats/catalog-stats.js.map +1 -1
- package/dist/src/planner/stats/conjunct-selectivity.d.ts +48 -0
- package/dist/src/planner/stats/conjunct-selectivity.d.ts.map +1 -0
- package/dist/src/planner/stats/conjunct-selectivity.js +168 -0
- package/dist/src/planner/stats/conjunct-selectivity.js.map +1 -0
- package/dist/src/planner/stats/index.d.ts +22 -3
- package/dist/src/planner/stats/index.d.ts.map +1 -1
- package/dist/src/planner/stats/index.js.map +1 -1
- package/dist/src/planner/stats/table-cardinality.d.ts +28 -0
- package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -0
- package/dist/src/planner/stats/table-cardinality.js +29 -0
- package/dist/src/planner/stats/table-cardinality.js.map +1 -0
- package/dist/src/planner/stored-body-context.d.ts +57 -0
- package/dist/src/planner/stored-body-context.d.ts.map +1 -0
- package/dist/src/planner/stored-body-context.js +64 -0
- package/dist/src/planner/stored-body-context.js.map +1 -0
- package/dist/src/planner/util/column-origins.d.ts +29 -8
- package/dist/src/planner/util/column-origins.d.ts.map +1 -1
- package/dist/src/planner/util/column-origins.js +74 -14
- package/dist/src/planner/util/column-origins.js.map +1 -1
- package/dist/src/planner/util/fd-utils.d.ts +32 -8
- package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
- package/dist/src/planner/util/fd-utils.js +46 -9
- package/dist/src/planner/util/fd-utils.js.map +1 -1
- package/dist/src/planner/util/ind-utils.d.ts +66 -19
- package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
- package/dist/src/planner/util/ind-utils.js +91 -21
- package/dist/src/planner/util/ind-utils.js.map +1 -1
- package/dist/src/planner/util/key-utils.d.ts +36 -3
- package/dist/src/planner/util/key-utils.d.ts.map +1 -1
- package/dist/src/planner/util/key-utils.js +57 -7
- package/dist/src/planner/util/key-utils.js.map +1 -1
- package/dist/src/planner/util/output-names.d.ts +12 -0
- package/dist/src/planner/util/output-names.d.ts.map +1 -0
- package/dist/src/planner/util/output-names.js +20 -0
- package/dist/src/planner/util/output-names.js.map +1 -0
- package/dist/src/planner/util/row-estimates.d.ts +39 -0
- package/dist/src/planner/util/row-estimates.d.ts.map +1 -0
- package/dist/src/planner/util/row-estimates.js +68 -0
- package/dist/src/planner/util/row-estimates.js.map +1 -0
- package/dist/src/planner/util/row-population.d.ts +42 -0
- package/dist/src/planner/util/row-population.d.ts.map +1 -0
- package/dist/src/planner/util/row-population.js +71 -0
- package/dist/src/planner/util/row-population.js.map +1 -0
- package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +3 -2
- package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +60 -6
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +4 -4
- package/dist/src/runtime/emit/aggregate.js.map +1 -1
- package/dist/src/runtime/emit/alter-schema-event.d.ts +97 -0
- package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -0
- package/dist/src/runtime/emit/alter-schema-event.js +87 -0
- package/dist/src/runtime/emit/alter-schema-event.js.map +1 -0
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +582 -236
- 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 +50 -7
- package/dist/src/runtime/emit/analyze.js.map +1 -1
- package/dist/src/runtime/emit/assertion-drop-guard.d.ts +37 -0
- package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -0
- package/dist/src/runtime/emit/assertion-drop-guard.js +59 -0
- package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -0
- package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +33 -0
- package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -0
- package/dist/src/runtime/emit/assertion-rename-helpers.js +124 -0
- package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -0
- package/dist/src/runtime/emit/cast.d.ts.map +1 -1
- package/dist/src/runtime/emit/cast.js +4 -19
- 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 +10 -227
- 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 +31 -14
- package/dist/src/runtime/emit/create-assertion.js.map +1 -1
- package/dist/src/runtime/emit/cte.d.ts.map +1 -1
- package/dist/src/runtime/emit/cte.js +11 -6
- package/dist/src/runtime/emit/cte.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +233 -28
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/drop-assertion.js +8 -8
- package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
- package/dist/src/runtime/emit/drop-column-guards.d.ts +151 -0
- package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -0
- package/dist/src/runtime/emit/drop-column-guards.js +230 -0
- package/dist/src/runtime/emit/drop-column-guards.js.map +1 -0
- package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-index.js +4 -3
- 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 +6 -0
- package/dist/src/runtime/emit/drop-table.js.map +1 -1
- package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-view.js +4 -0
- package/dist/src/runtime/emit/drop-view.js.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.js +2 -2
- package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
- package/dist/src/runtime/emit/join.d.ts.map +1 -1
- package/dist/src/runtime/emit/join.js +8 -67
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/key-set-semi-join.js +11 -3
- package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +4 -4
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +34 -22
- 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 +7 -2
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/operand-comparator.d.ts +30 -0
- package/dist/src/runtime/emit/operand-comparator.d.ts.map +1 -1
- package/dist/src/runtime/emit/operand-comparator.js +34 -0
- package/dist/src/runtime/emit/operand-comparator.js.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.js +4 -5
- package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.js +30 -0
- package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
- package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
- package/dist/src/runtime/emit/subquery.js +153 -52
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/update.d.ts.map +1 -1
- package/dist/src/runtime/emit/update.js +18 -6
- package/dist/src/runtime/emit/update.js.map +1 -1
- package/dist/src/runtime/emit/window.js +36 -23
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/row-constraints.d.ts +85 -0
- package/dist/src/runtime/row-constraints.d.ts.map +1 -0
- package/dist/src/runtime/row-constraints.js +239 -0
- package/dist/src/runtime/row-constraints.js.map +1 -0
- package/dist/src/runtime/types.d.ts +8 -11
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/assertion.d.ts +14 -1
- package/dist/src/schema/assertion.d.ts.map +1 -1
- package/dist/src/schema/assertion.js +14 -1
- package/dist/src/schema/assertion.js.map +1 -1
- package/dist/src/schema/catalog-persistability.d.ts +19 -16
- package/dist/src/schema/catalog-persistability.d.ts.map +1 -1
- package/dist/src/schema/catalog-persistability.js +92 -20
- package/dist/src/schema/catalog-persistability.js.map +1 -1
- package/dist/src/schema/catalog.d.ts +73 -2
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +220 -39
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/column-source-resolver.d.ts +18 -0
- package/dist/src/schema/column-source-resolver.d.ts.map +1 -0
- package/dist/src/schema/column-source-resolver.js +22 -0
- package/dist/src/schema/column-source-resolver.js.map +1 -0
- package/dist/src/schema/column.d.ts +26 -3
- package/dist/src/schema/column.d.ts.map +1 -1
- package/dist/src/schema/column.js.map +1 -1
- package/dist/src/schema/constraint-builder.d.ts.map +1 -1
- package/dist/src/schema/constraint-builder.js +7 -1
- package/dist/src/schema/constraint-builder.js.map +1 -1
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +27 -6
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/function.d.ts +32 -1
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js +10 -2
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/lens-compiler.d.ts.map +1 -1
- package/dist/src/schema/lens-compiler.js +203 -51
- package/dist/src/schema/lens-compiler.js.map +1 -1
- package/dist/src/schema/lens-prover.d.ts +2 -3
- package/dist/src/schema/lens-prover.d.ts.map +1 -1
- package/dist/src/schema/lens-prover.js +19 -11
- package/dist/src/schema/lens-prover.js.map +1 -1
- package/dist/src/schema/manager.d.ts +115 -20
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +202 -70
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/rename-rewriter.d.ts +142 -0
- package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
- package/dist/src/schema/rename-rewriter.js +254 -9
- package/dist/src/schema/rename-rewriter.js.map +1 -1
- package/dist/src/schema/reserved-tags.d.ts +1 -1
- package/dist/src/schema/reserved-tags.d.ts.map +1 -1
- package/dist/src/schema/reserved-tags.js +4 -3
- package/dist/src/schema/reserved-tags.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts +16 -0
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +225 -38
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/table.d.ts +149 -1
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +248 -1
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +5 -3
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +5 -3
- package/dist/src/schema/unique-enforcement.js.map +1 -1
- package/dist/src/schema/view.d.ts +11 -0
- package/dist/src/schema/view.d.ts.map +1 -1
- package/dist/src/schema/view.js +12 -0
- package/dist/src/schema/view.js.map +1 -1
- package/dist/src/types/builtin-types.d.ts +54 -0
- package/dist/src/types/builtin-types.d.ts.map +1 -1
- package/dist/src/types/builtin-types.js +123 -34
- package/dist/src/types/builtin-types.js.map +1 -1
- package/dist/src/types/cast-semantics.d.ts +42 -0
- package/dist/src/types/cast-semantics.d.ts.map +1 -1
- package/dist/src/types/cast-semantics.js +64 -0
- package/dist/src/types/cast-semantics.js.map +1 -1
- package/dist/src/types/comparison-coercion.d.ts +101 -0
- package/dist/src/types/comparison-coercion.d.ts.map +1 -0
- package/dist/src/types/comparison-coercion.js +162 -0
- package/dist/src/types/comparison-coercion.js.map +1 -0
- package/dist/src/types/index.d.ts +2 -2
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +2 -2
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/logical-type.d.ts +7 -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/validation.d.ts +56 -0
- package/dist/src/types/validation.d.ts.map +1 -1
- package/dist/src/types/validation.js +68 -0
- package/dist/src/types/validation.js.map +1 -1
- package/dist/src/util/{working-table-iterable.d.ts → array-row-iterable.d.ts} +6 -6
- package/dist/src/util/array-row-iterable.d.ts.map +1 -0
- package/dist/src/util/{working-table-iterable.js → array-row-iterable.js} +6 -6
- package/dist/src/util/array-row-iterable.js.map +1 -0
- package/dist/src/util/coercion.d.ts +8 -0
- package/dist/src/util/coercion.d.ts.map +1 -1
- package/dist/src/util/coercion.js +8 -0
- package/dist/src/util/coercion.js.map +1 -1
- package/dist/src/util/comparison.d.ts +16 -3
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +21 -5
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/util/key-serializer.d.ts +46 -0
- package/dist/src/util/key-serializer.d.ts.map +1 -1
- package/dist/src/util/key-serializer.js +47 -0
- package/dist/src/util/key-serializer.js.map +1 -1
- package/dist/src/util/value-set.d.ts +21 -0
- package/dist/src/util/value-set.d.ts.map +1 -0
- package/dist/src/util/value-set.js +22 -0
- package/dist/src/util/value-set.js.map +1 -0
- package/dist/src/vtab/capabilities.d.ts +1 -1
- package/dist/src/vtab/events.d.ts +8 -1
- package/dist/src/vtab/events.d.ts.map +1 -1
- package/dist/src/vtab/events.js.map +1 -1
- package/dist/src/vtab/manifest.d.ts +15 -0
- package/dist/src/vtab/manifest.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/alter-column.d.ts +147 -0
- package/dist/src/vtab/memory/layer/alter-column.d.ts.map +1 -0
- package/dist/src/vtab/memory/layer/alter-column.js +214 -0
- package/dist/src/vtab/memory/layer/alter-column.js.map +1 -0
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +4 -3
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/interface.d.ts +2 -2
- package/dist/src/vtab/memory/layer/interface.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +176 -25
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +569 -558
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.js +32 -5
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +101 -15
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +133 -45
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +16 -1
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +64 -3
- 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 +11 -6
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/module.d.ts +77 -23
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +9 -2
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js +1 -1
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/util/working-table-iterable.d.ts.map +0 -1
- package/dist/src/util/working-table-iterable.js.map +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Row-population predicates.
|
|
3
|
+
*
|
|
4
|
+
* Answers one question: are the rows a node emits *the same rows* its source
|
|
5
|
+
* relation holds, or a different population entirely? Two callers need it —
|
|
6
|
+
* `column-origins.ts` (which attribute ids describe a base-table column) and
|
|
7
|
+
* `key-utils.ts`'s `extractRowSourceTableSchema` (whose statistics describe the
|
|
8
|
+
* rows arriving here) — and they must not drift apart.
|
|
9
|
+
*
|
|
10
|
+
* Decided by `nodeType` rather than `instanceof`: `plan-node-type.ts` is a leaf
|
|
11
|
+
* module, so importing it cannot introduce a cycle into `key-utils.ts` (which is
|
|
12
|
+
* imported from deep inside the node layer).
|
|
13
|
+
*
|
|
14
|
+
* NOTE: `Distinct` is deliberately NOT here. Its output rows are a *subset* of
|
|
15
|
+
* its source's rows, not a different population, so a base-table row fraction
|
|
16
|
+
* stays a defensible approximation. If a filter over a `distinct` ever shows a
|
|
17
|
+
* bad estimate, the reason is a heavily-skewed column — the fraction of *rows*
|
|
18
|
+
* matching a predicate and the fraction of *distinct rows* matching it diverge
|
|
19
|
+
* when values repeat unevenly — and `Distinct` should join `isRowRegrouping`.
|
|
20
|
+
* `LimitOffset`, `OrdinalSlice` and the physical access nodes are excluded for
|
|
21
|
+
* the same reason: subsets, not different populations.
|
|
22
|
+
*/
|
|
23
|
+
import type { RelationalPlanNode } from '../nodes/plan-node.js';
|
|
24
|
+
/**
|
|
25
|
+
* Does this node publish one branch's attribute ids over rows drawn from several
|
|
26
|
+
* branches? Such an id describes no single base-table column: `union all` of a
|
|
27
|
+
* 4-distinct-value column with a 1000-distinct-value one publishes the left
|
|
28
|
+
* branch's id while carrying both distributions.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isRowMerging(node: RelationalPlanNode): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Does this node emit one row per group rather than one row per input row? The
|
|
33
|
+
* output cardinality is the group count and the output values are aggregates, so
|
|
34
|
+
* the source's per-row statistics describe neither.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isRowRegrouping(node: RelationalPlanNode): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Either of the above: the rows this node emits are not the source relation's
|
|
39
|
+
* rows, so the source's statistics do not describe them.
|
|
40
|
+
*/
|
|
41
|
+
export declare function changesRowPopulation(node: RelationalPlanNode): boolean;
|
|
42
|
+
//# sourceMappingURL=row-population.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-population.d.ts","sourceRoot":"","sources":["../../../../src/planner/util/row-population.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAgB9D;AAUD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAIjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAEtE"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Row-population predicates.
|
|
3
|
+
*
|
|
4
|
+
* Answers one question: are the rows a node emits *the same rows* its source
|
|
5
|
+
* relation holds, or a different population entirely? Two callers need it —
|
|
6
|
+
* `column-origins.ts` (which attribute ids describe a base-table column) and
|
|
7
|
+
* `key-utils.ts`'s `extractRowSourceTableSchema` (whose statistics describe the
|
|
8
|
+
* rows arriving here) — and they must not drift apart.
|
|
9
|
+
*
|
|
10
|
+
* Decided by `nodeType` rather than `instanceof`: `plan-node-type.ts` is a leaf
|
|
11
|
+
* module, so importing it cannot introduce a cycle into `key-utils.ts` (which is
|
|
12
|
+
* imported from deep inside the node layer).
|
|
13
|
+
*
|
|
14
|
+
* NOTE: `Distinct` is deliberately NOT here. Its output rows are a *subset* of
|
|
15
|
+
* its source's rows, not a different population, so a base-table row fraction
|
|
16
|
+
* stays a defensible approximation. If a filter over a `distinct` ever shows a
|
|
17
|
+
* bad estimate, the reason is a heavily-skewed column — the fraction of *rows*
|
|
18
|
+
* matching a predicate and the fraction of *distinct rows* matching it diverge
|
|
19
|
+
* when values repeat unevenly — and `Distinct` should join `isRowRegrouping`.
|
|
20
|
+
* `LimitOffset`, `OrdinalSlice` and the physical access nodes are excluded for
|
|
21
|
+
* the same reason: subsets, not different populations.
|
|
22
|
+
*/
|
|
23
|
+
import { PlanNodeType } from '../nodes/plan-node-type.js';
|
|
24
|
+
/**
|
|
25
|
+
* Does this node publish one branch's attribute ids over rows drawn from several
|
|
26
|
+
* branches? Such an id describes no single base-table column: `union all` of a
|
|
27
|
+
* 4-distinct-value column with a 1000-distinct-value one publishes the left
|
|
28
|
+
* branch's id while carrying both distributions.
|
|
29
|
+
*/
|
|
30
|
+
export function isRowMerging(node) {
|
|
31
|
+
switch (node.nodeType) {
|
|
32
|
+
case PlanNodeType.SetOperation:
|
|
33
|
+
case PlanNodeType.RecursiveCTE:
|
|
34
|
+
return true;
|
|
35
|
+
case PlanNodeType.AsyncGather:
|
|
36
|
+
// `rule-async-gather-union-all` (PostOptimization) REPLACES a unionAll
|
|
37
|
+
// SetOperation with a gather that keeps children[0]'s attribute ids
|
|
38
|
+
// verbatim — same forwarding, same hazard, no SetOperation left in the
|
|
39
|
+
// plan to recognise. Its other combinators are safe: `crossProduct`
|
|
40
|
+
// concatenates every branch's own ids and `zipByKey` mints fresh ids for
|
|
41
|
+
// the merged key columns.
|
|
42
|
+
return asyncGatherCombinatorKind(node) === 'unionAll';
|
|
43
|
+
default:
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* `AsyncGatherNode.combinator.kind`, read structurally so this module stays a leaf
|
|
49
|
+
* (importing the node class would put `key-utils.ts` at risk of a cycle).
|
|
50
|
+
*/
|
|
51
|
+
function asyncGatherCombinatorKind(node) {
|
|
52
|
+
return node.combinator?.kind;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Does this node emit one row per group rather than one row per input row? The
|
|
56
|
+
* output cardinality is the group count and the output values are aggregates, so
|
|
57
|
+
* the source's per-row statistics describe neither.
|
|
58
|
+
*/
|
|
59
|
+
export function isRowRegrouping(node) {
|
|
60
|
+
return node.nodeType === PlanNodeType.Aggregate
|
|
61
|
+
|| node.nodeType === PlanNodeType.StreamAggregate
|
|
62
|
+
|| node.nodeType === PlanNodeType.HashAggregate;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Either of the above: the rows this node emits are not the source relation's
|
|
66
|
+
* rows, so the source's statistics do not describe them.
|
|
67
|
+
*/
|
|
68
|
+
export function changesRowPopulation(node) {
|
|
69
|
+
return isRowMerging(node) || isRowRegrouping(node);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=row-population.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-population.js","sourceRoot":"","sources":["../../../../src/planner/util/row-population.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAwB;IACpD,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,YAAY,CAAC,YAAY,CAAC;QAC/B,KAAK,YAAY,CAAC,YAAY;YAC7B,OAAO,IAAI,CAAC;QACb,KAAK,YAAY,CAAC,WAAW;YAC5B,uEAAuE;YACvE,oEAAoE;YACpE,uEAAuE;YACvE,oEAAoE;YACpE,yEAAyE;YACzE,0BAA0B;YAC1B,OAAO,yBAAyB,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;QACvD;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,IAAwB;IAC1D,OAAQ,IAAgE,CAAC,UAAU,EAAE,IAAI,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAwB;IACvD,OAAO,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,SAAS;WAC3C,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,eAAe;WAC9C,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,aAAa,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAwB;IAC5D,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred-constraint-queue.d.ts","sourceRoot":"","sources":["../../../src/runtime/deferred-constraint-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAY,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AASpD,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,WAAW,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAID,qBAAa,uBAAuB;IAIvB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAH/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,MAAM,CAAmC;gBAEpB,EAAE,EAAE,QAAQ;IAEzC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,aAAa,GAAG,IAAI;IAiB1N;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA4B7E,4GAA4G;IAC5G,OAAO,CAAC,WAAW;IAgBnB,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,IAAI;IAIrB,YAAY,IAAI,IAAI;IAOpB,KAAK,IAAI,IAAI;IAKP,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BxB,aAAa;
|
|
1
|
+
{"version":3,"file":"deferred-constraint-queue.d.ts","sourceRoot":"","sources":["../../../src/runtime/deferred-constraint-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAY,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AASpD,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,WAAW,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAID,qBAAa,uBAAuB;IAIvB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAH/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,MAAM,CAAmC;gBAEpB,EAAE,EAAE,QAAQ;IAEzC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,aAAa,GAAG,IAAI;IAiB1N;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA4B7E,4GAA4G;IAC5G,OAAO,CAAC,WAAW;IAgBnB,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,IAAI;IAIrB,YAAY,IAAI,IAAI;IAOpB,KAAK,IAAI,IAAI;IAKP,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BxB,aAAa;IA2B3B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,QAAQ;IA4BhB,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,cAAc;CAkCtB"}
|
|
@@ -158,8 +158,9 @@ export class DeferredConstraintQueue {
|
|
|
158
158
|
try {
|
|
159
159
|
slot.set(evaluationRow);
|
|
160
160
|
const value = await entry.evaluator(runtimeCtx);
|
|
161
|
-
// NOTE: unreachable from today's two enqueue sites (runtime/
|
|
162
|
-
//
|
|
161
|
+
// NOTE: unreachable from today's two enqueue sites (runtime/row-constraints.ts,
|
|
162
|
+
// shared by the ConstraintCheckNode emitter and the `on conflict … do update`
|
|
163
|
+
// arm, and core/derived-row-validator.ts) — both wrap their evaluator so it throws its
|
|
163
164
|
// own message, attributed identically to the immediate path. This stays as the
|
|
164
165
|
// safety net for any future caller that queues a raw evaluator; if that never
|
|
165
166
|
// happens, it can go, and if it does, prefer teaching the caller to self-attribute
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred-constraint-queue.js","sourceRoot":"","sources":["../../../src/runtime/deferred-constraint-queue.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deferred-constraint-queue.js","sourceRoot":"","sources":["../../../src/runtime/deferred-constraint-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-constraint.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"add-constraint.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAc9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAwD7F"}
|
|
@@ -2,9 +2,11 @@ import { asRun } from '../types.js';
|
|
|
2
2
|
import { QuereusError } from '../../common/errors.js';
|
|
3
3
|
import { StatusCode } from '../../common/types.js';
|
|
4
4
|
import { createLogger } from '../../common/logger.js';
|
|
5
|
-
import { opsToMask, requireVtabModule } from '../../schema/table.js';
|
|
5
|
+
import { assertConstraintNameFree, opsToMask, requireVtabModule } from '../../schema/table.js';
|
|
6
6
|
import { buildForeignKeyConstraintSchema, validateForeignKeyCollations } from '../../schema/constraint-builder.js';
|
|
7
|
+
import { assertUniqueConstraintIndexNameFree, assertUniqueConstraintNotDuplicated } from '../../schema/catalog.js';
|
|
7
8
|
import { assertDdlTransactionPolicy } from './ddl-transaction-policy.js';
|
|
9
|
+
import { emitAlterSchemaEvent, withStatementScopedSchemaEvents } from './alter-schema-event.js';
|
|
8
10
|
const log = createLogger('runtime:emit:add-constraint');
|
|
9
11
|
export function emitAddConstraint(plan, _ctx) {
|
|
10
12
|
const tableSchema = plan.table.tableSchema;
|
|
@@ -18,6 +20,17 @@ export function emitAddConstraint(plan, _ctx) {
|
|
|
18
20
|
const constraint = plan.constraint;
|
|
19
21
|
const schemaManager = rctx.db.schemaManager;
|
|
20
22
|
const schema = schemaManager.getSchemaOrFail(tableSchema.schemaName);
|
|
23
|
+
// Within-table constraint-name uniqueness (see `assertConstraintNameFree` for why it
|
|
24
|
+
// precedes both the module dispatch and the index-name guard). Placed above the
|
|
25
|
+
// engine-side / module-routed branch below so one guard covers both arms. An unnamed
|
|
26
|
+
// constraint has no user-supplied identity to collide.
|
|
27
|
+
//
|
|
28
|
+
// NOTE: when the same-named existing constraint is a UNIQUE synthesized from
|
|
29
|
+
// `CREATE UNIQUE INDEX` (`derivedFromIndex` set), this says a constraint with that
|
|
30
|
+
// name exists rather than naming the index. That is still true, and it is what the
|
|
31
|
+
// rename path already reports for the same shape.
|
|
32
|
+
if (constraint.name)
|
|
33
|
+
assertConstraintNameFree(tableSchema, constraint.name);
|
|
21
34
|
// A CHECK on a module without an `alterTable` hook stays engine-side (catalog
|
|
22
35
|
// only — DROP/RENAME CONSTRAINT are unsupported on such a module anyway, so
|
|
23
36
|
// there is no second copy to keep in sync). Every other case — including CHECK
|
|
@@ -28,9 +41,13 @@ export function emitAddConstraint(plan, _ctx) {
|
|
|
28
41
|
// against the module's stale schema reported it missing (and a later module-routed
|
|
29
42
|
// ALTER returned a schema that silently dropped it from the catalog).
|
|
30
43
|
if (constraint.type === 'check' && !tableSchema.vtabModule?.alterTable) {
|
|
31
|
-
return runAddCheckEngineSide(rctx, tableSchema, schema, constraint);
|
|
44
|
+
return runAddCheckEngineSide(rctx, tableSchema, schema, constraint, plan.sql);
|
|
32
45
|
}
|
|
33
|
-
|
|
46
|
+
// Same statement-scoped schema-event scope every `ALTER TABLE` arm runs in: the module
|
|
47
|
+
// announces from inside its own `alterTable`, so anything that throws after that call
|
|
48
|
+
// must retract the announcement. The engine-side branch above needs no scope — the
|
|
49
|
+
// backend it exists for ships no emitter, and its own emit is already at the tail.
|
|
50
|
+
return withStatementScopedSchemaEvents(rctx, () => runAddConstraintViaModule(rctx, tableSchema, schema, constraint, plan.sql));
|
|
34
51
|
}
|
|
35
52
|
return {
|
|
36
53
|
params: [],
|
|
@@ -45,7 +62,7 @@ export function emitAddConstraint(plan, _ctx) {
|
|
|
45
62
|
* path instead (see {@link runAddConstraintViaModule}), keeping the module-cached
|
|
46
63
|
* schema and the catalog consistent.
|
|
47
64
|
*/
|
|
48
|
-
async function runAddCheckEngineSide(rctx, tableSchema, schema, constraint) {
|
|
65
|
+
async function runAddCheckEngineSide(rctx, tableSchema, schema, constraint, sql) {
|
|
49
66
|
if (!constraint.expr) {
|
|
50
67
|
throw new QuereusError('CHECK constraint requires an expression', StatusCode.ERROR);
|
|
51
68
|
}
|
|
@@ -70,10 +87,25 @@ async function runAddCheckEngineSide(rctx, tableSchema, schema, constraint) {
|
|
|
70
87
|
oldObject: tableSchema,
|
|
71
88
|
newObject: updatedTableSchema
|
|
72
89
|
});
|
|
90
|
+
// A module with no `alterTable` hook is exactly the backend this fallback exists for, so
|
|
91
|
+
// this path reports too — same `alter`/`table` shape as the module-routed one below.
|
|
92
|
+
emitAlterSchemaEvent(rctx, tableSchema, {
|
|
93
|
+
type: 'alter', objectType: 'table',
|
|
94
|
+
objectName: tableSchema.name,
|
|
95
|
+
ddl: sql,
|
|
96
|
+
});
|
|
73
97
|
log('Added CHECK constraint %s to table %s.%s', constraintSchema.name, tableSchema.schemaName, tableSchema.name);
|
|
74
98
|
return null;
|
|
75
99
|
}
|
|
76
|
-
|
|
100
|
+
/**
|
|
101
|
+
* The module-routed ADD CONSTRAINT arm. Its caller runs it inside the statement-scoped
|
|
102
|
+
* schema-event scope every `ALTER TABLE` arm runs in (see
|
|
103
|
+
* {@link withStatementScopedSchemaEvents}): the module announces from inside its own
|
|
104
|
+
* `alterTable`, so anything that throws after that call must retract the announcement. The
|
|
105
|
+
* window is narrow today — the module call is this arm's last real work — but leaving one
|
|
106
|
+
* ALTER statement path unscoped is how the ADD COLUMN leak comes back.
|
|
107
|
+
*/
|
|
108
|
+
async function runAddConstraintViaModule(rctx, tableSchema, schema, constraint, sql) {
|
|
77
109
|
const module = requireVtabModule(tableSchema);
|
|
78
110
|
if (!module.alterTable) {
|
|
79
111
|
throw new QuereusError(`Module for table '${tableSchema.name}' does not support ADD CONSTRAINT`, StatusCode.UNSUPPORTED);
|
|
@@ -94,7 +126,24 @@ async function runAddConstraintViaModule(rctx, tableSchema, schema, constraint)
|
|
|
94
126
|
const fk = buildForeignKeyConstraintSchema(constraint, tableSchema.columnIndexMap, tableSchema.name, tableSchema.schemaName);
|
|
95
127
|
validateForeignKeyCollations(rctx.db, tableSchema, fk);
|
|
96
128
|
}
|
|
97
|
-
|
|
129
|
+
// Two UNIQUE guards, both pre-dispatch for the same reason the FK check above is: the
|
|
130
|
+
// store's `alterTable` persists, so a later throw would leave the damage on disk (for
|
|
131
|
+
// the name collision, a dropped `CREATE INDEX` line in the catalog entry).
|
|
132
|
+
//
|
|
133
|
+
// Order is load-bearing. The duplicate-constraint test runs FIRST because it compares
|
|
134
|
+
// the constraint itself (its column set), which both backends carry, while the
|
|
135
|
+
// index-name test compares a backing structure only the memory backend materializes —
|
|
136
|
+
// letting the latter rule first made the two backends disagree on a plain duplicate
|
|
137
|
+
// and reported it as a collision with an index the user never created.
|
|
138
|
+
if (constraint.type === 'unique') {
|
|
139
|
+
const columnNames = (constraint.columns ?? []).map(c => c.name);
|
|
140
|
+
const operation = `add ${constraint.name ? `constraint '${constraint.name}'` : 'UNIQUE constraint'} to table '${tableSchema.name}'`;
|
|
141
|
+
assertUniqueConstraintNotDuplicated(tableSchema, constraint.name, columnNames, operation);
|
|
142
|
+
assertUniqueConstraintIndexNameFree(tableSchema, constraint.name, columnNames, operation);
|
|
143
|
+
}
|
|
144
|
+
// `ddl` marks this call as the statement's own action — unlike the per-inline-constraint
|
|
145
|
+
// installs `runAddColumn` makes through the same arm, which pass none and stay silent.
|
|
146
|
+
const updatedTableSchema = await module.alterTable(rctx.db, tableSchema.schemaName, tableSchema.name, { type: 'addConstraint', constraint, ddl: sql });
|
|
98
147
|
schema.addTable(updatedTableSchema);
|
|
99
148
|
rctx.db.schemaManager.getChangeNotifier().notifyChange({
|
|
100
149
|
type: 'table_modified',
|
|
@@ -103,6 +152,11 @@ async function runAddConstraintViaModule(rctx, tableSchema, schema, constraint)
|
|
|
103
152
|
oldObject: tableSchema,
|
|
104
153
|
newObject: updatedTableSchema,
|
|
105
154
|
});
|
|
155
|
+
emitAlterSchemaEvent(rctx, tableSchema, {
|
|
156
|
+
type: 'alter', objectType: 'table',
|
|
157
|
+
objectName: tableSchema.name,
|
|
158
|
+
ddl: sql,
|
|
159
|
+
});
|
|
106
160
|
log('Added %s constraint %s to table %s.%s', constraint.type, constraint.name || 'unnamed', tableSchema.schemaName, tableSchema.name);
|
|
107
161
|
return null;
|
|
108
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-constraint.js","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAY,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"add-constraint.js","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,kCAAkC,CAAC;AAahF,OAAO,EAAY,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,eAAO,MAAM,MAAM,0BAAkC,CAAC;AAMtD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAgB3D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA0chG"}
|
|
@@ -5,7 +5,7 @@ import { AggregateFunctionCallNode } from '../../planner/nodes/aggregate-functio
|
|
|
5
5
|
import { isRelationalNode } from '../../planner/nodes/plan-node.js';
|
|
6
6
|
import { createTypedComparator } from '../../util/comparison.js';
|
|
7
7
|
import { bindAggregateSchemas, buildDistinctComparators, computeAggregateSkipCoercion } from './aggregate-setup.js';
|
|
8
|
-
import {
|
|
8
|
+
import { createValueSet } from '../../util/value-set.js';
|
|
9
9
|
import { createLogger } from '../../common/logger.js';
|
|
10
10
|
import { logContextPush, logContextPop } from '../utils.js';
|
|
11
11
|
import { coerceForAggregate } from '../../util/coercion.js';
|
|
@@ -115,7 +115,7 @@ export function emitStreamAggregate(plan, ctx) {
|
|
|
115
115
|
return cloneInitialValue(isAggregateFunctionSchema(schema) ? schema.initialValue : undefined);
|
|
116
116
|
});
|
|
117
117
|
// For DISTINCT aggregates, track unique values using BTree with pre-resolved typed comparators
|
|
118
|
-
const distinctTrees = aggregateDistinctFlags.map((isDistinct, i) => isDistinct ?
|
|
118
|
+
const distinctTrees = aggregateDistinctFlags.map((isDistinct, i) => isDistinct ? createValueSet(distinctComparators[i]) : null);
|
|
119
119
|
// Track the last source row for representative row in combined descriptor
|
|
120
120
|
let lastSourceRow = null;
|
|
121
121
|
// Process all rows
|
|
@@ -308,7 +308,7 @@ export function emitStreamAggregate(plan, ctx) {
|
|
|
308
308
|
currentAccumulators = aggregateSchemas.map(schema => {
|
|
309
309
|
return cloneInitialValue(isAggregateFunctionSchema(schema) ? schema.initialValue : undefined);
|
|
310
310
|
});
|
|
311
|
-
currentDistinctTrees = aggregateDistinctFlags.map((isDistinct, i) => isDistinct ?
|
|
311
|
+
currentDistinctTrees = aggregateDistinctFlags.map((isDistinct, i) => isDistinct ? createValueSet(distinctComparators[i]) : null);
|
|
312
312
|
// Set representative row for the new group (which is the current row)
|
|
313
313
|
currentSourceRow = row;
|
|
314
314
|
}
|
|
@@ -317,7 +317,7 @@ export function emitStreamAggregate(plan, ctx) {
|
|
|
317
317
|
currentAccumulators = aggregateSchemas.map(schema => {
|
|
318
318
|
return cloneInitialValue(isAggregateFunctionSchema(schema) ? schema.initialValue : undefined);
|
|
319
319
|
});
|
|
320
|
-
currentDistinctTrees = aggregateDistinctFlags.map((isDistinct, i) => isDistinct ?
|
|
320
|
+
currentDistinctTrees = aggregateDistinctFlags.map((isDistinct, i) => isDistinct ? createValueSet(distinctComparators[i]) : null);
|
|
321
321
|
// Set representative row for the first group
|
|
322
322
|
currentSourceRow = row;
|
|
323
323
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/runtime/emit/aggregate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/runtime/emit/aggregate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { RuntimeContext } from '../types.js';
|
|
2
|
+
import type { TableSchema } from '../../schema/table.js';
|
|
3
|
+
/**
|
|
4
|
+
* The shape one `ALTER TABLE` arm announces on the public schema channel. `schemaName` and
|
|
5
|
+
* the owning module are not listed: {@link emitAlterSchemaEvent} reads both off the arm's
|
|
6
|
+
* `tableSchema`, and neither can change across an ALTER.
|
|
7
|
+
*/
|
|
8
|
+
export interface AlterSchemaEventShape {
|
|
9
|
+
/** `drop` for DROP COLUMN — it removes an object; every other arm is `alter`. */
|
|
10
|
+
type: 'alter' | 'drop';
|
|
11
|
+
/** `column` for the per-column arms, `table` for whole-table ones. */
|
|
12
|
+
objectType: 'table' | 'column';
|
|
13
|
+
/** Table name — the NEW one for RENAME TO. */
|
|
14
|
+
objectName: string;
|
|
15
|
+
/** RENAME TO only: the table name it had before. */
|
|
16
|
+
oldObjectName?: string;
|
|
17
|
+
/** The column the arm touched, for the `column` arms. */
|
|
18
|
+
columnName?: string;
|
|
19
|
+
/** RENAME COLUMN only: the name it had before. */
|
|
20
|
+
oldColumnName?: string;
|
|
21
|
+
/** Canonical, fully-qualified SQL of the statement — the node's plan-build
|
|
22
|
+
* rendering (`AlterTableNode.sql` / `AddConstraintNode.sql`), so the auto
|
|
23
|
+
* path announces the identical text an emitter-backed module does. */
|
|
24
|
+
ddl?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Raises the public schema-change event for one `ALTER TABLE` arm on the ENGINE's own path —
|
|
28
|
+
* i.e. only when the owning module ships no event emitter of its own and some listener needs
|
|
29
|
+
* the event. Both halves of that decision stay in
|
|
30
|
+
* `SchemaManager.emitAutoSchemaEventIfNeeded`, the single gate every auto event passes
|
|
31
|
+
* through; re-deciding either half here is what opens the double-emit hazard the store
|
|
32
|
+
* package's `database-events.spec.ts` guards against.
|
|
33
|
+
*
|
|
34
|
+
* Every arm calls this at its TAIL — after the catalog swap and the internal
|
|
35
|
+
* `changeNotifier.notifyChange` — deliberately unlike the modules that emit for themselves,
|
|
36
|
+
* which emit from inside `module.alterTable` and so before the engine's catalog swap. An arm
|
|
37
|
+
* that fails after the module call (the ADD COLUMN inline-constraint revert, an
|
|
38
|
+
* `assertRenameDependentsPersistable` refusal) must announce nothing at all: announcing a
|
|
39
|
+
* change that then unwound is worse than the intra-statement ordering drift, and that drift
|
|
40
|
+
* is unobservable — each arm produces exactly one event and delivery is batched to commit.
|
|
41
|
+
*
|
|
42
|
+
* The tail placement gives the engine's own path that silence for free. A module emitting
|
|
43
|
+
* from mid-statement cannot have it for free, so both paths get it from
|
|
44
|
+
* {@link withStatementScopedSchemaEvents} below, which every ALTER statement runs under.
|
|
45
|
+
*
|
|
46
|
+
* Unlike the other auto events (see the NOTE on `emitAutoSchemaEventIfNeeded`), the ALTER
|
|
47
|
+
* ones DO carry `ddl`: the planner renders the statement's canonical, schema-qualified SQL
|
|
48
|
+
* once at plan-build time (`AlterTableNode.sql` / `AddConstraintNode.sql`) and every arm
|
|
49
|
+
* passes it here, so a memory-backed and a store-backed alteration announce the same
|
|
50
|
+
* string — the text a sync peer re-executes. A rename also carries `oldObjectName`, since
|
|
51
|
+
* `objectName` names only the NEW table and a receiver could not otherwise tell which of
|
|
52
|
+
* its tables the event is about.
|
|
53
|
+
*/
|
|
54
|
+
export declare function emitAlterSchemaEvent(rctx: RuntimeContext, tableSchema: TableSchema, event: AlterSchemaEventShape): void;
|
|
55
|
+
/**
|
|
56
|
+
* Runs one whole `ALTER TABLE` statement with its schema events made RETRACTABLE: if `fn`
|
|
57
|
+
* throws, every schema event batched since the call is dropped before the error propagates,
|
|
58
|
+
* so a statement that unwound announces nothing at all.
|
|
59
|
+
*
|
|
60
|
+
* The other half of the "one event per statement, on the success path only" rule that
|
|
61
|
+
* {@link emitAlterSchemaEvent} implements — hence the shared home. The engine's own arms
|
|
62
|
+
* satisfy the rule by construction (they emit at their tail, past any throw), but a backend
|
|
63
|
+
* that emits for ITSELF cannot: it emits from inside `module.alterTable`, which is not the
|
|
64
|
+
* end of the statement. `ADD COLUMN … <inline constraint>` then installs each constraint
|
|
65
|
+
* through further module calls, and a failure there runs `revertAddColumn` — by which point
|
|
66
|
+
* the module's announcement, carrying the statement's SQL, is already sitting in the
|
|
67
|
+
* transaction's batch. A syncing peer that executed that SQL really would add the column,
|
|
68
|
+
* diverging from the device where the statement failed.
|
|
69
|
+
*
|
|
70
|
+
* Wrapped at the STATEMENT boundary rather than around the ADD COLUMN revert: ADD COLUMN is
|
|
71
|
+
* only the arm with a demonstrated leak, and every other arm has post-module-call work of its
|
|
72
|
+
* own (`propagateTableRename`, `module.finalizeRename`, `propagateColumnRename`, the
|
|
73
|
+
* materialized-view re-registration) that can open the same window later.
|
|
74
|
+
*
|
|
75
|
+
* Call it INSIDE the arm's `run()` — after `assertDdlTransactionPolicy` and
|
|
76
|
+
* `await db._ensureTransaction()`, so the mark is taken with batching already on. Retraction
|
|
77
|
+
* is a no-op without a batch, which is correct: the events were delivered synchronously and
|
|
78
|
+
* nothing can call them back.
|
|
79
|
+
*
|
|
80
|
+
* Only the SCHEMA channel is retracted — see
|
|
81
|
+
* {@link DatabaseEventEmitter.discardSchemaEventsSince} for why touching the data channel
|
|
82
|
+
* here would swallow earlier statements' committed writes.
|
|
83
|
+
*
|
|
84
|
+
* ALTER is the only statement family scoped this way. The object-lifecycle statements are
|
|
85
|
+
* not, and `create table … maintained as` demonstrably leaks the same way (it announces the
|
|
86
|
+
* backing table's create, then a drop, when filling the table fails) — tracked as
|
|
87
|
+
* `bug-failed-maintained-create-announces-create-and-drop`, whose first question is whether
|
|
88
|
+
* this wrapper should move up to cover every DDL statement boundary instead.
|
|
89
|
+
*
|
|
90
|
+
* NOTE: nothing nests these scopes today (the one ALTER arm that runs nested SQL —
|
|
91
|
+
* the ALTER PRIMARY KEY shadow rebuild — does it under `withPublicEventsSuppressed`, so it
|
|
92
|
+
* batches no events at all). If an arm ever did nest one, the outer failure would retract the
|
|
93
|
+
* inner statement's events too, which is the wanted reading: the outer statement unwound, so
|
|
94
|
+
* everything it did announces nothing.
|
|
95
|
+
*/
|
|
96
|
+
export declare function withStatementScopedSchemaEvents<T>(rctx: RuntimeContext, fn: () => Promise<T>): Promise<T>;
|
|
97
|
+
//# sourceMappingURL=alter-schema-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alter-schema-event.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/alter-schema-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC,iFAAiF;IACjF,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;2EAEuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,qBAAqB,GAC1B,IAAI,CAKN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,+BAA+B,CAAC,CAAC,EACtD,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,CAAC,CAAC,CASZ"}
|