@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/schema/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAc,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/schema/table.ts"],"names":[],"mappings":"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"}
|
package/dist/src/schema/table.js
CHANGED
|
@@ -4,7 +4,7 @@ import { StatusCode } from '../common/types.js';
|
|
|
4
4
|
import { quereusError, QuereusError } from '../common/errors.js';
|
|
5
5
|
import { createLogger } from '../common/logger.js';
|
|
6
6
|
import { inferType } from '../types/registry.js';
|
|
7
|
-
import {
|
|
7
|
+
import { collectGeneratedColumnRefs } from './generated-column-refs.js';
|
|
8
8
|
const log = createLogger('schema:table');
|
|
9
9
|
const warnLog = log.extend('warn');
|
|
10
10
|
/**
|
|
@@ -462,9 +462,9 @@ export function appendIndexToTableSchema(tableSchema, indexSchema) {
|
|
|
462
462
|
* likewise left to the caller: the engine recomputes them from column names right after DROP
|
|
463
463
|
* COLUMN returns (`withGeneratedColumnGraph` in `runDropColumn`), so only a caller driving a
|
|
464
464
|
* module's API directly ever observes a stale map — mirroring the same carve-out on the insert
|
|
465
|
-
* side.
|
|
466
|
-
* side: enforcement resolves the parent indices on demand from `referencedColumnNames`
|
|
467
|
-
* the parent's CURRENT schema.
|
|
465
|
+
* side. A foreign key has no stored parent-column-index field to touch, for the same reason as on
|
|
466
|
+
* the insert side: enforcement resolves the parent indices on demand from `referencedColumnNames`
|
|
467
|
+
* against the parent's CURRENT schema.
|
|
468
468
|
*/
|
|
469
469
|
export function shiftSchemaIndicesForDrop(schema, colIndex) {
|
|
470
470
|
if (colIndex < 0 || colIndex >= schema.columns.length) {
|
|
@@ -699,6 +699,37 @@ export function resolveReferencedColumns(fk, parentSchema) {
|
|
|
699
699
|
// Default to primary key columns
|
|
700
700
|
return parentSchema.primaryKeyDefinition.map(pk => pk.index);
|
|
701
701
|
}
|
|
702
|
+
/**
|
|
703
|
+
* {@link resolveReferencedColumns} plus the arity check every ENFORCEMENT site
|
|
704
|
+
* needs: a FK whose child column count does not match the resolved parent key
|
|
705
|
+
* cannot be checked at all, so the statement must fail rather than quietly skip
|
|
706
|
+
* the constraint.
|
|
707
|
+
*
|
|
708
|
+
* The gap this closes is the `references <Parent>` form with no parent column
|
|
709
|
+
* list: the declaration builders (`schema/constraint-builder.ts`
|
|
710
|
+
* `buildForeignKeyConstraintSchema`, `SchemaManager.extractForeignKeys`) compare
|
|
711
|
+
* counts only when a parent column list is written, and the defaulted form
|
|
712
|
+
* resolves to the parent's primary key — which may not exist yet (forward
|
|
713
|
+
* references are legal, see docs/sql-ddl.md § Order Independence) and can change
|
|
714
|
+
* arity later. So the arity is only knowable at enforcement time, and every
|
|
715
|
+
* enforcement site routes through here.
|
|
716
|
+
*
|
|
717
|
+
* Introspection / optimization callers (key-utils, ind-utils, lens FK
|
|
718
|
+
* discovery, `foreign_key_info`) keep using {@link resolveReferencedColumns} —
|
|
719
|
+
* a malformed FK must not make a read query fail.
|
|
720
|
+
*/
|
|
721
|
+
export function resolveReferencedColumnsForEnforcement(fk, parentSchema, childSchema) {
|
|
722
|
+
const parentColIndices = resolveReferencedColumns(fk, parentSchema);
|
|
723
|
+
if (parentColIndices.length === fk.columns.length)
|
|
724
|
+
return parentColIndices;
|
|
725
|
+
const fkName = fk.name ?? `_fk_${childSchema.name}`;
|
|
726
|
+
const child = `${childSchema.schemaName}.${childSchema.name}`;
|
|
727
|
+
const parent = `${parentSchema.schemaName}.${parentSchema.name}`;
|
|
728
|
+
const target = (fk.referencedColumnNames && fk.referencedColumnNames.length > 0)
|
|
729
|
+
? `${parentColIndices.length} column(s) of '${parent}'`
|
|
730
|
+
: `the primary key of '${parent}', which has ${parentColIndices.length} column(s)`;
|
|
731
|
+
throw new QuereusError(`Foreign key '${fkName}' on table '${child}': ${fk.columns.length} column(s) reference ${target}.`, StatusCode.ERROR);
|
|
732
|
+
}
|
|
702
733
|
/**
|
|
703
734
|
* Helper to parse primary key from AST column and table constraints.
|
|
704
735
|
* @param columns Parsed column definitions from AST.
|
|
@@ -932,9 +963,15 @@ function findColumnPKDefinition(columns) {
|
|
|
932
963
|
* Returns a copy of `tableSchema` with `generatedColumnDependencies` and
|
|
933
964
|
* `generatedColumnTopoOrder` recomputed from its current column list.
|
|
934
965
|
* Throws on cycle. The other fields are preserved as-is.
|
|
966
|
+
*
|
|
967
|
+
* `resolveColumnInSource` is the catalog-backed resolver
|
|
968
|
+
* (`buildColumnSourceResolver(db)`) the scope-aware reference analysis
|
|
969
|
+
* consults for inner FROM sources; questions about this table itself are
|
|
970
|
+
* answered from `tableSchema.columns` (the catalog may hold a stale
|
|
971
|
+
* pre-ALTER column set, or not hold the table at all).
|
|
935
972
|
*/
|
|
936
|
-
export function withGeneratedColumnGraph(tableSchema) {
|
|
937
|
-
const rawDeps = extractGeneratedColumnDependencies(tableSchema.columns, tableSchema.name);
|
|
973
|
+
export function withGeneratedColumnGraph(tableSchema, resolveColumnInSource) {
|
|
974
|
+
const rawDeps = extractGeneratedColumnDependencies(tableSchema.columns, tableSchema.name, tableSchema.schemaName, resolveColumnInSource);
|
|
938
975
|
if (rawDeps.size === 0) {
|
|
939
976
|
return Object.freeze({
|
|
940
977
|
...tableSchema,
|
|
@@ -953,46 +990,80 @@ export function withGeneratedColumnGraph(tableSchema) {
|
|
|
953
990
|
});
|
|
954
991
|
}
|
|
955
992
|
/**
|
|
956
|
-
*
|
|
957
|
-
*
|
|
958
|
-
*
|
|
959
|
-
*
|
|
960
|
-
*
|
|
993
|
+
* Wrap the catalog-backed source resolver so questions about the table under
|
|
994
|
+
* analysis are answered from the in-flight column list instead of the catalog:
|
|
995
|
+
* at CREATE TABLE the catalog does not hold the table yet, and at DROP COLUMN
|
|
996
|
+
* it still holds the pre-drop column set. `extraColumnLower` covers ALTER ADD
|
|
997
|
+
* COLUMN, where the resolver must answer for the post-ALTER column set the
|
|
998
|
+
* emitter's re-analysis will see.
|
|
999
|
+
*/
|
|
1000
|
+
function resolveWithInFlightColumns(resolve, schemaName, tableName, columnIndexMap, extraColumnLower) {
|
|
1001
|
+
const schemaLower = schemaName.toLowerCase();
|
|
1002
|
+
const tableLower = tableName.toLowerCase();
|
|
1003
|
+
return (sourceSchema, sourceName, columnName) => {
|
|
1004
|
+
if (sourceSchema.toLowerCase() === schemaLower && sourceName.toLowerCase() === tableLower) {
|
|
1005
|
+
const colLower = columnName.toLowerCase();
|
|
1006
|
+
return columnIndexMap.has(colLower) || colLower === extraColumnLower;
|
|
1007
|
+
}
|
|
1008
|
+
return resolve(sourceSchema, sourceName, columnName);
|
|
1009
|
+
};
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Shared rejection for a qualified generated-column reference nothing binds
|
|
1013
|
+
* (`RefBinding` `'unbound'`) — thrown identically by both authoring surfaces
|
|
1014
|
+
* so a declaration cannot be accepted by one and rejected by the other. See
|
|
1015
|
+
* `RefBinding` in `./generated-column-refs.ts`.
|
|
1016
|
+
*
|
|
1017
|
+
* NOTE: accepted tradeoff — this also fires on catalog reload (via
|
|
1018
|
+
* `withGeneratedColumnGraph`), so a table a pre-fix build persisted with such a
|
|
1019
|
+
* body now fails to LOAD rather than loading unwritable. Kept: the table could
|
|
1020
|
+
* never be written either way, and backwards compatibility is not yet a project
|
|
1021
|
+
* constraint. Revisit if stores written by older builds must open.
|
|
1022
|
+
*/
|
|
1023
|
+
function unboundQualifierError(ref, generatedColumnName, tableName) {
|
|
1024
|
+
return new QuereusError(`'${ref.originalQualifier}.${ref.originalName}' referenced by generated column '${generatedColumnName}' in table '${tableName}' binds nothing: a generated expression computes from the row being written, so it may only name this table's own columns (bare, '${tableName}.', or 'new.') or columns of a source it selects from`, StatusCode.ERROR);
|
|
1025
|
+
}
|
|
1026
|
+
/**
|
|
1027
|
+
* For each generated column, collects the column indices in this table that
|
|
1028
|
+
* its expression references, via the scope-aware collector
|
|
1029
|
+
* (`./generated-column-refs.ts`) — a name bound by a FROM clause inside the
|
|
1030
|
+
* expression belongs to that source, not to this table. Per reference:
|
|
961
1031
|
*
|
|
962
|
-
*
|
|
963
|
-
*
|
|
964
|
-
*
|
|
1032
|
+
* - `'own'` binding: a known column records a dependency edge; an unknown
|
|
1033
|
+
* name of `'column'` shape is rejected ("not found") so typos surface at
|
|
1034
|
+
* CREATE TABLE / ALTER TABLE time rather than at INSERT/UPDATE time; an
|
|
1035
|
+
* unknown `'identifier'` is ignored (it may legitimately be a function or
|
|
1036
|
+
* mutation-context variable).
|
|
1037
|
+
* - `'foreign'` binding: ignored entirely.
|
|
1038
|
+
* - `'unbound'` binding (a qualified reference nothing binds): rejected —
|
|
1039
|
+
* there is nothing for it to resolve against at write time either.
|
|
1040
|
+
* - `'unknown'` binding (an opaque subquery / function / CTE source
|
|
1041
|
+
* intervenes): a known column records an edge (a missing edge would compute
|
|
1042
|
+
* a generated column before its dependency and silently write NULL);
|
|
1043
|
+
* an unknown name is ignored silently. Net effect vs. the scope-blind
|
|
1044
|
+
* analysis this replaced: only ever accepts more, never less.
|
|
965
1045
|
*/
|
|
966
|
-
export function extractGeneratedColumnDependencies(columns, tableName) {
|
|
1046
|
+
export function extractGeneratedColumnDependencies(columns, tableName, schemaName, resolveColumnInSource) {
|
|
967
1047
|
const columnIndexMap = buildColumnIndexMap(columns);
|
|
968
|
-
const
|
|
1048
|
+
const resolve = resolveWithInFlightColumns(resolveColumnInSource, schemaName, tableName, columnIndexMap);
|
|
969
1049
|
const result = new Map();
|
|
970
1050
|
columns.forEach((col, colIdx) => {
|
|
971
1051
|
if (!col.generated || !col.generatedExpr)
|
|
972
1052
|
return;
|
|
973
1053
|
const deps = new Set();
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
const ref = node;
|
|
988
|
-
if (ref.schema)
|
|
989
|
-
return;
|
|
990
|
-
const refIdx = columnIndexMap.get(ref.name.toLowerCase());
|
|
991
|
-
if (refIdx !== undefined)
|
|
992
|
-
deps.add(refIdx);
|
|
993
|
-
}
|
|
994
|
-
},
|
|
995
|
-
});
|
|
1054
|
+
for (const ref of collectGeneratedColumnRefs(col.generatedExpr, tableName, schemaName, resolve)) {
|
|
1055
|
+
if (ref.binding === 'unbound')
|
|
1056
|
+
throw unboundQualifierError(ref, col.name, tableName);
|
|
1057
|
+
if (ref.binding === 'foreign')
|
|
1058
|
+
continue;
|
|
1059
|
+
const refIdx = columnIndexMap.get(ref.name);
|
|
1060
|
+
if (refIdx !== undefined) {
|
|
1061
|
+
deps.add(refIdx);
|
|
1062
|
+
}
|
|
1063
|
+
else if (ref.binding === 'own' && ref.shape === 'column') {
|
|
1064
|
+
throw new QuereusError(`Column '${ref.originalName}' referenced by generated column '${col.name}' not found in table '${tableName}'`, StatusCode.ERROR);
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
996
1067
|
result.set(colIdx, Array.from(deps).sort((a, b) => a - b));
|
|
997
1068
|
});
|
|
998
1069
|
return result;
|
|
@@ -1014,45 +1085,36 @@ export function extractGeneratedColumnDependencies(columns, tableName) {
|
|
|
1014
1085
|
* A self-reference is the only cycle ADD COLUMN can create: an existing column's
|
|
1015
1086
|
* expression cannot name a column that does not exist yet.
|
|
1016
1087
|
*/
|
|
1017
|
-
export function validateAddColumnGeneratedRefs(expr, newColumnName, existingColumns, tableName) {
|
|
1088
|
+
export function validateAddColumnGeneratedRefs(expr, newColumnName, existingColumns, tableName, schemaName, resolveColumnInSource) {
|
|
1018
1089
|
const columnIndexMap = buildColumnIndexMap(existingColumns);
|
|
1019
|
-
const tableNameLower = tableName.toLowerCase();
|
|
1020
1090
|
const newColLower = newColumnName.toLowerCase();
|
|
1021
1091
|
// `add column v … generated always as (v * 2)` where `v` ALREADY exists is a duplicate
|
|
1022
1092
|
// column, not a cycle; the reference resolves to the existing sibling. Leave the
|
|
1023
1093
|
// rejection to `runAddColumn`'s duplicate check so the message names the real problem.
|
|
1024
1094
|
const newColumnIsDuplicate = columnIndexMap.has(newColLower);
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
if (lower === newColLower && !newColumnIsDuplicate) {
|
|
1049
|
-
throw new QuereusError(`Cyclic dependency in generated columns: '${newColumnName}'`, StatusCode.ERROR);
|
|
1050
|
-
}
|
|
1051
|
-
if (node.type === 'column' && !columnIndexMap.has(lower)) {
|
|
1052
|
-
throw new QuereusError(`Column '${name}' referenced by generated column '${newColumnName}' not found in table '${tableName}'`, StatusCode.ERROR);
|
|
1053
|
-
}
|
|
1054
|
-
},
|
|
1055
|
-
});
|
|
1095
|
+
// Resolve questions about this table from the POST-ALTER column set (existing
|
|
1096
|
+
// plus the new column): the emitter re-runs `extractGeneratedColumnDependencies`
|
|
1097
|
+
// on that set, and this pre-flight must accept exactly what it will.
|
|
1098
|
+
const resolve = resolveWithInFlightColumns(resolveColumnInSource, schemaName, tableName, columnIndexMap, newColLower);
|
|
1099
|
+
for (const ref of collectGeneratedColumnRefs(expr, tableName, schemaName, resolve)) {
|
|
1100
|
+
if (ref.binding === 'unbound')
|
|
1101
|
+
throw unboundQualifierError(ref, newColumnName, tableName);
|
|
1102
|
+
if (ref.binding === 'foreign')
|
|
1103
|
+
continue;
|
|
1104
|
+
// Both `'own'` and `'unknown'` bindings of the new column's own name are a
|
|
1105
|
+
// self-cycle here: the emitter's re-analysis records a dependency edge for
|
|
1106
|
+
// either (see extractGeneratedColumnDependencies) and its topological sort
|
|
1107
|
+
// then raises this same error — this pre-flight only moves it earlier.
|
|
1108
|
+
if (ref.name === newColLower && !newColumnIsDuplicate) {
|
|
1109
|
+
throw new QuereusError(`Cyclic dependency in generated columns: '${newColumnName}'`, StatusCode.ERROR);
|
|
1110
|
+
}
|
|
1111
|
+
// Only an `'own'`-bound `column` shape yields "not found" — an `'unknown'`
|
|
1112
|
+
// binding may bind an opaque inner source, and a bare `identifier` may
|
|
1113
|
+
// legitimately resolve to something that is not a column of this table.
|
|
1114
|
+
if (ref.binding === 'own' && ref.shape === 'column' && !columnIndexMap.has(ref.name)) {
|
|
1115
|
+
throw new QuereusError(`Column '${ref.originalName}' referenced by generated column '${newColumnName}' not found in table '${tableName}'`, StatusCode.ERROR);
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1056
1118
|
}
|
|
1057
1119
|
/**
|
|
1058
1120
|
* Topologically sorts generated columns so a generated column's dependencies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/schema/table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/schema/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,11 @@ export interface CrossTypeCoercion {
|
|
|
65
65
|
* the conversion would only add a runtime hop.
|
|
66
66
|
*
|
|
67
67
|
* 2. **Numeric vs textual.** The textual operand converts to the numeric side's
|
|
68
|
-
* type
|
|
68
|
+
* type so the runtime can take the fast path — except an INTEGER side targets
|
|
69
|
+
* NUMERIC: text names its numeric value in full (`'1e3'` is 1000, `'1.5'` is
|
|
70
|
+
* 1.5), and `INTEGER_TYPE.parse`'s leading-digit-prefix reading (`'1e3'` → 1,
|
|
71
|
+
* `'1.5'` → 1) turned `1000 = '1e3'` false and `int_col = '1.5'` true.
|
|
72
|
+
* NUMERIC parses the whole spelling and compares fine against INTEGER values.
|
|
69
73
|
*/
|
|
70
74
|
export declare function crossTypeCoercion(left: LogicalType, right: LogicalType): CrossTypeCoercion | null;
|
|
71
75
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparison-coercion.d.ts","sourceRoot":"","sources":["../../../src/types/comparison-coercion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACrC,YAAY,EAAE,KAAK,GAAG,SAAS,MAAM,EAAE,EACvC,QAAQ,EAAE,MAAM,GACd,SAAS,MAAM,EAAE,CAInB;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC7B;AAID
|
|
1
|
+
{"version":3,"file":"comparison-coercion.d.ts","sourceRoot":"","sources":["../../../src/types/comparison-coercion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACrC,YAAY,EAAE,KAAK,GAAG,SAAS,MAAM,EAAE,EACvC,QAAQ,EAAE,MAAM,GACd,SAAS,MAAM,EAAE,CAInB;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,iBAAiB,GAAG,IAAI,CAgBjG;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAC9B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAqCjC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PhysicalType } from './logical-type.js';
|
|
2
|
-
import { NULL_TYPE, NUMERIC_TYPE } from './builtin-types.js';
|
|
2
|
+
import { INTEGER_TYPE, NULL_TYPE, NUMERIC_TYPE } from './builtin-types.js';
|
|
3
3
|
/**
|
|
4
4
|
* THE type-level decision behind every comparison-site coercion: given the
|
|
5
5
|
* declared types of the operands, which of them must be converted, and to what.
|
|
@@ -66,7 +66,11 @@ const isObject = (type) => type.physicalType === PhysicalType.OBJECT;
|
|
|
66
66
|
* the conversion would only add a runtime hop.
|
|
67
67
|
*
|
|
68
68
|
* 2. **Numeric vs textual.** The textual operand converts to the numeric side's
|
|
69
|
-
* type
|
|
69
|
+
* type so the runtime can take the fast path — except an INTEGER side targets
|
|
70
|
+
* NUMERIC: text names its numeric value in full (`'1e3'` is 1000, `'1.5'` is
|
|
71
|
+
* 1.5), and `INTEGER_TYPE.parse`'s leading-digit-prefix reading (`'1e3'` → 1,
|
|
72
|
+
* `'1.5'` → 1) turned `1000 = '1e3'` false and `int_col = '1.5'` true.
|
|
73
|
+
* NUMERIC parses the whole spelling and compares fine against INTEGER values.
|
|
70
74
|
*/
|
|
71
75
|
export function crossTypeCoercion(left, right) {
|
|
72
76
|
const leftObject = isObject(left);
|
|
@@ -82,11 +86,20 @@ export function crossTypeCoercion(left, right) {
|
|
|
82
86
|
return null;
|
|
83
87
|
}
|
|
84
88
|
if (left.isNumeric && right.isTextual)
|
|
85
|
-
return { side: 'right', target: left };
|
|
89
|
+
return { side: 'right', target: textCoercionTarget(left) };
|
|
86
90
|
if (right.isNumeric && left.isTextual)
|
|
87
|
-
return { side: 'left', target: right };
|
|
91
|
+
return { side: 'left', target: textCoercionTarget(right) };
|
|
88
92
|
return null;
|
|
89
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* The conversion target for a TEXT operand compared against a numeric one — the
|
|
96
|
+
* numeric side's own type, except INTEGER widens to NUMERIC (rule 2 above: the
|
|
97
|
+
* prefix parse must not decide a comparison). Matched by NAME: a schema
|
|
98
|
+
* round-tripped through persistence may hold a non-singleton instance.
|
|
99
|
+
*/
|
|
100
|
+
function textCoercionTarget(numeric) {
|
|
101
|
+
return numeric.name === INTEGER_TYPE.name ? NUMERIC_TYPE : numeric;
|
|
102
|
+
}
|
|
90
103
|
/**
|
|
91
104
|
* Per-operand conversion target for a "one probe against many values" comparison
|
|
92
105
|
* group — an IN value list, a simple CASE, or a comparison builtin's argument
|
|
@@ -157,6 +170,9 @@ export function comparisonGroupCoercions(logicals) {
|
|
|
157
170
|
*/
|
|
158
171
|
function commonNumericType(valueTypes) {
|
|
159
172
|
const first = valueTypes[0];
|
|
160
|
-
|
|
173
|
+
// The hoisted cast lands on the TEXTUAL probe, so an all-INTEGER list still
|
|
174
|
+
// widens to NUMERIC (textCoercionTarget) — the prefix parse must not decide
|
|
175
|
+
// `text_col in (1, 2)` any more than it may decide `text_col = 1`.
|
|
176
|
+
return valueTypes.every(type => type === first) ? textCoercionTarget(first) : NUMERIC_TYPE;
|
|
161
177
|
}
|
|
162
178
|
//# sourceMappingURL=comparison-coercion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparison-coercion.js","sourceRoot":"","sources":["../../../src/types/comparison-coercion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"comparison-coercion.js","sourceRoot":"","sources":["../../../src/types/comparison-coercion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { DeepReadonly, SqlValue } from '../common/types.js';
|
|
2
|
+
import { type LogicalType } from './logical-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* "Does this value inhabit this declared type's JS value space" — rule R2 of
|
|
5
|
+
* docs/types.md § Physical representation, as a pure predicate with no assertion or
|
|
6
|
+
* diagnostic machinery attached.
|
|
7
|
+
*
|
|
8
|
+
* Two consumers share it and MUST NOT be allowed to disagree about what conforms:
|
|
9
|
+
*
|
|
10
|
+
* - the off-by-default representation checker (`runtime/strict-representation.ts`),
|
|
11
|
+
* which turns a violation into a `RepresentationError`;
|
|
12
|
+
* - the DML write path (`buildRowCoercion` / `buildCellCoercion` in `validation.ts`),
|
|
13
|
+
* which converts a cell whose statically-announced type is contradicted by the value
|
|
14
|
+
* actually in hand.
|
|
15
|
+
*
|
|
16
|
+
* Lives in `types/` rather than `runtime/` for that second consumer: the `types/` layer
|
|
17
|
+
* must not import from `runtime/`.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* A declared type as this predicate reads it. Only `name` and `physicalType` are
|
|
21
|
+
* consulted, and the parameter is `DeepReadonly` so both a raw `LogicalType` (column
|
|
22
|
+
* schema) and the frozen one a `ScalarType` carries are accepted without a cast.
|
|
23
|
+
*/
|
|
24
|
+
export type DeclaredType = DeepReadonly<LogicalType>;
|
|
25
|
+
/**
|
|
26
|
+
* Tests one non-null value against one declared type. Pre-selected per `physicalType` by
|
|
27
|
+
* {@link buildConformanceCheck} so a per-row caller pays a `typeof`/`instanceof` rather
|
|
28
|
+
* than a switch.
|
|
29
|
+
*/
|
|
30
|
+
export type ConformanceCheck = (value: Exclude<SqlValue, null>) => boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Pre-select the R2 arm for a declared type once, for a caller that will test many values
|
|
33
|
+
* against it (the write-path guard, per row). Returns `undefined` when the type imposes no
|
|
34
|
+
* R2 constraint at all — `PhysicalType.NULL` (`ANY` / `NULL`) and any unrecognized
|
|
35
|
+
* plugin physical code — so such a caller can skip the check entirely rather than call a
|
|
36
|
+
* closure that always returns true.
|
|
37
|
+
*
|
|
38
|
+
* Keyed on `physicalType` rather than the type's identity so plugin-registered types are
|
|
39
|
+
* covered too. Two arms need the type NAME as well:
|
|
40
|
+
*
|
|
41
|
+
* - **NUMERIC** shares REAL's `physicalType` (see the NOTE on `NUMERIC_TYPE` in
|
|
42
|
+
* `types/builtin-types.ts`) but its value space includes `bigint`.
|
|
43
|
+
* NOTE: matched by NAME, not by identity against the `NUMERIC_TYPE` singleton the way
|
|
44
|
+
* `isSeekKeySpaceNumeric` matches, because the surrounding switch is deliberately keyed
|
|
45
|
+
* on `physicalType` so plugin-registered types are covered. The cost is that a
|
|
46
|
+
* plugin-registered REAL-physical type *named* `NUMERIC` would silently inherit
|
|
47
|
+
* bigint admission. No such type exists in tree; if one is ever registered, give
|
|
48
|
+
* `LogicalType` an explicit "admits bigint" property and switch on that instead.
|
|
49
|
+
* - **`ANY`/NULL** (`PhysicalType.NULL`) impose no R2 constraint at all — an `ANY`
|
|
50
|
+
* position may legitimately hold any storage class.
|
|
51
|
+
*
|
|
52
|
+
* TIMESTAMP needs no special case: it declares `physicalType` INTEGER because it IS an
|
|
53
|
+
* integer instant, so it takes INTEGER's rule. The string temporals (DATE / TIME /
|
|
54
|
+
* DATETIME / TIMESPAN) declare TEXT and take TEXT's — R2 must not demand a `Temporal`
|
|
55
|
+
* object for them.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildConformanceCheck(type: DeclaredType): ConformanceCheck | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* R2 for one non-null value that has already passed R1 (canonical numeric form): does the
|
|
60
|
+
* value inhabit `type`'s JS value space? A type with no R2 constraint admits everything.
|
|
61
|
+
*
|
|
62
|
+
* One-shot form of {@link buildConformanceCheck} — same arms, no closure retained.
|
|
63
|
+
*/
|
|
64
|
+
export declare function conformsToType(value: Exclude<SqlValue, null>, type: DeclaredType): boolean;
|
|
65
|
+
//# sourceMappingURL=representation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"representation.d.ts","sourceRoot":"","sources":["../../../src/types/representation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;;;;;;;;;;;;GAeG;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,OAAO,CAAC;AA0B3E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,SAAS,CAUtF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAG1F"}
|