@quereus/quereus 4.11.0 → 4.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/common/type-inference.d.ts +12 -6
- package/dist/src/common/type-inference.d.ts.map +1 -1
- package/dist/src/common/type-inference.js +12 -24
- package/dist/src/common/type-inference.js.map +1 -1
- package/dist/src/core/database-assertions.d.ts.map +1 -1
- package/dist/src/core/database-assertions.js +7 -5
- package/dist/src/core/database-assertions.js.map +1 -1
- package/dist/src/core/database-events.d.ts +4 -3
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +4 -3
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-materialized-views-analysis.d.ts +1 -3
- package/dist/src/core/database-materialized-views-analysis.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-analysis.js +1 -11
- package/dist/src/core/database-materialized-views-analysis.js.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 +12 -10
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +13 -2
- 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 +14 -2
- package/dist/src/core/derived-row-validator.js.map +1 -1
- package/dist/src/core/param.d.ts +9 -0
- package/dist/src/core/param.d.ts.map +1 -1
- package/dist/src/core/param.js +21 -1
- package/dist/src/core/param.js.map +1 -1
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +38 -15
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +7 -2
- 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 +27 -11
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/builtins/datetime.d.ts.map +1 -1
- package/dist/src/func/builtins/datetime.js +8 -3
- 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 +9 -29
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/func/builtins/json-tvf.d.ts.map +1 -1
- package/dist/src/func/builtins/json-tvf.js +14 -7
- package/dist/src/func/builtins/json-tvf.js.map +1 -1
- package/dist/src/func/builtins/return-types.d.ts +29 -0
- package/dist/src/func/builtins/return-types.d.ts.map +1 -1
- package/dist/src/func/builtins/return-types.js +4 -1
- package/dist/src/func/builtins/return-types.js.map +1 -1
- package/dist/src/func/builtins/scalar.d.ts.map +1 -1
- package/dist/src/func/builtins/scalar.js +22 -67
- 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 +26 -16
- package/dist/src/func/builtins/schema.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +8 -5
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/parser/visitor.d.ts +16 -0
- package/dist/src/parser/visitor.d.ts.map +1 -1
- package/dist/src/parser/visitor.js +16 -0
- package/dist/src/parser/visitor.js.map +1 -1
- package/dist/src/planner/analysis/assertion-plan.d.ts +33 -0
- package/dist/src/planner/analysis/assertion-plan.d.ts.map +1 -0
- package/dist/src/planner/analysis/assertion-plan.js +39 -0
- package/dist/src/planner/analysis/assertion-plan.js.map +1 -0
- package/dist/src/planner/analysis/binary-operator-class.d.ts +55 -0
- package/dist/src/planner/analysis/binary-operator-class.d.ts.map +1 -0
- package/dist/src/planner/analysis/binary-operator-class.js +57 -0
- package/dist/src/planner/analysis/binary-operator-class.js.map +1 -0
- package/dist/src/planner/analysis/binding-extractor.d.ts +9 -3
- package/dist/src/planner/analysis/binding-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/binding-extractor.js +11 -16
- package/dist/src/planner/analysis/binding-extractor.js.map +1 -1
- package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
- package/dist/src/planner/analysis/change-scope.js +19 -6
- package/dist/src/planner/analysis/change-scope.js.map +1 -1
- package/dist/src/planner/analysis/check-extraction.d.ts +1 -7
- package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
- package/dist/src/planner/analysis/check-extraction.js.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.d.ts +17 -0
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +17 -5
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +18 -18
- package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.d.ts +11 -7
- package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.js +11 -7
- package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
- package/dist/src/planner/analysis/equi-correlation.d.ts +1 -1
- package/dist/src/planner/analysis/equi-correlation.js +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.js +0 -2
- package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
- package/dist/src/planner/analysis/key-filter.d.ts.map +1 -1
- package/dist/src/planner/analysis/key-filter.js +2 -3
- package/dist/src/planner/analysis/key-filter.js.map +1 -1
- package/dist/src/planner/analysis/relation-key.d.ts +104 -0
- package/dist/src/planner/analysis/relation-key.d.ts.map +1 -0
- package/dist/src/planner/analysis/relation-key.js +121 -0
- package/dist/src/planner/analysis/relation-key.js.map +1 -0
- package/dist/src/planner/analysis/scalar-param-usage.d.ts.map +1 -1
- package/dist/src/planner/analysis/scalar-param-usage.js +12 -4
- package/dist/src/planner/analysis/scalar-param-usage.js.map +1 -1
- package/dist/src/planner/analysis/set-op-type-merge.d.ts +9 -3
- package/dist/src/planner/analysis/set-op-type-merge.d.ts.map +1 -1
- package/dist/src/planner/analysis/set-op-type-merge.js +22 -8
- package/dist/src/planner/analysis/set-op-type-merge.js.map +1 -1
- package/dist/src/planner/building/alter-table.d.ts.map +1 -1
- package/dist/src/planner/building/alter-table.js +31 -23
- package/dist/src/planner/building/alter-table.js.map +1 -1
- package/dist/src/planner/building/analyze.d.ts.map +1 -1
- package/dist/src/planner/building/analyze.js +21 -0
- package/dist/src/planner/building/analyze.js.map +1 -1
- package/dist/src/planner/building/block.d.ts.map +1 -1
- package/dist/src/planner/building/block.js +222 -82
- package/dist/src/planner/building/block.js.map +1 -1
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +5 -3
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/delete.js +1 -1
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +11 -3
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts +16 -6
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.js +43 -20
- package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
- package/dist/src/planner/building/generated-column-scope.d.ts +58 -0
- package/dist/src/planner/building/generated-column-scope.d.ts.map +1 -0
- package/dist/src/planner/building/generated-column-scope.js +117 -0
- package/dist/src/planner/building/generated-column-scope.js.map +1 -0
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +20 -28
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/select-aggregates.d.ts +73 -132
- package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
- package/dist/src/planner/building/select-aggregates.js +405 -81
- package/dist/src/planner/building/select-aggregates.js.map +1 -1
- package/dist/src/planner/building/select-modifiers.d.ts +37 -8
- package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
- package/dist/src/planner/building/select-modifiers.js +8 -9
- package/dist/src/planner/building/select-modifiers.js.map +1 -1
- package/dist/src/planner/building/select-ordinal.d.ts +6 -0
- package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
- package/dist/src/planner/building/select-ordinal.js +1 -1
- package/dist/src/planner/building/select-ordinal.js.map +1 -1
- package/dist/src/planner/building/select-window.d.ts +2 -2
- package/dist/src/planner/building/select-window.d.ts.map +1 -1
- package/dist/src/planner/building/select-window.js +82 -101
- 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 +78 -33
- 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 +14 -8
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
- package/dist/src/planner/building/view-mutation-builder.js +329 -14
- package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
- package/dist/src/planner/building/with.d.ts +6 -0
- package/dist/src/planner/building/with.d.ts.map +1 -1
- package/dist/src/planner/building/with.js +52 -3
- package/dist/src/planner/building/with.js.map +1 -1
- package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
- package/dist/src/planner/cache/correlation-detector.js +44 -17
- package/dist/src/planner/cache/correlation-detector.js.map +1 -1
- package/dist/src/planner/framework/physical-utils.d.ts +6 -0
- package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
- package/dist/src/planner/framework/physical-utils.js +6 -0
- package/dist/src/planner/framework/physical-utils.js.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.d.ts +123 -0
- package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.js +362 -5
- package/dist/src/planner/mutation/lens-enforcement.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/nodes/alter-table-node.d.ts +15 -11
- package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.js +5 -0
- package/dist/src/planner/nodes/alter-table-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 +7 -0
- package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
- package/dist/src/planner/nodes/constraint-check-node.d.ts +16 -0
- package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.d.ts +1 -1
- package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.js +1 -1
- package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
- package/dist/src/planner/nodes/pragma.d.ts.map +1 -1
- package/dist/src/planner/nodes/pragma.js +5 -2
- package/dist/src/planner/nodes/pragma.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +9 -1
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +117 -91
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/nodes/sequence-node.d.ts +50 -0
- package/dist/src/planner/nodes/sequence-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/sequence-node.js +96 -0
- package/dist/src/planner/nodes/sequence-node.js.map +1 -0
- package/dist/src/planner/nodes/values-node.d.ts +8 -0
- package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/values-node.js +29 -6
- package/dist/src/planner/nodes/values-node.js.map +1 -1
- package/dist/src/planner/nodes/view-mutation-node.d.ts +43 -1
- package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/view-mutation-node.js +27 -6
- package/dist/src/planner/nodes/view-mutation-node.js.map +1 -1
- package/dist/src/planner/nodes/window-node.d.ts +33 -4
- package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-node.js +80 -36
- package/dist/src/planner/nodes/window-node.js.map +1 -1
- package/dist/src/planner/planning-context.d.ts +38 -1
- package/dist/src/planner/planning-context.d.ts.map +1 -1
- 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 +8 -3
- package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +18 -12
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +4 -3
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -1
- package/dist/src/planner/rules/window/rule-monotonic-window.js +6 -0
- package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
- package/dist/src/planner/scopes/param.d.ts.map +1 -1
- package/dist/src/planner/scopes/param.js +10 -5
- package/dist/src/planner/scopes/param.js.map +1 -1
- package/dist/src/planner/util/ind-utils.d.ts +25 -8
- package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
- package/dist/src/planner/util/ind-utils.js +53 -10
- package/dist/src/planner/util/ind-utils.js.map +1 -1
- package/dist/src/planner/util/key-utils.d.ts +7 -7
- package/dist/src/planner/util/key-utils.js +9 -9
- package/dist/src/planner/util/key-utils.js.map +1 -1
- package/dist/src/runtime/delta-executor.d.ts.map +1 -1
- package/dist/src/runtime/delta-executor.js +7 -2
- package/dist/src/runtime/delta-executor.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +50 -15
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/alter-schema-event.d.ts +2 -43
- package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-schema-event.js +2 -53
- 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 +59 -24
- 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 +7 -0
- package/dist/src/runtime/emit/analyze.js.map +1 -1
- package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/assertion-rename-helpers.js +2 -3
- package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -1
- package/dist/src/runtime/emit/binary.d.ts +5 -0
- package/dist/src/runtime/emit/binary.d.ts.map +1 -1
- package/dist/src/runtime/emit/binary.js +22 -22
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/block.d.ts.map +1 -1
- package/dist/src/runtime/emit/block.js +9 -3
- package/dist/src/runtime/emit/block.js.map +1 -1
- package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
- package/dist/src/runtime/emit/constraint-check.js +5 -6
- 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 +71 -70
- package/dist/src/runtime/emit/create-assertion.js.map +1 -1
- package/dist/src/runtime/emit/create-index.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-index.js +8 -3
- package/dist/src/runtime/emit/create-index.js.map +1 -1
- package/dist/src/runtime/emit/create-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-table.js +20 -10
- package/dist/src/runtime/emit/create-table.js.map +1 -1
- package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-view.js +51 -44
- package/dist/src/runtime/emit/create-view.js.map +1 -1
- package/dist/src/runtime/emit/ddl-event-scope.d.ts +71 -0
- package/dist/src/runtime/emit/ddl-event-scope.d.ts.map +1 -0
- package/dist/src/runtime/emit/ddl-event-scope.js +80 -0
- package/dist/src/runtime/emit/ddl-event-scope.js.map +1 -0
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +23 -23
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/drop-assertion.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-assertion.js +23 -17
- package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
- package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-index.js +7 -2
- 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 +16 -10
- 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 +50 -43
- package/dist/src/runtime/emit/drop-view.js.map +1 -1
- package/dist/src/runtime/emit/insert.d.ts.map +1 -1
- package/dist/src/runtime/emit/insert.js +2 -1
- package/dist/src/runtime/emit/insert.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view.js +87 -67
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.d.ts +8 -0
- package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.js +128 -25
- package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
- package/dist/src/runtime/emit/sequence.d.ts +17 -0
- package/dist/src/runtime/emit/sequence.d.ts.map +1 -0
- package/dist/src/runtime/emit/sequence.js +40 -0
- package/dist/src/runtime/emit/sequence.js.map +1 -0
- package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.js +40 -32
- package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
- package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
- package/dist/src/runtime/emit/table-valued-function.js +3 -2
- package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
- package/dist/src/runtime/emit/update.js +3 -3
- package/dist/src/runtime/emit/update.js.map +1 -1
- package/dist/src/runtime/emit/view-mutation.d.ts.map +1 -1
- package/dist/src/runtime/emit/view-mutation.js +45 -3
- package/dist/src/runtime/emit/view-mutation.js.map +1 -1
- package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
- package/dist/src/runtime/foreign-key-actions.js +9 -10
- package/dist/src/runtime/foreign-key-actions.js.map +1 -1
- package/dist/src/runtime/register.d.ts.map +1 -1
- package/dist/src/runtime/register.js +3 -2
- package/dist/src/runtime/register.js.map +1 -1
- package/dist/src/runtime/row-constraints.d.ts +14 -8
- package/dist/src/runtime/row-constraints.d.ts.map +1 -1
- package/dist/src/runtime/row-constraints.js +41 -15
- package/dist/src/runtime/row-constraints.js.map +1 -1
- package/dist/src/runtime/strict-representation.d.ts +11 -6
- package/dist/src/runtime/strict-representation.d.ts.map +1 -1
- package/dist/src/runtime/strict-representation.js +1 -44
- package/dist/src/runtime/strict-representation.js.map +1 -1
- package/dist/src/schema/assertion.d.ts +25 -2
- package/dist/src/schema/assertion.d.ts.map +1 -1
- package/dist/src/schema/assertion.js.map +1 -1
- package/dist/src/schema/catalog-rendering.d.ts +38 -0
- package/dist/src/schema/catalog-rendering.d.ts.map +1 -0
- package/dist/src/schema/catalog-rendering.js +171 -0
- package/dist/src/schema/catalog-rendering.js.map +1 -0
- package/dist/src/schema/catalog.d.ts +69 -3
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +124 -19
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/column-source-resolver.d.ts +9 -5
- package/dist/src/schema/column-source-resolver.d.ts.map +1 -1
- package/dist/src/schema/column-source-resolver.js +9 -5
- package/dist/src/schema/column-source-resolver.js.map +1 -1
- package/dist/src/schema/constraint-builder.d.ts +13 -10
- package/dist/src/schema/constraint-builder.d.ts.map +1 -1
- package/dist/src/schema/constraint-builder.js +45 -17
- package/dist/src/schema/constraint-builder.js.map +1 -1
- package/dist/src/schema/declared-schema-manager.d.ts +50 -0
- package/dist/src/schema/declared-schema-manager.d.ts.map +1 -1
- package/dist/src/schema/declared-schema-manager.js +52 -0
- package/dist/src/schema/declared-schema-manager.js.map +1 -1
- package/dist/src/schema/expr-scope/frame.d.ts +65 -0
- package/dist/src/schema/expr-scope/frame.d.ts.map +1 -0
- package/dist/src/schema/expr-scope/frame.js +104 -0
- package/dist/src/schema/expr-scope/frame.js.map +1 -0
- package/dist/src/schema/expr-scope/walk.d.ts +40 -0
- package/dist/src/schema/expr-scope/walk.d.ts.map +1 -0
- package/dist/src/schema/expr-scope/walk.js +260 -0
- package/dist/src/schema/expr-scope/walk.js.map +1 -0
- package/dist/src/schema/generated-column-refs.d.ts +41 -0
- package/dist/src/schema/generated-column-refs.d.ts.map +1 -0
- package/dist/src/schema/generated-column-refs.js +124 -0
- package/dist/src/schema/generated-column-refs.js.map +1 -0
- package/dist/src/schema/lens-ack.d.ts.map +1 -1
- package/dist/src/schema/lens-ack.js +5 -2
- package/dist/src/schema/lens-ack.js.map +1 -1
- package/dist/src/schema/lens-compiler.d.ts.map +1 -1
- package/dist/src/schema/lens-compiler.js +9 -1
- package/dist/src/schema/lens-compiler.js.map +1 -1
- package/dist/src/schema/lens-prover.d.ts +7 -2
- package/dist/src/schema/lens-prover.d.ts.map +1 -1
- package/dist/src/schema/lens-prover.js +105 -11
- package/dist/src/schema/lens-prover.js.map +1 -1
- package/dist/src/schema/lens.d.ts +12 -0
- package/dist/src/schema/lens.d.ts.map +1 -1
- package/dist/src/schema/lens.js +10 -0
- package/dist/src/schema/lens.js.map +1 -1
- package/dist/src/schema/manager.d.ts +35 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +125 -26
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/rename/self-qualifier-strip.d.ts +16 -10
- package/dist/src/schema/rename/self-qualifier-strip.d.ts.map +1 -1
- package/dist/src/schema/rename/self-qualifier-strip.js +30 -213
- package/dist/src/schema/rename/self-qualifier-strip.js.map +1 -1
- package/dist/src/schema/rename-rewriter.d.ts +4 -3
- package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
- package/dist/src/schema/rename-rewriter.js +4 -3
- package/dist/src/schema/rename-rewriter.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts +54 -6
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +108 -42
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/schema-hasher.d.ts +12 -0
- package/dist/src/schema/schema-hasher.d.ts.map +1 -1
- package/dist/src/schema/schema-hasher.js +28 -10
- package/dist/src/schema/schema-hasher.js.map +1 -1
- package/dist/src/schema/table.d.ts +74 -19
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +133 -71
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/types/comparison-coercion.d.ts +5 -1
- package/dist/src/types/comparison-coercion.d.ts.map +1 -1
- package/dist/src/types/comparison-coercion.js +21 -5
- package/dist/src/types/comparison-coercion.js.map +1 -1
- package/dist/src/types/representation.d.ts +65 -0
- package/dist/src/types/representation.d.ts.map +1 -0
- package/dist/src/types/representation.js +63 -0
- package/dist/src/types/representation.js.map +1 -0
- package/dist/src/types/validation.d.ts +76 -22
- package/dist/src/types/validation.d.ts.map +1 -1
- package/dist/src/types/validation.js +110 -31
- package/dist/src/types/validation.js.map +1 -1
- package/dist/src/vtab/best-access-plan.d.ts +10 -0
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js +16 -0
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/capabilities.d.ts +72 -4
- package/dist/src/vtab/capabilities.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 +17 -13
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/module.d.ts +13 -7
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/src/planner/nodes/array-index-node.d.ts +0 -22
- package/dist/src/planner/nodes/array-index-node.d.ts.map +0 -1
- package/dist/src/planner/nodes/array-index-node.js +0 -41
- package/dist/src/planner/nodes/array-index-node.js.map +0 -1
- package/dist/src/runtime/emit/array-index.d.ts +0 -5
- package/dist/src/runtime/emit/array-index.d.ts.map +0 -1
- package/dist/src/runtime/emit/array-index.js +0 -22
- package/dist/src/runtime/emit/array-index.js.map +0 -1
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type * as AST from '../../parser/ast.js';
|
|
2
2
|
import { type ResolveColumnInSource } from './shared.js';
|
|
3
3
|
/**
|
|
4
|
-
* Strip table-qualified self-references in a
|
|
4
|
+
* Strip table-qualified self-references in a schema-authored ROW expression —
|
|
5
|
+
* a `CHECK` constraint or a `GENERATED ALWAYS AS` body — down to the
|
|
5
6
|
* unqualified form: `check (t.qty > 0)` (or `main.t.qty`) becomes
|
|
6
|
-
* `check (qty > 0)` so the
|
|
7
|
-
* registers bare / `NEW.` / `OLD.`
|
|
7
|
+
* `check (qty > 0)` so the row-context scope those expressions are compiled
|
|
8
|
+
* against — which registers bare / `NEW.` (/ `OLD.` for a CHECK) column names
|
|
9
|
+
* only — can resolve it. Callers: `planner/building/constraint-builder.ts` and
|
|
10
|
+
* `planner/building/generated-column-scope.ts`.
|
|
8
11
|
*
|
|
9
|
-
* Deliberately NOT done by seeding `<table>.<col>` keys into
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
+
* Deliberately NOT done by seeding `<table>.<col>` keys into that row scope:
|
|
13
|
+
* the scope is an ancestor of every subquery planned inside the expression,
|
|
14
|
+
* and a join peer's parent-chain fallback (`MultiScope` first-match
|
|
12
15
|
* on qualified names) would resolve an inner relation's qualified columns
|
|
13
16
|
* against the outer row context (observed with lens view expansions).
|
|
14
17
|
*
|
|
@@ -20,10 +23,13 @@ import { type ResolveColumnInSource } from './shared.js';
|
|
|
20
23
|
* function / CTE sources are unanalyzable and conservatively block the
|
|
21
24
|
* strip (the ref then stays qualified and fails to resolve exactly as it
|
|
22
25
|
* did before this rewrite existed). CTE and derived-table bodies cannot
|
|
23
|
-
* correlate to the
|
|
26
|
+
* correlate to the written row, so stripping is suppressed inside them.
|
|
27
|
+
* The traversal and its frame model live in `../expr-scope/` (`walk.ts` and
|
|
28
|
+
* `frame.ts`), shared with the generated-column reference collector; this file
|
|
29
|
+
* supplies only the per-column action.
|
|
24
30
|
*
|
|
25
|
-
* Mutates `expr` in place (callers pass a clone of the stored
|
|
26
|
-
* AST) and returns whether anything was rewritten.
|
|
31
|
+
* Mutates `expr` in place (callers pass a clone of the stored expression,
|
|
32
|
+
* never the schema's own AST) and returns whether anything was rewritten.
|
|
27
33
|
*/
|
|
28
|
-
export declare function
|
|
34
|
+
export declare function stripSelfQualifierInSchemaExpression(expr: AST.AstNode | undefined, tableName: string, defaultSchemaName: string, resolveColumnInSource: ResolveColumnInSource): boolean;
|
|
29
35
|
//# sourceMappingURL=self-qualifier-strip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-qualifier-strip.d.ts","sourceRoot":"","sources":["../../../../src/schema/rename/self-qualifier-strip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAM,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"self-qualifier-strip.d.ts","sourceRoot":"","sources":["../../../../src/schema/rename/self-qualifier-strip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAM,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAiB7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,oCAAoC,CACnD,IAAI,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,qBAAqB,GAC1C,OAAO,CAcT"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { eq } from './shared.js';
|
|
2
|
+
import { hasSealedFrame } from '../expr-scope/frame.js';
|
|
3
|
+
import { walkSchemaExpressionScope } from '../expr-scope/walk.js';
|
|
2
4
|
/**
|
|
3
|
-
* Strip table-qualified self-references in a
|
|
5
|
+
* Strip table-qualified self-references in a schema-authored ROW expression —
|
|
6
|
+
* a `CHECK` constraint or a `GENERATED ALWAYS AS` body — down to the
|
|
4
7
|
* unqualified form: `check (t.qty > 0)` (or `main.t.qty`) becomes
|
|
5
|
-
* `check (qty > 0)` so the
|
|
6
|
-
* registers bare / `NEW.` / `OLD.`
|
|
8
|
+
* `check (qty > 0)` so the row-context scope those expressions are compiled
|
|
9
|
+
* against — which registers bare / `NEW.` (/ `OLD.` for a CHECK) column names
|
|
10
|
+
* only — can resolve it. Callers: `planner/building/constraint-builder.ts` and
|
|
11
|
+
* `planner/building/generated-column-scope.ts`.
|
|
7
12
|
*
|
|
8
|
-
* Deliberately NOT done by seeding `<table>.<col>` keys into
|
|
9
|
-
*
|
|
10
|
-
*
|
|
13
|
+
* Deliberately NOT done by seeding `<table>.<col>` keys into that row scope:
|
|
14
|
+
* the scope is an ancestor of every subquery planned inside the expression,
|
|
15
|
+
* and a join peer's parent-chain fallback (`MultiScope` first-match
|
|
11
16
|
* on qualified names) would resolve an inner relation's qualified columns
|
|
12
17
|
* against the outer row context (observed with lens view expansions).
|
|
13
18
|
*
|
|
@@ -19,240 +24,52 @@ import { eq } from './shared.js';
|
|
|
19
24
|
* function / CTE sources are unanalyzable and conservatively block the
|
|
20
25
|
* strip (the ref then stays qualified and fails to resolve exactly as it
|
|
21
26
|
* did before this rewrite existed). CTE and derived-table bodies cannot
|
|
22
|
-
* correlate to the
|
|
27
|
+
* correlate to the written row, so stripping is suppressed inside them.
|
|
28
|
+
* The traversal and its frame model live in `../expr-scope/` (`walk.ts` and
|
|
29
|
+
* `frame.ts`), shared with the generated-column reference collector; this file
|
|
30
|
+
* supplies only the per-column action.
|
|
23
31
|
*
|
|
24
|
-
* Mutates `expr` in place (callers pass a clone of the stored
|
|
25
|
-
* AST) and returns whether anything was rewritten.
|
|
32
|
+
* Mutates `expr` in place (callers pass a clone of the stored expression,
|
|
33
|
+
* never the schema's own AST) and returns whether anything was rewritten.
|
|
26
34
|
*/
|
|
27
|
-
export function
|
|
35
|
+
export function stripSelfQualifierInSchemaExpression(expr, tableName, defaultSchemaName, resolveColumnInSource) {
|
|
28
36
|
if (!expr)
|
|
29
37
|
return false;
|
|
30
38
|
const state = {
|
|
31
39
|
tableName: tableName.toLowerCase(),
|
|
32
40
|
defaultSchema: defaultSchemaName.toLowerCase(),
|
|
33
41
|
resolve: resolveColumnInSource,
|
|
34
|
-
stack: [],
|
|
35
42
|
changed: false,
|
|
36
43
|
};
|
|
37
|
-
|
|
38
|
-
seed.bound.add(state.tableName);
|
|
39
|
-
state.stack.push(seed);
|
|
40
|
-
try {
|
|
41
|
-
visitStrip(expr, state);
|
|
42
|
-
}
|
|
43
|
-
finally {
|
|
44
|
-
state.stack.pop();
|
|
45
|
-
}
|
|
44
|
+
walkSchemaExpressionScope(expr, { defaultSchema: state.defaultSchema, seedBindings: [state.tableName] }, { onColumn: (col, stack) => stripColumnQualifier(col, stack, state) });
|
|
46
45
|
return state.changed;
|
|
47
46
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (frame.cteNames.has(name))
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
function collectStripBindings(item, state, frame) {
|
|
59
|
-
switch (item.type) {
|
|
60
|
-
case 'table': {
|
|
61
|
-
const ts = item;
|
|
62
|
-
const name = ts.table.name.toLowerCase();
|
|
63
|
-
frame.bound.add(ts.alias ? ts.alias.toLowerCase() : name);
|
|
64
|
-
if (ts.table.schema === undefined && isStripCteName(state, name)) {
|
|
65
|
-
// CTE source — column set not analyzed.
|
|
66
|
-
frame.hasOpaque = true;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
frame.realSources.push({ schema: (ts.table.schema ?? state.defaultSchema).toLowerCase(), name });
|
|
70
|
-
}
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
case 'join': {
|
|
74
|
-
const join = item;
|
|
75
|
-
collectStripBindings(join.left, state, frame);
|
|
76
|
-
collectStripBindings(join.right, state, frame);
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
case 'subquerySource': {
|
|
80
|
-
frame.bound.add(item.alias.toLowerCase());
|
|
81
|
-
frame.hasOpaque = true;
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
case 'functionSource': {
|
|
85
|
-
const fs = item;
|
|
86
|
-
if (fs.alias)
|
|
87
|
-
frame.bound.add(fs.alias.toLowerCase());
|
|
88
|
-
frame.hasOpaque = true;
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/** Visit a node in a context where stripping must not occur (CTE / derived-table bodies). */
|
|
94
|
-
function visitStripBarrier(node, state) {
|
|
95
|
-
const barrier = emptyStripFrame();
|
|
96
|
-
barrier.hasOpaque = true;
|
|
97
|
-
state.stack.push(barrier);
|
|
98
|
-
try {
|
|
99
|
-
visitStrip(node, state);
|
|
100
|
-
}
|
|
101
|
-
finally {
|
|
102
|
-
state.stack.pop();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
function visitStrip(node, state) {
|
|
106
|
-
if (!node)
|
|
47
|
+
/** `stack[0]` is the walk's seed frame; every loop here deliberately skips it. */
|
|
48
|
+
function stripColumnQualifier(col, stack, state) {
|
|
49
|
+
// View write-through metadata (`with inverse (…)` / `with defaults (…)`) resolves
|
|
50
|
+
// against the written view row, not this expression's scope — never rewrite there.
|
|
51
|
+
if (hasSealedFrame(stack))
|
|
107
52
|
return;
|
|
108
|
-
switch (node.type) {
|
|
109
|
-
case 'select': {
|
|
110
|
-
const stmt = node;
|
|
111
|
-
const withFrame = emptyStripFrame();
|
|
112
|
-
state.stack.push(withFrame);
|
|
113
|
-
try {
|
|
114
|
-
for (const cte of stmt.withClause?.ctes ?? []) {
|
|
115
|
-
// A CTE body cannot correlate to the constraint row — no stripping inside.
|
|
116
|
-
visitStripBarrier(cte.query, state);
|
|
117
|
-
withFrame.cteNames.add(cte.name.toLowerCase());
|
|
118
|
-
}
|
|
119
|
-
const frame = buildStripFrame(stmt.from, state);
|
|
120
|
-
state.stack.push(frame);
|
|
121
|
-
try {
|
|
122
|
-
(stmt.columns ?? []).forEach(c => {
|
|
123
|
-
if (c.type === 'column')
|
|
124
|
-
visitStrip(c.expr, state);
|
|
125
|
-
});
|
|
126
|
-
(stmt.from ?? []).forEach(f => visitStrip(f, state));
|
|
127
|
-
visitStrip(stmt.where, state);
|
|
128
|
-
(stmt.groupBy ?? []).forEach(g => visitStrip(g, state));
|
|
129
|
-
visitStrip(stmt.having, state);
|
|
130
|
-
(stmt.orderBy ?? []).forEach(o => visitStrip(o.expr, state));
|
|
131
|
-
visitStrip(stmt.limit, state);
|
|
132
|
-
visitStrip(stmt.offset, state);
|
|
133
|
-
visitStrip(stmt.union, state);
|
|
134
|
-
if (stmt.compound)
|
|
135
|
-
visitStrip(stmt.compound.select, state);
|
|
136
|
-
}
|
|
137
|
-
finally {
|
|
138
|
-
state.stack.pop();
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
finally {
|
|
142
|
-
state.stack.pop();
|
|
143
|
-
}
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
case 'values': {
|
|
147
|
-
node.values.forEach(row => row.forEach(v => visitStrip(v, state)));
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
case 'join': {
|
|
151
|
-
const join = node;
|
|
152
|
-
visitStrip(join.left, state);
|
|
153
|
-
visitStrip(join.right, state);
|
|
154
|
-
visitStrip(join.condition, state);
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
case 'functionSource': {
|
|
158
|
-
node.args.forEach(a => visitStrip(a, state));
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
case 'subquerySource': {
|
|
162
|
-
// A derived table cannot correlate to the constraint row — no stripping inside.
|
|
163
|
-
visitStripBarrier(node.subquery, state);
|
|
164
|
-
break;
|
|
165
|
-
}
|
|
166
|
-
case 'binary': {
|
|
167
|
-
const e = node;
|
|
168
|
-
visitStrip(e.left, state);
|
|
169
|
-
visitStrip(e.right, state);
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
case 'unary':
|
|
173
|
-
case 'cast':
|
|
174
|
-
case 'collate':
|
|
175
|
-
visitStrip(node.expr, state);
|
|
176
|
-
break;
|
|
177
|
-
case 'function':
|
|
178
|
-
node.args.forEach(a => visitStrip(a, state));
|
|
179
|
-
break;
|
|
180
|
-
case 'subquery':
|
|
181
|
-
visitStrip(node.query, state);
|
|
182
|
-
break;
|
|
183
|
-
case 'windowFunction': {
|
|
184
|
-
const wf = node;
|
|
185
|
-
visitStrip(wf.function, state);
|
|
186
|
-
visitStrip(wf.window, state);
|
|
187
|
-
break;
|
|
188
|
-
}
|
|
189
|
-
case 'windowDefinition': {
|
|
190
|
-
const wd = node;
|
|
191
|
-
(wd.partitionBy ?? []).forEach(p => visitStrip(p, state));
|
|
192
|
-
(wd.orderBy ?? []).forEach(o => visitStrip(o.expr, state));
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
case 'case': {
|
|
196
|
-
const ce = node;
|
|
197
|
-
visitStrip(ce.baseExpr, state);
|
|
198
|
-
ce.whenThenClauses.forEach(wt => {
|
|
199
|
-
visitStrip(wt.when, state);
|
|
200
|
-
visitStrip(wt.then, state);
|
|
201
|
-
});
|
|
202
|
-
visitStrip(ce.elseExpr, state);
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
case 'in': {
|
|
206
|
-
const ie = node;
|
|
207
|
-
visitStrip(ie.expr, state);
|
|
208
|
-
(ie.values ?? []).forEach(v => visitStrip(v, state));
|
|
209
|
-
visitStrip(ie.subquery, state);
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
case 'exists':
|
|
213
|
-
visitStrip(node.subquery, state);
|
|
214
|
-
break;
|
|
215
|
-
case 'between': {
|
|
216
|
-
const be = node;
|
|
217
|
-
visitStrip(be.expr, state);
|
|
218
|
-
visitStrip(be.lower, state);
|
|
219
|
-
visitStrip(be.upper, state);
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
222
|
-
case 'column': {
|
|
223
|
-
stripColumnQualifier(node, state);
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
default:
|
|
227
|
-
break;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
function buildStripFrame(from, state) {
|
|
231
|
-
const frame = emptyStripFrame();
|
|
232
|
-
(from ?? []).forEach(item => collectStripBindings(item, state, frame));
|
|
233
|
-
return frame;
|
|
234
|
-
}
|
|
235
|
-
function stripColumnQualifier(col, state) {
|
|
236
53
|
if (!col.table)
|
|
237
54
|
return;
|
|
238
55
|
const qualifier = col.table.toLowerCase();
|
|
239
56
|
// Innermost-first: a qualifier rebound by any inner FROM resolves there.
|
|
240
|
-
for (let i =
|
|
241
|
-
if (
|
|
57
|
+
for (let i = stack.length - 1; i >= 1; i--) {
|
|
58
|
+
if (stack[i].bound.has(qualifier))
|
|
242
59
|
return;
|
|
243
60
|
}
|
|
244
61
|
if (qualifier !== state.tableName)
|
|
245
62
|
return;
|
|
246
63
|
// A qualified self-reference must name the OWNING table's schema exactly —
|
|
247
|
-
// `defaultSchema` here is the
|
|
64
|
+
// `defaultSchema` here is the expression's owning schema (the caller passes
|
|
248
65
|
// `tableSchema.schemaName`), so no path resolution applies: `main.t.qty` in
|
|
249
|
-
//
|
|
66
|
+
// an expression on `temp.t` is not a self-reference.
|
|
250
67
|
if (!(col.schema === undefined || eq(col.schema, state.defaultSchema)))
|
|
251
68
|
return;
|
|
252
69
|
// Strip only when no intervening frame could capture the unqualified name.
|
|
253
70
|
const colLower = col.name.toLowerCase();
|
|
254
|
-
for (let i = 1; i <
|
|
255
|
-
const frame =
|
|
71
|
+
for (let i = 1; i < stack.length; i++) {
|
|
72
|
+
const frame = stack[i];
|
|
256
73
|
if (frame.hasOpaque)
|
|
257
74
|
return;
|
|
258
75
|
for (const src of frame.realSources) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-qualifier-strip.js","sourceRoot":"","sources":["../../../../src/schema/rename/self-qualifier-strip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA8B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"self-qualifier-strip.js","sourceRoot":"","sources":["../../../../src/schema/rename/self-qualifier-strip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA8B,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAelE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,oCAAoC,CACnD,IAA6B,EAC7B,SAAiB,EACjB,iBAAyB,EACzB,qBAA4C;IAE5C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,KAAK,GAAe;QACzB,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,aAAa,EAAE,iBAAiB,CAAC,WAAW,EAAE;QAC9C,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,KAAK;KACd,CAAC;IACF,yBAAyB,CACxB,IAAI,EACJ,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EACvE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CACrE,CAAC;IACF,OAAO,KAAK,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,kFAAkF;AAClF,SAAS,oBAAoB,CAC5B,GAAmB,EACnB,KAAgC,EAChC,KAAiB;IAEjB,kFAAkF;IAClF,mFAAmF;IACnF,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO;IAClC,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1C,yEAAyE;IACzE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;IAC3C,CAAC;IACD,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS;QAAE,OAAO;IAC1C,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,qDAAqD;IACrD,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAAE,OAAO;IAC/E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO;QAC5B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAAE,OAAO;QAC3D,CAAC;IACF,CAAC;IACD,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IACtB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* In-place, scope-aware AST rewriters over schema-object expressions: the
|
|
3
3
|
* rename walkers propagate ALTER TABLE RENAME operations into dependent
|
|
4
4
|
* objects (CHECK expressions, view SELECT bodies, etc.), and the
|
|
5
|
-
* self-qualifier strip folds a
|
|
6
|
-
*
|
|
5
|
+
* self-qualifier strip folds a schema-authored row expression's
|
|
6
|
+
* table-qualified self-references (a CHECK's or a GENERATED ALWAYS AS body's)
|
|
7
|
+
* so the row-context scope it is compiled against can resolve them.
|
|
7
8
|
*
|
|
8
9
|
* The three walkers live in `rename/`, split along their seams — table
|
|
9
10
|
* rename (`rename/table-rename.ts`), column rename
|
|
@@ -16,5 +17,5 @@ export type { ResolveColumnInSource, ResolveObjectRef, RowImageContext, TableRen
|
|
|
16
17
|
export { objectRefKey, objectRefKeySchema, singleSchemaObjectRefResolver } from './rename/shared.js';
|
|
17
18
|
export { renameTableInAst, tableReferencedInAst, collectTableRefsInAst, renameTableInIndexPredicates, renameTableInCheckConstraints, renameTableInColumnExpressions, type TableRenameOpts, } from './rename/table-rename.js';
|
|
18
19
|
export { PROBE_COLUMN_NAME, renameColumnInAst, renameColumnInCheckExpression, columnReferencedInAst, columnReferencedInCheckExpression, renameColumnInIndexPredicates, renameColumnInCheckConstraints, renameColumnInColumnExpressions, bodyExposesRenamedColumn, bodyPublishesColumnNamed, } from './rename/column-rename.js';
|
|
19
|
-
export {
|
|
20
|
+
export { stripSelfQualifierInSchemaExpression } from './rename/self-qualifier-strip.js';
|
|
20
21
|
//# sourceMappingURL=rename-rewriter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rename-rewriter.d.ts","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rename-rewriter.d.ts","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,KAAK,eAAe,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oCAAoC,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* In-place, scope-aware AST rewriters over schema-object expressions: the
|
|
3
3
|
* rename walkers propagate ALTER TABLE RENAME operations into dependent
|
|
4
4
|
* objects (CHECK expressions, view SELECT bodies, etc.), and the
|
|
5
|
-
* self-qualifier strip folds a
|
|
6
|
-
*
|
|
5
|
+
* self-qualifier strip folds a schema-authored row expression's
|
|
6
|
+
* table-qualified self-references (a CHECK's or a GENERATED ALWAYS AS body's)
|
|
7
|
+
* so the row-context scope it is compiled against can resolve them.
|
|
7
8
|
*
|
|
8
9
|
* The three walkers live in `rename/`, split along their seams — table
|
|
9
10
|
* rename (`rename/table-rename.ts`), column rename
|
|
@@ -15,5 +16,5 @@
|
|
|
15
16
|
export { objectRefKey, objectRefKeySchema, singleSchemaObjectRefResolver } from './rename/shared.js';
|
|
16
17
|
export { renameTableInAst, tableReferencedInAst, collectTableRefsInAst, renameTableInIndexPredicates, renameTableInCheckConstraints, renameTableInColumnExpressions, } from './rename/table-rename.js';
|
|
17
18
|
export { PROBE_COLUMN_NAME, renameColumnInAst, renameColumnInCheckExpression, columnReferencedInAst, columnReferencedInCheckExpression, renameColumnInIndexPredicates, renameColumnInCheckConstraints, renameColumnInColumnExpressions, bodyExposesRenamedColumn, bodyPublishesColumnNamed, } from './rename/column-rename.js';
|
|
18
|
-
export {
|
|
19
|
+
export { stripSelfQualifierInSchemaExpression } from './rename/self-qualifier-strip.js';
|
|
19
20
|
//# sourceMappingURL=rename-rewriter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rename-rewriter.js","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rename-rewriter.js","sourceRoot":"","sources":["../../../src/schema/rename-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,GAE9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oCAAoC,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -12,11 +12,30 @@ export interface ColumnRenameOp {
|
|
|
12
12
|
oldName: string;
|
|
13
13
|
newName: string;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* A create-bucket entry: the DDL text (what `diff schema` shows and what an error
|
|
17
|
+
* names) paired with the AST it was rendered from, so `apply schema` can execute
|
|
18
|
+
* the statement without re-lexing the text it just produced.
|
|
19
|
+
*/
|
|
20
|
+
export interface MigrationCreate {
|
|
21
|
+
readonly sql: string;
|
|
22
|
+
readonly ast: AST.Statement;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* One statement of a migration. `sql` is always present — it is the preview text
|
|
26
|
+
* and the text an error names. `ast` is present when the step was built from a
|
|
27
|
+
* statement AST rather than a template string; the apply path executes it directly
|
|
28
|
+
* and falls back to parsing `sql` when it is absent.
|
|
29
|
+
*/
|
|
30
|
+
export interface MigrationStep {
|
|
31
|
+
readonly sql: string;
|
|
32
|
+
readonly ast?: AST.Statement;
|
|
33
|
+
}
|
|
15
34
|
/**
|
|
16
35
|
* Represents the difference between a declared schema and actual database state
|
|
17
36
|
*/
|
|
18
37
|
export interface SchemaDiff {
|
|
19
|
-
tablesToCreate:
|
|
38
|
+
tablesToCreate: MigrationCreate[];
|
|
20
39
|
tablesToDrop: string[];
|
|
21
40
|
tablesToAlter: TableAlterDiff[];
|
|
22
41
|
/**
|
|
@@ -35,11 +54,11 @@ export interface SchemaDiff {
|
|
|
35
54
|
fromModule: string;
|
|
36
55
|
toModule: string;
|
|
37
56
|
}>;
|
|
38
|
-
viewsToCreate:
|
|
57
|
+
viewsToCreate: MigrationCreate[];
|
|
39
58
|
viewsToDrop: string[];
|
|
40
|
-
indexesToCreate:
|
|
59
|
+
indexesToCreate: MigrationCreate[];
|
|
41
60
|
indexesToDrop: string[];
|
|
42
|
-
assertionsToCreate:
|
|
61
|
+
assertionsToCreate: MigrationCreate[];
|
|
43
62
|
assertionsToDrop: string[];
|
|
44
63
|
/**
|
|
45
64
|
* In-place metadata-tag changes on name-matched views / indexes (whole-set
|
|
@@ -91,6 +110,14 @@ export interface ColumnAttributeChange {
|
|
|
91
110
|
* treated as equal (no spurious diff). Emitted as `SET COLLATE <name>`.
|
|
92
111
|
*/
|
|
93
112
|
collation?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Set only when a retype (`dataType`) and a DEFAULT change (`defaultValue`) land on the
|
|
115
|
+
* same column AND the column currently has a DEFAULT. `SET DATA TYPE` folds the column's
|
|
116
|
+
* EXISTING default against the new type and rejects one that cannot convert, so the
|
|
117
|
+
* outgoing default — which this migration replaces anyway — must be dropped first or it
|
|
118
|
+
* vetoes the retype (`text default 'abc'` → `integer default 0`).
|
|
119
|
+
*/
|
|
120
|
+
dropStaleDefaultFirst?: true;
|
|
94
121
|
/**
|
|
95
122
|
* Desired metadata tag set (whole-set replacement) when the declared column
|
|
96
123
|
* tags differ from actual. Omitted = no change; `{}` = clear all tags. Rename
|
|
@@ -235,11 +262,32 @@ export declare function applyViewSchemaDefault<T extends AST.CreateViewStmt | AS
|
|
|
235
262
|
*/
|
|
236
263
|
export declare function applyAssertionSchemaDefault(stmt: AST.CreateAssertionStmt, targetSchemaName: string | undefined): AST.CreateAssertionStmt;
|
|
237
264
|
/**
|
|
238
|
-
* Serializes a schema diff to JSON string
|
|
265
|
+
* Serializes a schema diff to JSON string.
|
|
266
|
+
*
|
|
267
|
+
* NOTE: the four create buckets serialize as `{ sql, ast }` objects (see
|
|
268
|
+
* {@link MigrationCreate}), so the output embeds a full statement AST per create
|
|
269
|
+
* and is far more verbose than the old bare-string form. No caller in the repo
|
|
270
|
+
* consumes this today; a caller that only wants the DDL should read `.sql` (or
|
|
271
|
+
* call {@link generateMigrationDDL}) rather than this whole-diff dump.
|
|
239
272
|
*/
|
|
240
273
|
export declare function serializeSchemaDiff(diff: SchemaDiff): string;
|
|
241
274
|
/**
|
|
242
|
-
* Generates migration DDL statements from a schema diff
|
|
275
|
+
* Generates migration DDL statements from a schema diff.
|
|
276
|
+
*
|
|
277
|
+
* Thin wrapper over {@link generateMigrationPlan} — the single ordering authority.
|
|
278
|
+
* `diff schema` previews exactly this text, and `apply schema` executes the plan
|
|
279
|
+
* these strings come from, so the two can never disagree.
|
|
243
280
|
*/
|
|
244
281
|
export declare function generateMigrationDDL(diff: SchemaDiff, schemaName?: string): string[];
|
|
282
|
+
/**
|
|
283
|
+
* Builds the ordered migration plan for a schema diff.
|
|
284
|
+
*
|
|
285
|
+
* Every step carries its `sql` (the preview text, and the text an execution error
|
|
286
|
+
* names). Steps built from a statement AST — the four create buckets and the
|
|
287
|
+
* `set maintained as` re-attach — also carry that AST, so `apply schema` can run
|
|
288
|
+
* them without re-lexing the text this function just produced. The remaining steps
|
|
289
|
+
* are short template-built strings (renames, drops, column/constraint alters,
|
|
290
|
+
* `SET TAGS`) and stay text-only.
|
|
291
|
+
*/
|
|
292
|
+
export declare function generateMigrationPlan(diff: SchemaDiff, schemaName?: string): MigrationStep[];
|
|
245
293
|
//# sourceMappingURL=schema-differ.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-differ.d.ts","sourceRoot":"","sources":["../../../src/schema/schema-differ.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA6D,MAAM,cAAc,CAAC;AAC7G,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAqBnD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,MAAM,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"schema-differ.d.ts","sourceRoot":"","sources":["../../../src/schema/schema-differ.ts"],"names":[],"mappings":"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"}
|