@quereus/quereus 4.6.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 +2 -2
- 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 +62 -0
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +88 -2
- 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 +4 -2
- 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.d.ts +9 -1
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +36 -10
- 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/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/scalar.d.ts.map +1 -1
- package/dist/src/func/builtins/scalar.js +24 -20
- 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 +32 -5
- package/dist/src/func/builtins/schema.js.map +1 -1
- package/dist/src/index.d.ts +4 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -4
- 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.js +1 -1
- 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/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 +53 -17
- package/dist/src/planner/building/alter-table.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/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 +53 -40
- 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 +187 -2
- package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
- package/dist/src/planner/building/select-aggregates.js +414 -81
- 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 +91 -0
- package/dist/src/planner/building/select-context.d.ts.map +1 -1
- package/dist/src/planner/building/select-context.js +113 -0
- 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.map +1 -1
- package/dist/src/planner/building/select.js +129 -59
- 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/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 +14 -5
- package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.js +28 -21
- package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.d.ts +27 -2
- 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/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/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/filter.d.ts.map +1 -1
- package/dist/src/planner/nodes/filter.js +12 -6
- package/dist/src/planner/nodes/filter.js.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.d.ts +0 -5
- package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.js +17 -20
- 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/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 +85 -16
- 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.map +1 -1
- package/dist/src/planner/nodes/plan-node.d.ts +5 -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 +16 -35
- package/dist/src/planner/nodes/project-node.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 +8 -1
- 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/stream-aggregate.d.ts +0 -5
- package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.js +18 -24
- 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 +64 -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/optimizer.d.ts +18 -0
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +59 -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 +297 -71
- 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 +11 -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 +46 -2
- 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 +6 -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/join/index-nested-loop.d.ts.map +1 -1
- package/dist/src/planner/rules/join/index-nested-loop.js +13 -7
- package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
- 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 +2 -2
- 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 +46 -16
- 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 +14 -0
- 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-selectivity.d.ts +33 -19
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +37 -18
- 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 +6 -3
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +6 -3
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -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 +11 -21
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
- package/dist/src/planner/rules/shared/access-leaf.d.ts +16 -3
- package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -1
- package/dist/src/planner/rules/shared/access-leaf.js +21 -5
- package/dist/src/planner/rules/shared/access-leaf.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +1 -1
- 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.js +1 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
- 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/ind-utils.d.ts +28 -20
- package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
- package/dist/src/planner/util/ind-utils.js +36 -27
- package/dist/src/planner/util/ind-utils.js.map +1 -1
- package/dist/src/planner/util/key-utils.d.ts +19 -4
- package/dist/src/planner/util/key-utils.d.ts.map +1 -1
- package/dist/src/planner/util/key-utils.js +23 -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 +11 -0
- package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
- package/dist/src/planner/util/row-estimates.js +28 -0
- package/dist/src/planner/util/row-estimates.js.map +1 -1
- 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 +22 -6
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/alter-schema-event.d.ts +59 -4
- package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-schema-event.js +63 -4
- package/dist/src/runtime/emit/alter-schema-event.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +212 -92
- 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 +15 -4
- 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/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 +169 -1
- 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-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/key-set-semi-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/key-set-semi-join.js +5 -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/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/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/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.js +19 -3
- package/dist/src/schema/catalog-persistability.js.map +1 -1
- package/dist/src/schema/catalog.d.ts +6 -0
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +26 -36
- 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/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.js +8 -0
- package/dist/src/schema/ddl-generator.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 +30 -12
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +49 -17
- 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 +122 -11
- package/dist/src/schema/schema-differ.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 +38 -0
- package/dist/src/types/builtin-types.d.ts.map +1 -1
- package/dist/src/types/builtin-types.js +77 -26
- package/dist/src/types/builtin-types.js.map +1 -1
- 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/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/vtab/events.d.ts +3 -0
- 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/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +3 -69
- package/dist/src/vtab/memory/layer/manager.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 +62 -2
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/module.d.ts +26 -2
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +8 -1
- 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/util/working-table-iterable.d.ts.map +0 -1
- package/dist/src/util/working-table-iterable.js.map +0 -1
|
@@ -1,8 +1,6 @@
|
|
|
1
|
+
import { spineCloneAst } from '../util/ast-spine-clone.js';
|
|
1
2
|
const eq = (a, b) => (a ?? '').toLowerCase() === (b ?? '').toLowerCase();
|
|
2
3
|
const schemaMatches = (nodeSchema, defaultSchema) => nodeSchema === undefined || eq(nodeSchema, defaultSchema);
|
|
3
|
-
// ──────────────────────────────────────────────────────────────────────
|
|
4
|
-
// Table rename
|
|
5
|
-
// ──────────────────────────────────────────────────────────────────────
|
|
6
4
|
export function renameTableInAst(node, oldName, newName, defaultSchemaName) {
|
|
7
5
|
if (!node)
|
|
8
6
|
return false;
|
|
@@ -10,9 +8,44 @@ export function renameTableInAst(node, oldName, newName, defaultSchemaName) {
|
|
|
10
8
|
visitTableRename(node, oldName, newName, defaultSchemaName, ctx);
|
|
11
9
|
return ctx.changed;
|
|
12
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Whether `node` refers to the table/view `name` in schema `defaultSchemaName` —
|
|
13
|
+
* read-only, nothing is mutated.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately the SAME traversal {@link renameTableInAst} uses, run with
|
|
16
|
+
* `dryRun`, so "refers to" can never drift from "would have been rewritten by a
|
|
17
|
+
* rename". That equivalence is the whole point: the DROP guard refuses exactly
|
|
18
|
+
* the cases `ALTER TABLE … RENAME` would have followed. A second traversal — or
|
|
19
|
+
* a `renameTableInAst(clone, name, name, …)` trick, which would silently
|
|
20
|
+
* re-case identifiers — would both break it.
|
|
21
|
+
*
|
|
22
|
+
* `name` is passed as both old and new name; under `dryRun` the new name is
|
|
23
|
+
* never read.
|
|
24
|
+
*
|
|
25
|
+
* The column-level probes ({@link columnReferencedInAst},
|
|
26
|
+
* {@link columnReferencedInCheckExpression}) reach the same equivalence a
|
|
27
|
+
* different way — a real rename, to a sentinel name, over a throwaway
|
|
28
|
+
* {@link spineCloneAst} copy — because the column walker has ~8 mutation points
|
|
29
|
+
* and a CTE-re-exposure branch that reads the new name, so threading `dryRun`
|
|
30
|
+
* through it is the riskier of the two. Neither flaw of the identity-rename
|
|
31
|
+
* trick warned against above applies there: the mutated node is a discarded
|
|
32
|
+
* clone (nothing user-visible is re-cased), and the target is a fresh name no
|
|
33
|
+
* column can hold, so `newCol !== oldCol` and the re-exposure branch answers
|
|
34
|
+
* exactly as it would for a real rename to an unused name.
|
|
35
|
+
*/
|
|
36
|
+
export function tableReferencedInAst(node, name, defaultSchemaName) {
|
|
37
|
+
if (!node)
|
|
38
|
+
return false;
|
|
39
|
+
const ctx = { changed: false, dryRun: true };
|
|
40
|
+
visitTableRename(node, name, name, defaultSchemaName, ctx);
|
|
41
|
+
return ctx.changed;
|
|
42
|
+
}
|
|
13
43
|
function visitTableRename(node, oldName, newName, defaultSchemaName, ctx) {
|
|
14
44
|
if (!node)
|
|
15
45
|
return;
|
|
46
|
+
// A dry run only answers yes/no — stop as soon as the answer is known.
|
|
47
|
+
if (ctx.dryRun && ctx.changed)
|
|
48
|
+
return;
|
|
16
49
|
switch (node.type) {
|
|
17
50
|
case 'select': {
|
|
18
51
|
const stmt = node;
|
|
@@ -91,7 +124,8 @@ function visitTableRename(node, oldName, newName, defaultSchemaName, ctx) {
|
|
|
91
124
|
case 'table': {
|
|
92
125
|
const ts = node;
|
|
93
126
|
if (eq(ts.table.name, oldName) && schemaMatches(ts.table.schema, defaultSchemaName)) {
|
|
94
|
-
|
|
127
|
+
if (!ctx.dryRun)
|
|
128
|
+
ts.table.name = newName;
|
|
95
129
|
ctx.changed = true;
|
|
96
130
|
}
|
|
97
131
|
break;
|
|
@@ -176,7 +210,8 @@ function visitTableRename(node, oldName, newName, defaultSchemaName, ctx) {
|
|
|
176
210
|
case 'column': {
|
|
177
211
|
const col = node;
|
|
178
212
|
if (col.table && eq(col.table, oldName) && schemaMatches(col.schema, defaultSchemaName)) {
|
|
179
|
-
|
|
213
|
+
if (!ctx.dryRun)
|
|
214
|
+
col.table = newName;
|
|
180
215
|
ctx.changed = true;
|
|
181
216
|
}
|
|
182
217
|
break;
|
|
@@ -190,8 +225,9 @@ function visitTableRename(node, oldName, newName, defaultSchemaName, ctx) {
|
|
|
190
225
|
* Apply an in-place expression rewrite across a schema-object collection,
|
|
191
226
|
* skipping items whose expression is absent. Returns whether any item changed.
|
|
192
227
|
*
|
|
193
|
-
* Backs the
|
|
194
|
-
* below, which differ only in which field they pluck and which walker they
|
|
228
|
+
* Backs the `rename{Column,Table}In{IndexPredicates,CheckConstraints,ColumnExpressions}`
|
|
229
|
+
* entry points below, which differ only in which field they pluck and which walker they
|
|
230
|
+
* run.
|
|
195
231
|
*/
|
|
196
232
|
function rewriteEach(items, pick, rewrite) {
|
|
197
233
|
let changed = false;
|
|
@@ -228,11 +264,40 @@ export function renameTableInIndexPredicates(indexes, oldName, newName, defaultS
|
|
|
228
264
|
export function renameTableInCheckConstraints(checks, oldName, newName, defaultSchemaName) {
|
|
229
265
|
return rewriteEach(checks, cc => cc.expr, expr => renameTableInAst(expr, oldName, newName, defaultSchemaName));
|
|
230
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* Rewrite the renamed table inside the two expressions a `ColumnSchema` can carry —
|
|
269
|
+
* a column DEFAULT (`w integer default ((select min(v) from u))`, however authored:
|
|
270
|
+
* inline, or via `ALTER TABLE … ALTER COLUMN … SET DEFAULT`, which writes the same
|
|
271
|
+
* field) and a generated column's body (`g integer generated always as ((select
|
|
272
|
+
* min(u.v) from u) + id)`) — in place.
|
|
273
|
+
*
|
|
274
|
+
* Unlike the column-rename counterpart ({@link renameColumnInColumnExpressions}) there
|
|
275
|
+
* is no seeded/unseeded split: {@link renameTableInAst} resolves nothing against an
|
|
276
|
+
* implicit owning table, so the SAME entry point is correct for the renamed table's own
|
|
277
|
+
* columns (a self-referencing default, `default ((select count(*) from t))`) and for
|
|
278
|
+
* every other table's.
|
|
279
|
+
*
|
|
280
|
+
* Same sharing and idempotence story as {@link renameTableInCheckConstraints}: the
|
|
281
|
+
* `Expression` is the very AST the catalog's `TableSchema` holds, so one in-place
|
|
282
|
+
* rewrite reaches every holder and a second call with the same pair finds nothing
|
|
283
|
+
* naming `oldName` and returns false.
|
|
284
|
+
*
|
|
285
|
+
* The parameter is structurally typed rather than `ColumnSchema[]` so this module stays
|
|
286
|
+
* free of catalog imports; `ColumnSchema` satisfies it.
|
|
287
|
+
*/
|
|
288
|
+
export function renameTableInColumnExpressions(columns, oldName, newName, defaultSchemaName) {
|
|
289
|
+
const rewrite = (expr) => renameTableInAst(expr, oldName, newName, defaultSchemaName);
|
|
290
|
+
// Both walks always run — `||` on the results, not short-circuited between them.
|
|
291
|
+
const defaultsChanged = rewriteEach(columns, c => c.defaultValue ?? undefined, rewrite);
|
|
292
|
+
const generatedChanged = rewriteEach(columns, c => c.generatedExpr, rewrite);
|
|
293
|
+
return defaultsChanged || generatedChanged;
|
|
294
|
+
}
|
|
231
295
|
function rewriteIdentifierIfTable(id, oldName, newName, defaultSchemaName, ctx) {
|
|
232
296
|
if (!id)
|
|
233
297
|
return;
|
|
234
298
|
if (eq(id.name, oldName) && schemaMatches(id.schema, defaultSchemaName)) {
|
|
235
|
-
|
|
299
|
+
if (!ctx.dryRun)
|
|
300
|
+
id.name = newName;
|
|
236
301
|
ctx.changed = true;
|
|
237
302
|
}
|
|
238
303
|
}
|
|
@@ -266,6 +331,7 @@ export function renameColumnInAst(node, tableName, oldColName, newColName, defau
|
|
|
266
331
|
scopeStack: [],
|
|
267
332
|
changed: false,
|
|
268
333
|
resolveColumnInSource,
|
|
334
|
+
matchRowImageQualifier: false,
|
|
269
335
|
};
|
|
270
336
|
visitColumnRename(node, state);
|
|
271
337
|
return state.changed;
|
|
@@ -290,6 +356,20 @@ export function renameColumnInAst(node, tableName, oldColName, newColName, defau
|
|
|
290
356
|
* sources are not asked (the rewriter would need recursive column-set
|
|
291
357
|
* inference on their bodies). `renameColumnInAst` shares the same callback
|
|
292
358
|
* (passed by the view-body callers) and the same limitation.
|
|
359
|
+
*
|
|
360
|
+
* The seed also makes this walk the owner of the `new.` / `old.` **row-image**
|
|
361
|
+
* namespace: a CHECK may name the row being written explicitly
|
|
362
|
+
* (`check (new.a > 0)`, `check on delete (old.a > 0)` — `docs/sql-ddl.md`
|
|
363
|
+
* § CHECK Constraints), and those qualifiers name the owning table's row, not
|
|
364
|
+
* anything a FROM clause binds. So the qualified-ref case matches them too —
|
|
365
|
+
* but only here, never through `renameColumnInAst`, where a `new.` ref belongs
|
|
366
|
+
* to some other table's row image.
|
|
367
|
+
*
|
|
368
|
+
* That match is scope-**aware**, not depth-blind, because `new` and `old` are
|
|
369
|
+
* not reserved words in this parser: `create table "new" (…)` is legal, so a
|
|
370
|
+
* CHECK may legitimately contain `(select max("new".a) from "new")`. The match
|
|
371
|
+
* therefore requires that no FROM/WITH frame above the seed rebind the
|
|
372
|
+
* qualifier — see `matchesRowImage`.
|
|
293
373
|
*/
|
|
294
374
|
export function renameColumnInCheckExpression(expr, tableName, oldColName, newColName, defaultSchemaName, resolveColumnInSource) {
|
|
295
375
|
if (!expr)
|
|
@@ -302,6 +382,7 @@ export function renameColumnInCheckExpression(expr, tableName, oldColName, newCo
|
|
|
302
382
|
scopeStack: [],
|
|
303
383
|
changed: false,
|
|
304
384
|
resolveColumnInSource,
|
|
385
|
+
matchRowImageQualifier: true,
|
|
305
386
|
};
|
|
306
387
|
const frame = emptyFrame();
|
|
307
388
|
frame.unaliased.add(state.tableName);
|
|
@@ -314,6 +395,52 @@ export function renameColumnInCheckExpression(expr, tableName, oldColName, newCo
|
|
|
314
395
|
}
|
|
315
396
|
return state.changed;
|
|
316
397
|
}
|
|
398
|
+
/**
|
|
399
|
+
* Sentinel rename target for the two read-only column probes below. No user
|
|
400
|
+
* column can hold this name, and the probe rewrites *to* it, so it can never
|
|
401
|
+
* collide with anything the walk is looking for.
|
|
402
|
+
*/
|
|
403
|
+
const PROBE_COLUMN_NAME = '__quereus_column_probe__';
|
|
404
|
+
/**
|
|
405
|
+
* Whether `node` refers to `tableName`.`columnName` — read-only with respect to
|
|
406
|
+
* the caller's AST; a throwaway {@link spineCloneAst} copy is what gets
|
|
407
|
+
* rewritten.
|
|
408
|
+
*
|
|
409
|
+
* Same equivalence {@link tableReferencedInAst} establishes for the table verb,
|
|
410
|
+
* and for the same reason: "refers to" must mean "would have been rewritten by
|
|
411
|
+
* `ALTER TABLE … RENAME COLUMN`", or a DROP guard built on it refuses a
|
|
412
|
+
* different set of cases than the rename follows. See that function's comment
|
|
413
|
+
* for why the column verb reaches it by clone+sentinel rather than by `dryRun`.
|
|
414
|
+
*
|
|
415
|
+
* `resolveColumnInSource` is **not optional in practice**: without it the walk
|
|
416
|
+
* has no way to tell that an unqualified ref inside a subquery binds to a
|
|
417
|
+
* like-named column on the subquery's own FROM source, and a caller asking
|
|
418
|
+
* "does this body name `t.v`?" gets `true` for a body whose only `v` is
|
|
419
|
+
* another table's. Every caller should pass the catalog-backed resolver
|
|
420
|
+
* (`buildColumnSourceResolver`).
|
|
421
|
+
*
|
|
422
|
+
* NOTE: one spine clone plus one walk per probe, and the DROP COLUMN guard probes every
|
|
423
|
+
* live assertion. Trivial at the handful-of-assertions scale schemas have today, and it
|
|
424
|
+
* only runs on DDL; if a schema ever carries assertions by the hundred, filter by
|
|
425
|
+
* `tableReferencedInAst` (no clone) before paying for the column probe.
|
|
426
|
+
*/
|
|
427
|
+
export function columnReferencedInAst(node, tableName, columnName, defaultSchemaName, resolveColumnInSource) {
|
|
428
|
+
if (!node)
|
|
429
|
+
return false;
|
|
430
|
+
return renameColumnInAst(spineCloneAst(node), tableName, columnName, PROBE_COLUMN_NAME, defaultSchemaName, resolveColumnInSource);
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* {@link columnReferencedInAst} for an expression that resolves unqualified refs
|
|
434
|
+
* against an implicit binding to `tableName` — a CHECK expression or a
|
|
435
|
+
* partial-index predicate. Uses {@link renameColumnInCheckExpression}'s seeded
|
|
436
|
+
* entry point so the probe answers for exactly the scope that expression is
|
|
437
|
+
* planned in.
|
|
438
|
+
*/
|
|
439
|
+
export function columnReferencedInCheckExpression(expr, tableName, columnName, defaultSchemaName, resolveColumnInSource) {
|
|
440
|
+
if (!expr)
|
|
441
|
+
return false;
|
|
442
|
+
return renameColumnInCheckExpression(spineCloneAst(expr), tableName, columnName, PROBE_COLUMN_NAME, defaultSchemaName, resolveColumnInSource);
|
|
443
|
+
}
|
|
317
444
|
/**
|
|
318
445
|
* Rewrite the renamed column inside every partial-index predicate of `indexes`,
|
|
319
446
|
* in place. A predicate resolves unqualified refs against the indexed table
|
|
@@ -332,6 +459,12 @@ export function renameColumnInCheckExpression(expr, tableName, oldColName, newCo
|
|
|
332
459
|
*
|
|
333
460
|
* The parameter is structurally typed rather than `IndexSchema[]` so this module
|
|
334
461
|
* stays free of catalog imports; `IndexSchema` satisfies it.
|
|
462
|
+
*
|
|
463
|
+
* Sharing the seeded entry point also brings its `new.` / `old.` row-image match
|
|
464
|
+
* along, which is inert here: a partial-index predicate describes rows already
|
|
465
|
+
* stored, has no written-row context, and a predicate naming one would not plan
|
|
466
|
+
* in the first place. Nothing to suppress — noted so the shared entry point does
|
|
467
|
+
* not read as an oversight.
|
|
335
468
|
*/
|
|
336
469
|
export function renameColumnInIndexPredicates(indexes, tableName, oldColName, newColName, defaultSchemaName, resolveColumnInSource) {
|
|
337
470
|
return rewriteEach(indexes, idx => idx.predicate, expr => renameColumnInCheckExpression(expr, tableName, oldColName, newColName, defaultSchemaName, resolveColumnInSource));
|
|
@@ -349,6 +482,48 @@ export function renameColumnInIndexPredicates(indexes, tableName, oldColName, ne
|
|
|
349
482
|
export function renameColumnInCheckConstraints(checks, tableName, oldColName, newColName, defaultSchemaName, resolveColumnInSource) {
|
|
350
483
|
return rewriteEach(checks, cc => cc.expr, expr => renameColumnInCheckExpression(expr, tableName, oldColName, newColName, defaultSchemaName, resolveColumnInSource));
|
|
351
484
|
}
|
|
485
|
+
/**
|
|
486
|
+
* Rewrite the renamed column inside the two expressions a `ColumnSchema` can carry —
|
|
487
|
+
* a column DEFAULT (`b integer default (new.a + 1)`, however authored: inline, or via
|
|
488
|
+
* `ALTER TABLE … ALTER COLUMN … SET DEFAULT`, which writes the same field) and a
|
|
489
|
+
* generated column's body (`g integer generated always as (a + 1)`) — in place, for
|
|
490
|
+
* every column of the renamed table itself.
|
|
491
|
+
*
|
|
492
|
+
* The seeded {@link renameColumnInCheckExpression} entry point is correct for both, for
|
|
493
|
+
* the two halves of what the seed provides:
|
|
494
|
+
*
|
|
495
|
+
* - The implicit unaliased binding to the owning table is what makes a generated
|
|
496
|
+
* column's **bare** `a` resolve — it has no FROM clause to bind against, exactly like
|
|
497
|
+
* a CHECK.
|
|
498
|
+
* - The seed also owns the `new.` / `old.` **row-image** namespace, which is what makes a
|
|
499
|
+
* default's `new.a` resolve. A default is evaluated against the row being written, so
|
|
500
|
+
* that qualifier names this table's row image, not anything a FROM binds.
|
|
501
|
+
*
|
|
502
|
+
* Case folding (`NEW.A`) and the shadowing edge (a real table literally named `new`,
|
|
503
|
+
* reached from a subquery inside the expression) therefore behave exactly as they do for
|
|
504
|
+
* a CHECK, because the same walk decides all three.
|
|
505
|
+
*
|
|
506
|
+
* Only pass the renamed table's OWN columns. A default on a *different* table can reach
|
|
507
|
+
* this table only through a subquery, so an unqualified ref there must bind inside that
|
|
508
|
+
* subquery's FROM — that caller wants {@link renameColumnInAst}, whose walk has no seed.
|
|
509
|
+
*
|
|
510
|
+
* Same sharing and idempotence story as {@link renameColumnInCheckConstraints}: a
|
|
511
|
+
* module's rename hook rebuilds only the renamed column's `ColumnSchema` and keeps every
|
|
512
|
+
* other one by reference, and even the rebuilt one carries the SAME expression nodes
|
|
513
|
+
* (`buildConstraintsFromColumn` passes them into the reconstructed `ColumnDef` by
|
|
514
|
+
* reference and `columnDefToSchema` assigns them straight back), so one in-place rewrite
|
|
515
|
+
* reaches every holder and a second call with the same pair is a no-op.
|
|
516
|
+
*
|
|
517
|
+
* The parameter is structurally typed rather than `ColumnSchema[]` so this module stays
|
|
518
|
+
* free of catalog imports; `ColumnSchema` satisfies it.
|
|
519
|
+
*/
|
|
520
|
+
export function renameColumnInColumnExpressions(columns, tableName, oldColName, newColName, defaultSchemaName, resolveColumnInSource) {
|
|
521
|
+
const rewrite = (expr) => renameColumnInCheckExpression(expr, tableName, oldColName, newColName, defaultSchemaName, resolveColumnInSource);
|
|
522
|
+
// Both walks always run — `||` on the results, not short-circuited between them.
|
|
523
|
+
const defaultsChanged = rewriteEach(columns, c => c.defaultValue ?? undefined, rewrite);
|
|
524
|
+
const generatedChanged = rewriteEach(columns, c => c.generatedExpr, rewrite);
|
|
525
|
+
return defaultsChanged || generatedChanged;
|
|
526
|
+
}
|
|
352
527
|
function emptyFrame() {
|
|
353
528
|
return {
|
|
354
529
|
unaliased: new Set(),
|
|
@@ -509,6 +684,66 @@ function isQualifierShadowedInScope(state, qualifier) {
|
|
|
509
684
|
}
|
|
510
685
|
return false;
|
|
511
686
|
}
|
|
687
|
+
/**
|
|
688
|
+
* Whether a qualified column ref names the **row image** of the table this
|
|
689
|
+
* seeded walk was entered for — `new.<col>` / `old.<col>` inside one of its own
|
|
690
|
+
* CHECK expressions. Only the seeded entry point sets
|
|
691
|
+
* `matchRowImageQualifier`; see {@link renameColumnInCheckExpression} for why
|
|
692
|
+
* that scoping is what keeps another table's `new.` ref out of this match.
|
|
693
|
+
*
|
|
694
|
+
* A schema-qualified `main.new.a` is a real three-part table reference, never a
|
|
695
|
+
* row image, so it is excluded outright.
|
|
696
|
+
*
|
|
697
|
+
* `qualifierLower` is `col.table` already lowercased by the caller.
|
|
698
|
+
*/
|
|
699
|
+
function matchesRowImage(state, col, qualifierLower) {
|
|
700
|
+
if (!state.matchRowImageQualifier)
|
|
701
|
+
return false;
|
|
702
|
+
if (col.schema !== undefined)
|
|
703
|
+
return false;
|
|
704
|
+
if (qualifierLower !== 'new' && qualifierLower !== 'old')
|
|
705
|
+
return false;
|
|
706
|
+
return !isQualifierReboundAboveSeed(state, qualifierLower);
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Whether any real FROM / WITH frame rebinds `qualifier` to a row source of its
|
|
710
|
+
* own, which would make a `new.` / `old.` ref name that source rather than the
|
|
711
|
+
* row image. `new` and `old` are not reserved words here — `create table "new"`
|
|
712
|
+
* is legal — so this scan is what stops the row-image match from false-firing
|
|
713
|
+
* inside `check ((select max("new".a) from "new") >= 0)`.
|
|
714
|
+
*
|
|
715
|
+
* The scan starts at index 1: frame 0 is the implicit seed
|
|
716
|
+
* {@link renameColumnInCheckExpression} pushes for the owning table, which is
|
|
717
|
+
* not a FROM binding and must not count as a rebind. All four ways a frame can
|
|
718
|
+
* bind a qualifier are checked — an unaliased source, an alias, a CTE name in
|
|
719
|
+
* scope, and a shadowing-but-not-exposing CTE source.
|
|
720
|
+
*
|
|
721
|
+
* Deliberately "any enclosing frame wins" rather than innermost-first: a frame
|
|
722
|
+
* only sits above index 0 while the walk is *inside* the subquery that pushed
|
|
723
|
+
* it, so every such frame really does enclose the reference. A top-level
|
|
724
|
+
* `new.a` in `check (new.a > 0 and (select count(*) from "new") >= 0)` is
|
|
725
|
+
* visited with only the seed on the stack and still matches.
|
|
726
|
+
*
|
|
727
|
+
* NOTE: the residual is a *correlated* `new.<col>` written inside a subquery
|
|
728
|
+
* that selects from a real table named `new` — left alone by both the rewrite
|
|
729
|
+
* and the drop refusal, since the qualifier is ambiguous there anyway. If that
|
|
730
|
+
* ever needs to resolve to the row image, it needs a spelling that distinguishes
|
|
731
|
+
* the two (the SQL standard has none), not a change to this scan.
|
|
732
|
+
*/
|
|
733
|
+
function isQualifierReboundAboveSeed(state, qualifier) {
|
|
734
|
+
for (let i = 1; i < state.scopeStack.length; i++) {
|
|
735
|
+
const frame = state.scopeStack[i];
|
|
736
|
+
if (frame.unaliased.has(qualifier))
|
|
737
|
+
return true;
|
|
738
|
+
if (frame.aliasMap.has(qualifier))
|
|
739
|
+
return true;
|
|
740
|
+
if (frame.ctesInScope.has(qualifier))
|
|
741
|
+
return true;
|
|
742
|
+
if (frame.ctesShadowingSource.has(qualifier))
|
|
743
|
+
return true;
|
|
744
|
+
}
|
|
745
|
+
return false;
|
|
746
|
+
}
|
|
512
747
|
function visitColumnRename(node, state) {
|
|
513
748
|
if (!node)
|
|
514
749
|
return;
|
|
@@ -830,7 +1065,11 @@ function visitColumnRename(node, state) {
|
|
|
830
1065
|
(col.schema === undefined || eq(col.schema, state.defaultSchema)) &&
|
|
831
1066
|
!isQualifierShadowedInScope(state, qualifierLower);
|
|
832
1067
|
const viaAlias = aliasResolvesToTable(state, col.table);
|
|
833
|
-
|
|
1068
|
+
// Row-image match is tried LAST so a table genuinely named `new` or
|
|
1069
|
+
// `old` that is itself the renamed table keeps resolving through
|
|
1070
|
+
// `directHit` exactly as it did before this path existed.
|
|
1071
|
+
const rowImageHit = !directHit && !viaAlias && matchesRowImage(state, col, qualifierLower);
|
|
1072
|
+
if (directHit || viaAlias || rowImageHit) {
|
|
834
1073
|
col.name = state.newCol;
|
|
835
1074
|
state.changed = true;
|
|
836
1075
|
}
|
|
@@ -971,6 +1210,12 @@ function isResultColumnExposure(col, bodyFrame, state) {
|
|
|
971
1210
|
* is the reserved written-row namespace no FROM source legitimately shadows), so
|
|
972
1211
|
* no scope tracking applies — narrower and simpler than the scope-aware walkers
|
|
973
1212
|
* above. Returns whether any reference was rewritten.
|
|
1213
|
+
*
|
|
1214
|
+
* Depth-blind **on purpose**, unlike the row-image match in `matchesRowImage`.
|
|
1215
|
+
* The two look alike but answer different questions: this one rewrites by view
|
|
1216
|
+
* *output* name inside a `with inverse` expr, whose grammar admits no FROM
|
|
1217
|
+
* clause that could rebind `new`, whereas a CHECK body may contain a subquery
|
|
1218
|
+
* selecting from a real table named `"new"` and so must consult the scope stack.
|
|
974
1219
|
*/
|
|
975
1220
|
function renameNewQualifiedRefs(expr, renames) {
|
|
976
1221
|
let changed = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rename-rewriter.js","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rename-rewriter.js","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import type { SqlValue } from '../common/types.js';
|
|
|
10
10
|
* — lens advisory acknowledgments / access-pattern hints (`docs/lens.md`
|
|
11
11
|
* § Acknowledging advisories).
|
|
12
12
|
* - `quereus.id` / `quereus.previous_name`
|
|
13
|
-
* — declarative-differ rename hints (docs/schema.md
|
|
13
|
+
* — declarative-differ rename hints (docs/schema-rename-detection.md).
|
|
14
14
|
* - `quereus.sync.replicate`
|
|
15
15
|
* — per-table opt-in that records a maintained table / materialized view's
|
|
16
16
|
* maintenance writes in the sync change log (`docs/migration.md` § Synced vs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reserved-tags.d.ts","sourceRoot":"","sources":["../../../src/schema/reserved-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAChB,UAAU,GACV,UAAU,GACV,eAAe,GACf,oBAAoB,GAKpB,gBAAgB,GAKhB,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,CAAC;AAEzB,gGAAgG;AAChG,eAAO,MAAM,kBAAkB,kDAAmD,CAAC;AACnF,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,oCAAqC,CAAC;AACzE,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,yCAA0C,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACvB,QAAQ,GACR,SAAS,GACT,oBAAoB,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpC,6BAA6B,GAC7B,iBAAiB,CAAC;AAErB;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AAED,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAC5B,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"reserved-tags.d.ts","sourceRoot":"","sources":["../../../src/schema/reserved-tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* — lens advisory acknowledgments / access-pattern hints (`docs/lens.md`
|
|
10
10
|
* § Acknowledging advisories).
|
|
11
11
|
* - `quereus.id` / `quereus.previous_name`
|
|
12
|
-
* — declarative-differ rename hints (docs/schema.md
|
|
12
|
+
* — declarative-differ rename hints (docs/schema-rename-detection.md).
|
|
13
13
|
* - `quereus.sync.replicate`
|
|
14
14
|
* — per-table opt-in that records a maintained table / materialized view's
|
|
15
15
|
* maintenance writes in the sync change log (`docs/migration.md` § Synced vs.
|
|
@@ -111,8 +111,9 @@ const RESERVED_TAG_SPECS = [
|
|
|
111
111
|
// tags through this registry with hard-error-on-unknown. valueSchema is
|
|
112
112
|
// `'string'` (NOT csv-of-identifiers): the differ never value-validated these,
|
|
113
113
|
// and a real id may carry a hyphen (`'tbl-thing'`) or name a quoted identifier
|
|
114
|
-
// — tightening would falsely reject existing schemas. See
|
|
115
|
-
//
|
|
114
|
+
// — tightening would falsely reject existing schemas. See
|
|
115
|
+
// docs/schema-rename-detection.md. A future ticket may add a dedicated
|
|
116
|
+
// `csv-of-names` schema.
|
|
116
117
|
{
|
|
117
118
|
key: 'quereus.id',
|
|
118
119
|
sites: siteSet('physical-table', 'physical-column', 'view-ddl', 'physical-index', 'physical-constraint'),
|