@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
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one owner of the **relation key** — the label that names a single *read*
|
|
3
|
+
* of a table inside a plan, as opposed to the table itself.
|
|
4
|
+
*
|
|
5
|
+
* Format: `` `<schema>.<table>#<nodeId>` ``, all lowercase — e.g. `main.orders#42`.
|
|
6
|
+
* The `#<nodeId>` suffix is what makes it instance-unique: a self-join reads one
|
|
7
|
+
* table twice and the two reads must be told apart.
|
|
8
|
+
*
|
|
9
|
+
* Every site that builds, parses, or matches that label goes through this module.
|
|
10
|
+
* The recipe drifted three separate times when it was spelled by hand (a site that
|
|
11
|
+
* forgot to lowercase silently widened every single-key equality select to a whole-
|
|
12
|
+
* table scan), and the failure mode is always silent: two sites compute keys for the
|
|
13
|
+
* same read, the strings differ, the lookup finds nothing, the feature degrades
|
|
14
|
+
* quietly. Keeping one owner is what makes that class of drift impossible rather
|
|
15
|
+
* than merely unlikely.
|
|
16
|
+
*
|
|
17
|
+
* This module is deliberately a **leaf**: its only imports are `planner/nodes/`, so
|
|
18
|
+
* `core/`, `runtime/`, and `func/` can import it without dragging in the analysis
|
|
19
|
+
* machinery, and `constraint-extractor.ts` can import it without a cycle through
|
|
20
|
+
* `binding-extractor.ts`.
|
|
21
|
+
*/
|
|
22
|
+
import { TableReferenceNode } from '../nodes/reference.js';
|
|
23
|
+
/** Suffix used when a node carries no id. Unreachable today (`PlanNode.id` is
|
|
24
|
+
* always assigned) but preserved so the key is never silently truncated. */
|
|
25
|
+
const UNKNOWN_NODE_ID = 'unknown';
|
|
26
|
+
/** Lowercased qualified base name (`schema.table`) for a table schema. */
|
|
27
|
+
export function relationBaseName(schema) {
|
|
28
|
+
return `${schema.schemaName}.${schema.name}`.toLowerCase();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Compose a key from an already-canonical (lowercased, qualified) base and a node id.
|
|
32
|
+
* Prefer {@link relationKeyOf} where a `TableReferenceNode` is in hand.
|
|
33
|
+
*/
|
|
34
|
+
export function relationKeyFrom(base, nodeId) {
|
|
35
|
+
return `${base}#${nodeId ?? UNKNOWN_NODE_ID}`;
|
|
36
|
+
}
|
|
37
|
+
/** The key of a table reference — THE canonical entry point. */
|
|
38
|
+
export function relationKeyOf(ref) {
|
|
39
|
+
return relationKeyFrom(relationBaseName(ref.tableSchema), ref.id);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The key of an arbitrary relational node — the general case
|
|
43
|
+
* {@link createTableInfoFromNode} needs.
|
|
44
|
+
*
|
|
45
|
+
* A `TableReferenceNode` always canonicalizes to {@link relationKeyOf}, regardless
|
|
46
|
+
* of the display name the caller passed, so two callers naming the same read cannot
|
|
47
|
+
* disagree. Anything else falls back to `node.toString()`, lowercased — preserving
|
|
48
|
+
* today's behaviour for non-table relational nodes, which have no schema-qualified
|
|
49
|
+
* name to canonicalize on. An empty `displayName` falls back too, rather than
|
|
50
|
+
* producing a base-less key.
|
|
51
|
+
*/
|
|
52
|
+
export function relationKeyOfRelation(node, displayName) {
|
|
53
|
+
if (node instanceof TableReferenceNode)
|
|
54
|
+
return relationKeyOf(node);
|
|
55
|
+
const base = (displayName || node.toString()).toLowerCase();
|
|
56
|
+
return relationKeyFrom(base, node.id);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The base-table half of a key.
|
|
60
|
+
*
|
|
61
|
+
* Splits at the **last** `#`: a node id never contains `#`, but a quoted table name
|
|
62
|
+
* legally can (`create table "we#ird"`), so splitting at the first `#` would truncate
|
|
63
|
+
* the base. Returns the whole string when there is no `#` at all.
|
|
64
|
+
*/
|
|
65
|
+
export function relationKeyBase(key) {
|
|
66
|
+
const hash = key.lastIndexOf('#');
|
|
67
|
+
return hash >= 0 ? key.slice(0, hash) : key;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The same read, re-based onto `newBase` — what `ALTER TABLE … RENAME` propagation
|
|
71
|
+
* needs. Round-trips with {@link relationKeyBase}.
|
|
72
|
+
*/
|
|
73
|
+
export function relationKeyWithBase(key, newBase) {
|
|
74
|
+
const hash = key.lastIndexOf('#');
|
|
75
|
+
return hash >= 0 ? `${newBase}${key.slice(hash)}` : newBase;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Whether `key` names the read at `nodeId`.
|
|
79
|
+
*
|
|
80
|
+
* Compares the id segment exactly rather than by string suffix, so id `42` does not
|
|
81
|
+
* match `main.orders#142`.
|
|
82
|
+
*/
|
|
83
|
+
export function relationKeyHasNodeId(key, nodeId) {
|
|
84
|
+
const hash = key.lastIndexOf('#');
|
|
85
|
+
if (hash < 0)
|
|
86
|
+
return false;
|
|
87
|
+
return key.slice(hash + 1) === (nodeId ?? UNKNOWN_NODE_ID);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Every `TableReferenceNode` instance reachable from `plan`, keyed by relation key.
|
|
91
|
+
*
|
|
92
|
+
* The walk descends `getChildren()`, NOT `getRelations()`: a table reference under a
|
|
93
|
+
* scalar subquery expression (`not exists (select … from t …)`, the shape almost
|
|
94
|
+
* every assertion body has) hangs off a scalar child and is invisible to the
|
|
95
|
+
* relational-only walk.
|
|
96
|
+
*
|
|
97
|
+
* Callers that care about reference *identity* — one entry per reference, two for a
|
|
98
|
+
* self-join — must hand in a plan that has only been optimized for analysis
|
|
99
|
+
* (`Optimizer.optimizeForAnalysis`). Full physical optimization leaves several
|
|
100
|
+
* distinct `TableReferenceNode` instances per table, so the same table comes back
|
|
101
|
+
* more than once under different node ids.
|
|
102
|
+
*
|
|
103
|
+
* NOTE: re-walks the whole plan on every call, and several consumers call it over the
|
|
104
|
+
* same plan (assertion creation, the MV bounded-delta and full-rebuild arms). Plan
|
|
105
|
+
* trees are small and this has never shown up in a profile; if it ever does, memoize
|
|
106
|
+
* per plan-node instance (a WeakMap keyed on the root) rather than caching by key.
|
|
107
|
+
*/
|
|
108
|
+
export function collectTableReferences(plan) {
|
|
109
|
+
const out = new Map();
|
|
110
|
+
collectInto(plan, out);
|
|
111
|
+
return out;
|
|
112
|
+
}
|
|
113
|
+
function collectInto(node, out) {
|
|
114
|
+
if (node instanceof TableReferenceNode) {
|
|
115
|
+
out.set(relationKeyOf(node), { node, base: relationBaseName(node.tableSchema) });
|
|
116
|
+
}
|
|
117
|
+
for (const child of node.getChildren()) {
|
|
118
|
+
collectInto(child, out);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=relation-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-key.js","sourceRoot":"","sources":["../../../../src/planner/analysis/relation-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAoB3D;6EAC6E;AAC7E,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,MAA4C;IAC5E,OAAO,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,MAAiC;IAC9E,OAAO,GAAG,IAAI,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;AAC/C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAAC,GAAuB;IACpD,OAAO,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,WAAoB;IACnF,IAAI,IAAI,YAAY,kBAAkB;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,OAAe;IACpE,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAgB,EAAE,MAAiC;IACvF,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmC,CAAC;IACvD,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,GAAyC;IAC7E,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,WAAW,CAAC,KAA4B,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar-param-usage.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/scalar-param-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"scalar-param-usage.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/scalar-param-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAuDtE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CA+BhF"}
|
|
@@ -2,14 +2,22 @@ import { BinaryOpNode, CastNode, BetweenNode } from '../nodes/scalar.js';
|
|
|
2
2
|
import { InNode } from '../nodes/subquery.js';
|
|
3
3
|
import { ParameterReferenceNode } from '../nodes/reference.js';
|
|
4
4
|
import { PhysicalType } from '../../types/logical-type.js';
|
|
5
|
+
import { classifyBinaryOperator } from './binary-operator-class.js';
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
+
* True for the operators whose runtime compares operands by storage class
|
|
7
8
|
* (`emitComparisonOp` in runtime/emit/binary.ts). An array/object value on one
|
|
8
9
|
* side and a scalar on the other can never be equal/ordered — the OBJECT
|
|
9
10
|
* storage class sorts above every scalar — so the predicate silently matches
|
|
10
|
-
* nothing. `IS` / `IS NOT` are null-safe and intentionally excluded
|
|
11
|
+
* nothing. `IS` / `IS NOT` are null-safe and intentionally excluded, which is
|
|
12
|
+
* why this asks for the `comparison` class rather than `isComparisonOperator`
|
|
13
|
+
* (that one also accepts the `is` class, for collation validation).
|
|
14
|
+
*
|
|
15
|
+
* Read off the shared classification rather than a private list — see
|
|
16
|
+
* `analysis/binary-operator-class.ts`.
|
|
11
17
|
*/
|
|
12
|
-
|
|
18
|
+
function isScalarComparisonOperator(operator) {
|
|
19
|
+
return classifyBinaryOperator(operator) === 'comparison';
|
|
20
|
+
}
|
|
13
21
|
/** A non-object scalar physical type — INTEGER / REAL / TEXT / BLOB / BOOLEAN. */
|
|
14
22
|
function isScalarPhysical(pt) {
|
|
15
23
|
return pt === PhysicalType.INTEGER
|
|
@@ -60,7 +68,7 @@ export function collectScalarRequiredParams(plan) {
|
|
|
60
68
|
const out = new Set();
|
|
61
69
|
plan.visit((node) => {
|
|
62
70
|
if (node instanceof BinaryOpNode) {
|
|
63
|
-
if (!
|
|
71
|
+
if (!isScalarComparisonOperator(node.expression.operator))
|
|
64
72
|
return;
|
|
65
73
|
consider(node.left, [node.right], out);
|
|
66
74
|
consider(node.right, [node.left], out);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar-param-usage.js","sourceRoot":"","sources":["../../../../src/planner/analysis/scalar-param-usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"scalar-param-usage.js","sourceRoot":"","sources":["../../../../src/planner/analysis/scalar-param-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,15 +9,21 @@
|
|
|
9
9
|
* comparator keys off it, predicate coercion decides casts from it). The merge is
|
|
10
10
|
* order-independent: swapping the operands can never change the result.
|
|
11
11
|
*
|
|
12
|
+
* Every result position with that same shape — one column, several branches, no
|
|
13
|
+
* branch converted — folds through {@link mergeSetOpAdvertisedType} rather than
|
|
14
|
+
* inventing its own rule: CASE arms (`CaseExprNode`), VALUES rows across ALL rows
|
|
15
|
+
* (`ValuesNode`), the value-returning polymorphic builtins (`findCommonType` for
|
|
16
|
+
* coalesce/iif/choose/greatest/least) and LAG/LEAD's default argument. Arithmetic
|
|
17
|
+
* is NOT one of them — it produces ONE converted value, so it promotes separately
|
|
18
|
+
* (see docs/types-inference.md § Binary operator result types).
|
|
19
|
+
*
|
|
12
20
|
* Rules, first match wins (see docs/types.md § Where coercion happens):
|
|
13
21
|
* 1. Identical logical types → that type (registry singletons, identity compare).
|
|
14
22
|
* 2. Either side is NULL → the other side's type (a `select null` branch is a
|
|
15
23
|
* valid member of every type and must not poison a well-typed union).
|
|
16
24
|
* 3. Both builtin numeric (and differing) → NUMERIC, whose value space
|
|
17
25
|
* (`number | bigint`) covers both branches as they actually are — no branch
|
|
18
|
-
* conversion needed.
|
|
19
|
-
* 2.5` must stay numeric; and NOT arithmetic's INTEGER + REAL → REAL, which
|
|
20
|
-
* describes one value, not a stream mixing both forms.
|
|
26
|
+
* conversion needed. `1 union all 2.5` must stay numeric.
|
|
21
27
|
* 4. Exactly one side object-physical (JSON today) → the object side's type,
|
|
22
28
|
* with the other operand marked `convert` — the same rule and direction
|
|
23
29
|
* `insertCrossTypeCoercion` applies to comparisons (casting the JSON side to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-op-type-merge.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/set-op-type-merge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"set-op-type-merge.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/set-op-type-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI/D,+EAA+E;AAC/E,MAAM,WAAW,oBAAoB;IACpC,oFAAoF;IACpF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,oBAAoB,CA4ChG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAG3F"}
|
|
@@ -9,15 +9,21 @@
|
|
|
9
9
|
* comparator keys off it, predicate coercion decides casts from it). The merge is
|
|
10
10
|
* order-independent: swapping the operands can never change the result.
|
|
11
11
|
*
|
|
12
|
+
* Every result position with that same shape — one column, several branches, no
|
|
13
|
+
* branch converted — folds through {@link mergeSetOpAdvertisedType} rather than
|
|
14
|
+
* inventing its own rule: CASE arms (`CaseExprNode`), VALUES rows across ALL rows
|
|
15
|
+
* (`ValuesNode`), the value-returning polymorphic builtins (`findCommonType` for
|
|
16
|
+
* coalesce/iif/choose/greatest/least) and LAG/LEAD's default argument. Arithmetic
|
|
17
|
+
* is NOT one of them — it produces ONE converted value, so it promotes separately
|
|
18
|
+
* (see docs/types-inference.md § Binary operator result types).
|
|
19
|
+
*
|
|
12
20
|
* Rules, first match wins (see docs/types.md § Where coercion happens):
|
|
13
21
|
* 1. Identical logical types → that type (registry singletons, identity compare).
|
|
14
22
|
* 2. Either side is NULL → the other side's type (a `select null` branch is a
|
|
15
23
|
* valid member of every type and must not poison a well-typed union).
|
|
16
24
|
* 3. Both builtin numeric (and differing) → NUMERIC, whose value space
|
|
17
25
|
* (`number | bigint`) covers both branches as they actually are — no branch
|
|
18
|
-
* conversion needed.
|
|
19
|
-
* 2.5` must stay numeric; and NOT arithmetic's INTEGER + REAL → REAL, which
|
|
20
|
-
* describes one value, not a stream mixing both forms.
|
|
26
|
+
* conversion needed. `1 union all 2.5` must stay numeric.
|
|
21
27
|
* 4. Exactly one side object-physical (JSON today) → the object side's type,
|
|
22
28
|
* with the other operand marked `convert` — the same rule and direction
|
|
23
29
|
* `insertCrossTypeCoercion` applies to comparisons (casting the JSON side to
|
|
@@ -44,6 +50,12 @@ function isBuiltinNumeric(t) {
|
|
|
44
50
|
*/
|
|
45
51
|
export function mergeSetOpColumnType(left, right) {
|
|
46
52
|
// 1. Identical (the registry hands out one instance per type).
|
|
53
|
+
// NOTE: a schema that round-trips through persistence (observed once on the
|
|
54
|
+
// store module's rename path) can hold a NON-singleton LogicalType, which this
|
|
55
|
+
// identity compare — and rule 3's isBuiltinNumeric — then miss; the merge
|
|
56
|
+
// degrades to NUMERIC/ANY (over-wide, never wrong). If store-backed columns
|
|
57
|
+
// ever visibly advertise ANY where the types match, switch these to
|
|
58
|
+
// name-based comparison.
|
|
47
59
|
if (left === right)
|
|
48
60
|
return { logicalType: left };
|
|
49
61
|
// 2. NULL is a member of every type; the other side's claim stands.
|
|
@@ -56,11 +68,13 @@ export function mergeSetOpColumnType(left, right) {
|
|
|
56
68
|
// space the unconverted mixed stream inhabits. A non-builtin numeric type has
|
|
57
69
|
// no principled promotion — fall through to ANY (rule 5) rather than guess.
|
|
58
70
|
//
|
|
59
|
-
// Do NOT "
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
// REAL
|
|
71
|
+
// Do NOT "simplify" this to INTEGER + REAL → REAL. Advertising REAL used to land
|
|
72
|
+
// a bigint unconverted in a REAL-declared column, because `buildRowCoercion`
|
|
73
|
+
// skipped the identity match outright (ticket
|
|
74
|
+
// `set-op-numeric-promotion-skips-conversion`). Its conformance guard now catches
|
|
75
|
+
// that, but the merge still must not claim REAL: the guard would convert the
|
|
76
|
+
// INTEGER branch's bigints to doubles, trading a representation violation for
|
|
77
|
+
// silent precision loss.
|
|
64
78
|
if (left.isNumeric && right.isNumeric) {
|
|
65
79
|
if (isBuiltinNumeric(left) && isBuiltinNumeric(right))
|
|
66
80
|
return { logicalType: NUMERIC_TYPE };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-op-type-merge.js","sourceRoot":"","sources":["../../../../src/planner/analysis/set-op-type-merge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"set-op-type-merge.js","sourceRoot":"","sources":["../../../../src/planner/analysis/set-op-type-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAc1G,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,CAAc;IACvC,OAAO,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,YAAY,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAiB,EAAE,KAAkB;IACzE,+DAA+D;IAC/D,4EAA4E;IAC5E,+EAA+E;IAC/E,0EAA0E;IAC1E,4EAA4E;IAC5E,oEAAoE;IACpE,yBAAyB;IACzB,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEjD,oEAAoE;IACpE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACtD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEtD,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,EAAE;IACF,iFAAiF;IACjF,6EAA6E;IAC7E,8CAA8C;IAC9C,kFAAkF;IAClF,6EAA6E;IAC7E,8EAA8E;IAC9E,yBAAyB;IACzB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QAC5F,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,sBAAsB;IACtB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,MAAM,CAAC;IAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC,MAAM,CAAC;IAC/D,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,UAAU;YAChB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;YACzC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,gCAAgC;IAChC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAiB,EAAE,KAAkB;IAC7E,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;AACvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alter-table.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/alter-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,OAAO,EAAY,KAAK,QAAQ,EAA2D,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"alter-table.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/alter-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,OAAO,EAAY,KAAK,QAAQ,EAA2D,MAAM,uBAAuB,CAAC;AAkBzH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,cAAc,GACvB,QAAQ,CAyOV"}
|
|
@@ -6,13 +6,16 @@ import { StatusCode } from '../../common/types.js';
|
|
|
6
6
|
import { PlanNode } from '../nodes/plan-node.js';
|
|
7
7
|
import { buildExpression } from './expression.js';
|
|
8
8
|
import { buildRowDefaultScope } from './default-scope.js';
|
|
9
|
-
import { validateDeterministicDefault
|
|
9
|
+
import { validateDeterministicDefault } from '../validation/determinism-validator.js';
|
|
10
|
+
import { buildGeneratedColumnExpr } from './generated-column-scope.js';
|
|
10
11
|
import { tryFoldLiteral } from '../../parser/utils.js';
|
|
11
12
|
import { inferType } from '../../types/registry.js';
|
|
13
|
+
import { buildCellCoercion } from '../../types/validation.js';
|
|
12
14
|
import { columnSchemaToScalarType } from '../type-utils.js';
|
|
13
15
|
import { astToString, expressionToString } from '../../emit/ast-stringify.js';
|
|
14
16
|
import { validateReservedTags } from '../../schema/reserved-tags.js';
|
|
15
17
|
import { validateAddColumnGeneratedRefs } from '../../schema/table.js';
|
|
18
|
+
import { buildColumnSourceResolver } from '../../schema/column-source-resolver.js';
|
|
16
19
|
import { columnTagDiagnostics, raiseStmtTagDiagnostics } from './tag-diagnostics.js';
|
|
17
20
|
import { planViewBody } from './create-view.js';
|
|
18
21
|
import { schemaAuthoredContext } from './schema-authored-context.js';
|
|
@@ -239,7 +242,7 @@ function buildAddColumnBackfill(ctx, tableReference, columnDef) {
|
|
|
239
242
|
// compile below turns an unresolvable (or self-referencing) name into a generic
|
|
240
243
|
// "Column not found".
|
|
241
244
|
if (generatedExpr) {
|
|
242
|
-
validateAddColumnGeneratedRefs(generatedExpr, columnDef.name, tableSchema.columns, tableSchema.name);
|
|
245
|
+
validateAddColumnGeneratedRefs(generatedExpr, columnDef.name, tableSchema.columns, tableSchema.name, tableSchema.schemaName, buildColumnSourceResolver(ctx.db));
|
|
243
246
|
}
|
|
244
247
|
// Fresh attributes for the existing columns, referenced only by this expression's
|
|
245
248
|
// column refs and resolved at runtime via the row slot the emitter installs over
|
|
@@ -251,34 +254,39 @@ function buildAddColumnBackfill(ctx, tableReference, columnDef) {
|
|
|
251
254
|
type: columnSchemaToScalarType(column),
|
|
252
255
|
sourceRelation: 'add-column-backfill',
|
|
253
256
|
}));
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
257
|
+
let node;
|
|
258
|
+
if (generatedExpr) {
|
|
259
|
+
// The generated arm goes through the builder every write-path site shares, so a
|
|
260
|
+
// GENERATED ALWAYS AS declaration this ALTER accepts is one every subsequent
|
|
261
|
+
// INSERT / UPDATE / upsert recompute accepts — same accepted spellings, same
|
|
262
|
+
// `schemaAuthoredContext` wrapper, same determinism validation.
|
|
263
|
+
node = buildGeneratedColumnExpr(ctx, tableSchema, columnDef.name, generatedExpr, rowAttrs);
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
const rowScope = buildRowDefaultScope(ctx.scope, tableSchema.columns, rowAttrs);
|
|
267
|
+
// Schema-authored SQL, wrapped exactly as the three DML builders wrap theirs, so the
|
|
268
|
+
// backfill expression resolves bare relation names against the altered table's own
|
|
269
|
+
// schema — not whatever path the ALTER runs on. The CTE half of the wrapper is inert
|
|
270
|
+
// here (ALTER is not an `AST.QueryExpr`, so it can neither be a CTE body nor carry a
|
|
271
|
+
// `with` clause of its own); the schema-path half is the load-bearing part.
|
|
272
|
+
node = buildExpression({ ...schemaAuthoredContext(ctx, tableSchema.schemaName), scope: rowScope }, sourceExpr);
|
|
273
|
+
// Same validator the DEFAULT's write-path build site uses, so an ALTER accepts
|
|
274
|
+
// exactly what the equivalent CREATE TABLE + INSERT accepts. It honours
|
|
275
|
+
// `nondeterministic_schema`, so the escape hatch is unchanged.
|
|
276
|
+
if (!ctx.db.options.getBooleanOption('nondeterministic_schema')) {
|
|
269
277
|
validateDeterministicDefault(node, columnDef.name, tableSchema.name);
|
|
270
278
|
}
|
|
271
279
|
}
|
|
272
280
|
const rowDescriptor = [];
|
|
273
281
|
rowAttrs.forEach((attr, index) => { rowDescriptor[attr.id] = index; });
|
|
274
282
|
// The evaluated value has to reach storage in the new column's declared form, exactly as an
|
|
275
|
-
// INSERT's would
|
|
276
|
-
// (
|
|
277
|
-
//
|
|
278
|
-
//
|
|
283
|
+
// INSERT's would — so it takes the same decision, from the same helper the DML write path
|
|
284
|
+
// uses (`buildCellCoercion`), rather than an open-coded copy the two sites could drift on.
|
|
285
|
+
// Convert unless the expression's static type already IS the new column's type AND the
|
|
286
|
+
// value in hand already inhabits it. See `AddColumnBackfill.coerce`.
|
|
279
287
|
const newColumnType = inferType(columnDef.dataType);
|
|
280
|
-
const
|
|
281
|
-
return { node, rowDescriptor,
|
|
288
|
+
const coerce = buildCellCoercion(node.getType().logicalType, newColumnType, columnDef.name);
|
|
289
|
+
return { node, rowDescriptor, coerce };
|
|
282
290
|
}
|
|
283
291
|
/**
|
|
284
292
|
* Compile the column-level CHECK predicates of an ADD COLUMN that backfills per row (a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alter-table.js","sourceRoot":"","sources":["../../../../src/planner/building/alter-table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"alter-table.js","sourceRoot":"","sources":["../../../../src/planner/building/alter-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOtD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,GAAG,QAAQ,CAwBtF"}
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import { AnalyzePlanNode } from '../nodes/analyze-node.js';
|
|
2
|
+
import { isCommittedSchemaRef, resolveTableSchema } from './schema-resolution.js';
|
|
3
|
+
import { QuereusError } from '../../common/errors.js';
|
|
4
|
+
import { StatusCode } from '../../common/types.js';
|
|
5
|
+
import { isViewSchema } from '../../schema/view.js';
|
|
2
6
|
export function buildAnalyzeStmt(ctx, stmt) {
|
|
7
|
+
if (stmt.tableName) {
|
|
8
|
+
// A plain view has no stored rows to analyze — reject it by name before
|
|
9
|
+
// resolveTableSchema (table-only) turns it into a misleading "not found".
|
|
10
|
+
// The `committed` pseudo-schema is dropped here for the same reason
|
|
11
|
+
// resolveTableSchema drops it: it is not a real schema, so the name behind
|
|
12
|
+
// it resolves through the search path.
|
|
13
|
+
const lookupSchema = isCommittedSchemaRef(stmt.schemaName) ? undefined : stmt.schemaName;
|
|
14
|
+
const item = ctx.schemaManager.findSchemaItem(stmt.tableName, lookupSchema, ctx.schemaPath);
|
|
15
|
+
if (isViewSchema(item)) {
|
|
16
|
+
throw new QuereusError(`Cannot ANALYZE view '${item.schemaName}.${item.name}': a view has no stored rows to collect statistics from.`, StatusCode.ERROR);
|
|
17
|
+
}
|
|
18
|
+
const tableSchema = resolveTableSchema(ctx, stmt.tableName, stmt.schemaName);
|
|
19
|
+
return new AnalyzePlanNode(ctx.scope, stmt, tableSchema.name, tableSchema.schemaName);
|
|
20
|
+
}
|
|
21
|
+
if (stmt.schemaName && !ctx.schemaManager.getSchema(stmt.schemaName)) {
|
|
22
|
+
throw new QuereusError(`Schema not found: ${stmt.schemaName}`, StatusCode.ERROR);
|
|
23
|
+
}
|
|
3
24
|
return new AnalyzePlanNode(ctx.scope, stmt, stmt.tableName, stmt.schemaName);
|
|
4
25
|
}
|
|
5
26
|
//# sourceMappingURL=analyze.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../../src/planner/building/analyze.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../../src/planner/building/analyze.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,UAAU,gBAAgB,CAAC,GAAoB,EAAE,IAAqB;IAC3E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,wEAAwE;QACxE,0EAA0E;QAC1E,oEAAoE;QACpE,2EAA2E;QAC3E,uCAAuC;QACvC,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACzF,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5F,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CACrB,wBAAwB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,0DAA0D,EAC9G,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7E,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,YAAY,CAAC,qBAAqB,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA+B9D,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,SAAS,CAqCvF"}
|