@quereus/quereus 4.10.0 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +5 -3
- 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 +3 -2
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +20 -27
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +8 -25
- 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 +19 -8
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.js +56 -37
- 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 +36 -60
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/mutation-context.d.ts +63 -0
- package/dist/src/planner/building/mutation-context.d.ts.map +1 -0
- package/dist/src/planner/building/mutation-context.js +126 -0
- package/dist/src/planner/building/mutation-context.js.map +1 -0
- 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 +21 -32
- 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 +70 -26
- 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 +22 -13
- 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 +28 -24
- 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 +94 -5
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +159 -21
- 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 +23 -7
- package/dist/src/schema/constraint-builder.d.ts.map +1 -1
- package/dist/src/schema/constraint-builder.js +60 -16
- 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 +48 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +168 -36
- 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 +117 -19
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +213 -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,260 @@
|
|
|
1
|
+
import { buildScopeFrame, emptyScopeFrame, opaqueScopeFrame, sealedScopeFrame, withScopeFrame } from './frame.js';
|
|
2
|
+
/**
|
|
3
|
+
* Walk `root` with the conservative FROM-frame model, invoking `handlers` at
|
|
4
|
+
* every name-bearing leaf. The walk mirrors SQL shadowing rules: a qualifier
|
|
5
|
+
* rebound by an inner FROM is visible to the handler as a binding frame above
|
|
6
|
+
* the seed, and contexts that cannot correlate to the written row (CTE bodies,
|
|
7
|
+
* derived-table bodies, DML statements) sit under an opaque barrier frame.
|
|
8
|
+
*
|
|
9
|
+
* A missing `root` returns without touching the handlers.
|
|
10
|
+
*/
|
|
11
|
+
export function walkSchemaExpressionScope(root, options, handlers) {
|
|
12
|
+
if (!root)
|
|
13
|
+
return;
|
|
14
|
+
const state = { options, handlers, stack: [] };
|
|
15
|
+
const seed = emptyScopeFrame();
|
|
16
|
+
for (const name of options.seedBindings)
|
|
17
|
+
seed.bound.add(name);
|
|
18
|
+
withScopeFrame(state.stack, seed, () => visit(root, state));
|
|
19
|
+
}
|
|
20
|
+
/** Visit a node whose scope cannot be analyzed (CTE / derived-table / DML bodies). */
|
|
21
|
+
function visitBarrier(node, state) {
|
|
22
|
+
withScopeFrame(state.stack, opaqueScopeFrame(), () => visit(node, state));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Visit a node whose names resolve in a naming environment this walk does not
|
|
26
|
+
* model at all — view write-through metadata (`with inverse (…)` /
|
|
27
|
+
* `with defaults (…)`), evaluated against the written view row. Stronger than a
|
|
28
|
+
* barrier: not even `new.<col>` may reach the seed from in here.
|
|
29
|
+
*/
|
|
30
|
+
function visitSealed(node, state) {
|
|
31
|
+
withScopeFrame(state.stack, sealedScopeFrame(), () => visit(node, state));
|
|
32
|
+
}
|
|
33
|
+
function visit(node, state) {
|
|
34
|
+
if (!node)
|
|
35
|
+
return;
|
|
36
|
+
switch (node.type) {
|
|
37
|
+
case 'select':
|
|
38
|
+
visitSelect(node, state);
|
|
39
|
+
break;
|
|
40
|
+
case 'insert':
|
|
41
|
+
case 'update':
|
|
42
|
+
case 'delete':
|
|
43
|
+
visitDml(node, state);
|
|
44
|
+
break;
|
|
45
|
+
case 'values': {
|
|
46
|
+
node.values.forEach(row => row.forEach(v => visit(v, state)));
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
case 'join': {
|
|
50
|
+
const join = node;
|
|
51
|
+
visit(join.left, state);
|
|
52
|
+
visit(join.right, state);
|
|
53
|
+
visit(join.condition, state);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case 'functionSource': {
|
|
57
|
+
node.args.forEach(a => visit(a, state));
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
case 'subquerySource': {
|
|
61
|
+
// A derived table's body cannot correlate to the written row — barrier.
|
|
62
|
+
visitBarrier(node.subquery, state);
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
case 'binary': {
|
|
66
|
+
const e = node;
|
|
67
|
+
visit(e.left, state);
|
|
68
|
+
visit(e.right, state);
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
case 'unary':
|
|
72
|
+
case 'cast':
|
|
73
|
+
case 'collate':
|
|
74
|
+
visit(node.expr, state);
|
|
75
|
+
break;
|
|
76
|
+
case 'function':
|
|
77
|
+
node.args.forEach(a => visit(a, state));
|
|
78
|
+
break;
|
|
79
|
+
case 'subquery':
|
|
80
|
+
visit(node.query, state);
|
|
81
|
+
break;
|
|
82
|
+
case 'windowFunction': {
|
|
83
|
+
const wf = node;
|
|
84
|
+
visit(wf.function, state);
|
|
85
|
+
visit(wf.window, state);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case 'windowDefinition':
|
|
89
|
+
visitWindowDefinition(node, state);
|
|
90
|
+
break;
|
|
91
|
+
case 'case': {
|
|
92
|
+
const ce = node;
|
|
93
|
+
visit(ce.baseExpr, state);
|
|
94
|
+
ce.whenThenClauses.forEach(wt => {
|
|
95
|
+
visit(wt.when, state);
|
|
96
|
+
visit(wt.then, state);
|
|
97
|
+
});
|
|
98
|
+
visit(ce.elseExpr, state);
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case 'in': {
|
|
102
|
+
const ie = node;
|
|
103
|
+
visit(ie.expr, state);
|
|
104
|
+
(ie.values ?? []).forEach(v => visit(v, state));
|
|
105
|
+
visit(ie.subquery, state);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case 'exists':
|
|
109
|
+
visit(node.subquery, state);
|
|
110
|
+
break;
|
|
111
|
+
case 'between': {
|
|
112
|
+
const be = node;
|
|
113
|
+
visit(be.expr, state);
|
|
114
|
+
visit(be.lower, state);
|
|
115
|
+
visit(be.upper, state);
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case 'column':
|
|
119
|
+
state.handlers.onColumn(node, state.stack);
|
|
120
|
+
break;
|
|
121
|
+
case 'identifier':
|
|
122
|
+
// Terminal either way — an analysis with nothing to say about bare
|
|
123
|
+
// identifiers (the strip) simply supplies no handler.
|
|
124
|
+
state.handlers.onIdentifier?.(node, state.stack);
|
|
125
|
+
break;
|
|
126
|
+
default:
|
|
127
|
+
// Silently ignored, unlike `traverseAst`'s warn: a schema expression
|
|
128
|
+
// legitimately holds `literal` / `parameter` / `table` nodes that carry
|
|
129
|
+
// no name for a handler to see.
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function visitSelect(stmt, state) {
|
|
134
|
+
const withFrame = emptyScopeFrame();
|
|
135
|
+
withScopeFrame(state.stack, withFrame, () => {
|
|
136
|
+
for (const cte of stmt.withClause?.ctes ?? []) {
|
|
137
|
+
// A CTE body cannot correlate to the written row — no analysis inside.
|
|
138
|
+
// Its name is registered only AFTER its own body is visited, so a
|
|
139
|
+
// non-recursive CTE cannot see itself; swapping the order silently
|
|
140
|
+
// changes which sources `collectScopeBindings` treats as opaque.
|
|
141
|
+
visitBarrier(cte.query, state);
|
|
142
|
+
withFrame.cteNames.add(cte.name.toLowerCase());
|
|
143
|
+
}
|
|
144
|
+
const frame = buildScopeFrame(stmt.from, state.options.defaultSchema, state.stack);
|
|
145
|
+
withScopeFrame(state.stack, frame, () => {
|
|
146
|
+
visitResultColumns(stmt.columns, state);
|
|
147
|
+
// Trailing `with defaults (col = expr, …)` — view write-through metadata,
|
|
148
|
+
// sealed like a result column's `with inverse (…)`. Position in this list is
|
|
149
|
+
// semantically irrelevant (the seal blocks everything); kept next to the
|
|
150
|
+
// result-column visit so the two write-through clauses read together.
|
|
151
|
+
(stmt.defaults ?? []).forEach(d => visitSealed(d.expr, state));
|
|
152
|
+
(stmt.from ?? []).forEach(f => visit(f, state));
|
|
153
|
+
visit(stmt.where, state);
|
|
154
|
+
(stmt.groupBy ?? []).forEach(g => visit(g, state));
|
|
155
|
+
visit(stmt.having, state);
|
|
156
|
+
// NOTE: on a compound these bind to the WHOLE compound, not the leading
|
|
157
|
+
// leg, so visiting them inside the leading leg's FROM frame can let that
|
|
158
|
+
// leg's sources capture a name that should fall through. Left as-is: it is
|
|
159
|
+
// conditional, not wrong for a non-compound select, and untangling it needs
|
|
160
|
+
// the AST to distinguish leg-level from compound-level clauses, which it
|
|
161
|
+
// does not (the parser folds a compound's trailing ORDER BY / LIMIT onto the
|
|
162
|
+
// leading leg — see `parseTrailingOrderLimit`).
|
|
163
|
+
(stmt.orderBy ?? []).forEach(o => visit(o.expr, state));
|
|
164
|
+
visit(stmt.limit, state);
|
|
165
|
+
visit(stmt.offset, state);
|
|
166
|
+
});
|
|
167
|
+
// Each compound leg is a self-contained relation that builds its OWN FROM
|
|
168
|
+
// frame, so the legs are visited outside the leading leg's frame — otherwise a
|
|
169
|
+
// bare name in the second leg could be captured by the first leg's sources and
|
|
170
|
+
// come back `'foreign'`, costing the generated-column analysis a dependency
|
|
171
|
+
// edge. Still inside `withFrame`: a leading `with` clause scopes over the whole
|
|
172
|
+
// compound, a `from` clause does not.
|
|
173
|
+
visit(stmt.union, state);
|
|
174
|
+
if (stmt.compound)
|
|
175
|
+
visit(stmt.compound.select, state);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Result columns of a select or of a DML `returning` list. A column's
|
|
180
|
+
* `with inverse (col = expr, …)` clause is view write-through metadata — visited
|
|
181
|
+
* under a seal, since it resolves against the written view row.
|
|
182
|
+
*/
|
|
183
|
+
function visitResultColumns(columns, state) {
|
|
184
|
+
(columns ?? []).forEach(c => {
|
|
185
|
+
if (c.type !== 'column')
|
|
186
|
+
return;
|
|
187
|
+
visit(c.expr, state);
|
|
188
|
+
(c.inverse ?? []).forEach(inv => visitSealed(inv.expr, state));
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* DML bodies (reachable via a subquery source / scalar subquery over
|
|
193
|
+
* `insert … returning` etc.) bind names against their target table in ways this
|
|
194
|
+
* walk does not model — everything below descends under one barrier, so refs
|
|
195
|
+
* inside are undecidable rather than falsely attributed to the written row.
|
|
196
|
+
*
|
|
197
|
+
* The barrier makes every leaf here `'unknown'`, which is NOT inert for the
|
|
198
|
+
* generated-column pre-flight: `validateAddColumnGeneratedRefs` (`../table.ts`)
|
|
199
|
+
* treats an `'unknown'` binding of the column being added as a self-cycle, same
|
|
200
|
+
* as an `'own'` one. So `alter table t add column g generated always as (…)`
|
|
201
|
+
* whose body names `g` inside an inner DML's `returning` / upsert / context
|
|
202
|
+
* assignments is a cyclic-dependency error rather than silently accepted — the
|
|
203
|
+
* same answer the emitter's own re-analysis reaches once it sees the reference.
|
|
204
|
+
*/
|
|
205
|
+
function visitDml(stmt, state) {
|
|
206
|
+
withScopeFrame(state.stack, opaqueScopeFrame(), () => {
|
|
207
|
+
// NOTE: a DML-attached CTE's NAME is never registered on a frame (unlike
|
|
208
|
+
// `visitSelect`'s `withFrame`), so a `from <cte>` below reads as an askable
|
|
209
|
+
// real table source of that name. Inert only because the enclosing opaque
|
|
210
|
+
// frame already makes every leaf below undecidable / unstrippable; if the
|
|
211
|
+
// DML barrier is ever narrowed to something less than the whole statement,
|
|
212
|
+
// register the names on a frame here first.
|
|
213
|
+
stmt.withClause?.ctes.forEach(cte => visitBarrier(cte.query, state));
|
|
214
|
+
switch (stmt.type) {
|
|
215
|
+
case 'insert':
|
|
216
|
+
visit(stmt.source, state);
|
|
217
|
+
(stmt.upsertClauses ?? []).forEach(u => {
|
|
218
|
+
(u.assignments ?? []).forEach(a => visit(a.value, state));
|
|
219
|
+
visit(u.where, state);
|
|
220
|
+
});
|
|
221
|
+
break;
|
|
222
|
+
case 'update':
|
|
223
|
+
visit(stmt.targetSource, state);
|
|
224
|
+
stmt.assignments.forEach(a => visit(a.value, state));
|
|
225
|
+
visit(stmt.where, state);
|
|
226
|
+
break;
|
|
227
|
+
case 'delete':
|
|
228
|
+
visit(stmt.targetSource, state);
|
|
229
|
+
visit(stmt.where, state);
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
visitResultColumns(stmt.returning, state);
|
|
233
|
+
(stmt.contextValues ?? []).forEach(cv => visit(cv.value, state));
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
function visitWindowDefinition(wd, state) {
|
|
237
|
+
(wd.partitionBy ?? []).forEach(p => visit(p, state));
|
|
238
|
+
(wd.orderBy ?? []).forEach(o => visit(o.expr, state));
|
|
239
|
+
// A frame bound is an ordinary correlated expression, so it belongs in the same
|
|
240
|
+
// frame as `partition by` / `order by` — no barrier and no seal. `WindowFrame`
|
|
241
|
+
// and `WindowFrameBound` do not extend `AstNode` (a frame's `type` is
|
|
242
|
+
// `'rows' | 'range'`, not a node kind), so they cannot go through `visit`'s
|
|
243
|
+
// switch; only the bound kinds that CARRY an expression have a `value`.
|
|
244
|
+
// NOTE: no schema-time analysis of a frame bound is observable today — the planner
|
|
245
|
+
// rejects any bound that is not a constant numeric literal ("Window frame offsets
|
|
246
|
+
// must be constant numeric literals"), so a bound naming a column never executes
|
|
247
|
+
// whether or not an edge was recorded for it. Reaching them is completeness, and
|
|
248
|
+
// the walk-level spec is the only place it can be asserted. If constant-foldable or
|
|
249
|
+
// correlated bounds are ever accepted, that changes and SQL-level cases become
|
|
250
|
+
// writable — the same shape as § 13 of `test/logic/41-generated-column-scope.sqllogic`.
|
|
251
|
+
visitWindowFrameBound(wd.frame?.start, state);
|
|
252
|
+
visitWindowFrameBound(wd.frame?.end ?? undefined, state);
|
|
253
|
+
}
|
|
254
|
+
function visitWindowFrameBound(bound, state) {
|
|
255
|
+
if (!bound)
|
|
256
|
+
return;
|
|
257
|
+
if (bound.type === 'preceding' || bound.type === 'following')
|
|
258
|
+
visit(bound.value, state);
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=walk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk.js","sourceRoot":"","sources":["../../../../src/schema/expr-scope/walk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type * as AST from '../parser/ast.js';
|
|
2
|
+
import { type ResolveColumnInSource } from './rename/shared.js';
|
|
3
|
+
/** How a reference in a generated body relates to the table being defined. */
|
|
4
|
+
export type RefBinding =
|
|
5
|
+
/** Binds the owning table's row: bare name captured by the seed, `<table>.<col>`,
|
|
6
|
+
* `<own-schema>.<table>.<col>`, or an unrebound `new.<col>`. */
|
|
7
|
+
'own'
|
|
8
|
+
/** Binds something else — an analysable inner FROM source exposes the name, the
|
|
9
|
+
* qualifier resolves to another object, or the reference sits under a sealed
|
|
10
|
+
* frame (view write-through metadata, resolved against the written view row).
|
|
11
|
+
* Ignored by both consumers: no dependency edge, no error. */
|
|
12
|
+
| 'foreign'
|
|
13
|
+
/** Qualified, and NOTHING binds the qualifier — no inner FROM, and it does not
|
|
14
|
+
* name the owning table (or `new`). There is nothing for it to resolve against
|
|
15
|
+
* at write time either; rejected at declaration time by both consumers. */
|
|
16
|
+
| 'unbound'
|
|
17
|
+
/** Cannot be decided: an intervening frame holds a subquery / function / CTE source. */
|
|
18
|
+
| 'unknown';
|
|
19
|
+
export interface GeneratedColumnRef {
|
|
20
|
+
/** Lowercase name, for column-map lookups. */
|
|
21
|
+
readonly name: string;
|
|
22
|
+
/** Name as written (original casing), for error messages. */
|
|
23
|
+
readonly originalName: string;
|
|
24
|
+
/** Qualifier as written (original casing), e.g. `d` or `s.d`, when the reference
|
|
25
|
+
* carried one — used to report `'unbound'` errors. */
|
|
26
|
+
readonly originalQualifier?: string;
|
|
27
|
+
/** `'column'` refs may raise "not found"; `'identifier'` refs never do (a bare
|
|
28
|
+
* identifier may legitimately be a function or a mutation-context variable). */
|
|
29
|
+
readonly shape: 'column' | 'identifier';
|
|
30
|
+
readonly binding: RefBinding;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Collect every column / identifier reference in a generated-column body,
|
|
34
|
+
* classified against the table being defined. `resolveColumnInSource` answers
|
|
35
|
+
* "does source `<schema>.<table>` expose column `<name>`?" — callers wrap the
|
|
36
|
+
* catalog resolver so questions about the target table itself are answered
|
|
37
|
+
* from the in-flight column list (the catalog may not hold the table yet, or
|
|
38
|
+
* may hold a stale pre-ALTER column set).
|
|
39
|
+
*/
|
|
40
|
+
export declare function collectGeneratedColumnRefs(expr: AST.Expression, tableName: string, schemaName: string, resolveColumnInSource: ResolveColumnInSource): GeneratedColumnRef[];
|
|
41
|
+
//# sourceMappingURL=generated-column-refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-column-refs.d.ts","sourceRoot":"","sources":["../../../src/schema/generated-column-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAM,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAgCpE,8EAA8E;AAC9E,MAAM,MAAM,UAAU;AACrB;iEACiE;AAC/D,KAAK;AACP;;;+DAG+D;GAC7D,SAAS;AACX;;4EAE4E;GAC1E,SAAS;AACX,wFAAwF;GACtF,SAAS,CAAC;AAEb,MAAM,WAAW,kBAAkB;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;2DACuD;IACvD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;qFACiF;IACjF,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC7B;AAWD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,GAAG,CAAC,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,qBAAqB,GAC1C,kBAAkB,EAAE,CAgBtB"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { eq } from './rename/shared.js';
|
|
2
|
+
import { hasSealedFrame } from './expr-scope/frame.js';
|
|
3
|
+
import { walkSchemaExpressionScope } from './expr-scope/walk.js';
|
|
4
|
+
/**
|
|
5
|
+
* Collect every column / identifier reference in a generated-column body,
|
|
6
|
+
* classified against the table being defined. `resolveColumnInSource` answers
|
|
7
|
+
* "does source `<schema>.<table>` expose column `<name>`?" — callers wrap the
|
|
8
|
+
* catalog resolver so questions about the target table itself are answered
|
|
9
|
+
* from the in-flight column list (the catalog may not hold the table yet, or
|
|
10
|
+
* may hold a stale pre-ALTER column set).
|
|
11
|
+
*/
|
|
12
|
+
export function collectGeneratedColumnRefs(expr, tableName, schemaName, resolveColumnInSource) {
|
|
13
|
+
const state = {
|
|
14
|
+
tableName: tableName.toLowerCase(),
|
|
15
|
+
schemaName: schemaName.toLowerCase(),
|
|
16
|
+
resolve: resolveColumnInSource,
|
|
17
|
+
refs: [],
|
|
18
|
+
};
|
|
19
|
+
walkSchemaExpressionScope(expr, { defaultSchema: state.schemaName, seedBindings: [state.tableName] }, {
|
|
20
|
+
onColumn: (col, stack) => recordColumnRef(col, stack, state),
|
|
21
|
+
onIdentifier: (ident, stack) => recordIdentifierRef(ident, stack, state),
|
|
22
|
+
});
|
|
23
|
+
return state.refs;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* How every reference under a sealed frame classifies — see
|
|
27
|
+
* {@link ScopeFrame.sealed}. Not `'unknown'`: that binding means "an opaque
|
|
28
|
+
* source MIGHT be this row", and both consumers hedge by recording a dependency
|
|
29
|
+
* edge for it. A sealed subtree is view write-through metadata, inert wherever a
|
|
30
|
+
* schema expression can hold it and resolved against the written view row if
|
|
31
|
+
* ever evaluated — it is DEFINITELY not this row, so an edge there is spurious
|
|
32
|
+
* and can raise a false `Cyclic dependency in generated columns` at DDL time.
|
|
33
|
+
* `'foreign'` says "binds something else" and is the one binding both consumers
|
|
34
|
+
* ignore outright.
|
|
35
|
+
*/
|
|
36
|
+
const sealedBinding = 'foreign';
|
|
37
|
+
/**
|
|
38
|
+
* Classify an unqualified name against the frames above the seed,
|
|
39
|
+
* innermost-first: a real source exposing the name binds it there
|
|
40
|
+
* (`'foreign'`); an opaque frame reached before any such source could bind
|
|
41
|
+
* anything (`'unknown'`); falling through every frame reaches the seed
|
|
42
|
+
* (`'own'`). `stack[0]` IS that seed, which is why the loop stops at index 1.
|
|
43
|
+
*
|
|
44
|
+
* A sealed frame anywhere above the seed short-circuits to `'foreign'` — see
|
|
45
|
+
* {@link sealedBinding}.
|
|
46
|
+
*/
|
|
47
|
+
function classifyUnqualified(state, stack, nameLower) {
|
|
48
|
+
if (hasSealedFrame(stack))
|
|
49
|
+
return sealedBinding;
|
|
50
|
+
for (let i = stack.length - 1; i >= 1; i--) {
|
|
51
|
+
const frame = stack[i];
|
|
52
|
+
for (const src of frame.realSources) {
|
|
53
|
+
if (state.resolve(src.schema, src.name, nameLower))
|
|
54
|
+
return 'foreign';
|
|
55
|
+
}
|
|
56
|
+
if (frame.hasOpaque)
|
|
57
|
+
return 'unknown';
|
|
58
|
+
}
|
|
59
|
+
return 'own';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Classify a qualified reference. A qualifier bound by any inner FROM (alias,
|
|
63
|
+
* bare table name, or CTE name) resolves there. An unbound bare `new` names
|
|
64
|
+
* the row image of the table being defined (the same rule `matchesRowImage`
|
|
65
|
+
* applies in `./rename/column-rename.ts` — `new` is not a reserved word, so a
|
|
66
|
+
* frame binding it wins first); a bare `old`, or any other qualifier, must
|
|
67
|
+
* name the owning table — schema-qualified spellings must name the owning
|
|
68
|
+
* schema exactly, matching the self-qualifier strip's rule. Anything else is
|
|
69
|
+
* `'unbound'` (nothing binds it) unless an opaque frame was crossed on the
|
|
70
|
+
* way out, in which case the walk cannot tell and defers to `'unknown'`.
|
|
71
|
+
*
|
|
72
|
+
* A sealed frame short-circuits to `'foreign'` BEFORE any of that: `new.a`
|
|
73
|
+
* inside a `with inverse (…)` clause names the written view row, not the row of
|
|
74
|
+
* the table being defined, so the `'new'` arm below must never see it.
|
|
75
|
+
*/
|
|
76
|
+
function classifyQualified(state, stack, col) {
|
|
77
|
+
if (hasSealedFrame(stack))
|
|
78
|
+
return sealedBinding;
|
|
79
|
+
const qualifier = col.table.toLowerCase();
|
|
80
|
+
let opaque = false;
|
|
81
|
+
for (let i = stack.length - 1; i >= 1; i--) {
|
|
82
|
+
if (stack[i].bound.has(qualifier))
|
|
83
|
+
return 'foreign';
|
|
84
|
+
if (stack[i].hasOpaque)
|
|
85
|
+
opaque = true;
|
|
86
|
+
}
|
|
87
|
+
if (col.schema === undefined) {
|
|
88
|
+
if (qualifier === 'new')
|
|
89
|
+
return 'own';
|
|
90
|
+
if (qualifier === state.tableName)
|
|
91
|
+
return 'own';
|
|
92
|
+
}
|
|
93
|
+
else if (qualifier === state.tableName && eq(col.schema, state.schemaName)) {
|
|
94
|
+
return 'own';
|
|
95
|
+
}
|
|
96
|
+
return opaque ? 'unknown' : 'unbound';
|
|
97
|
+
}
|
|
98
|
+
function recordColumnRef(col, stack, state) {
|
|
99
|
+
const nameLower = col.name.toLowerCase();
|
|
100
|
+
const binding = col.table === undefined
|
|
101
|
+
? classifyUnqualified(state, stack, nameLower)
|
|
102
|
+
: classifyQualified(state, stack, col);
|
|
103
|
+
state.refs.push({
|
|
104
|
+
name: nameLower,
|
|
105
|
+
originalName: col.name,
|
|
106
|
+
originalQualifier: col.schema !== undefined ? `${col.schema}.${col.table}` : col.table,
|
|
107
|
+
shape: 'column',
|
|
108
|
+
binding,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
function recordIdentifierRef(ident, stack, state) {
|
|
112
|
+
// A schema-qualified identifier can never be a column of the table being
|
|
113
|
+
// defined — same skip the previous traverseAst-based analysis applied.
|
|
114
|
+
if (ident.schema)
|
|
115
|
+
return;
|
|
116
|
+
const nameLower = ident.name.toLowerCase();
|
|
117
|
+
state.refs.push({
|
|
118
|
+
name: nameLower,
|
|
119
|
+
originalName: ident.name,
|
|
120
|
+
shape: 'identifier',
|
|
121
|
+
binding: classifyUnqualified(state, stack, nameLower),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=generated-column-refs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-column-refs.js","sourceRoot":"","sources":["../../../src/schema/generated-column-refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens-ack.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-ack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAsD9F,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,EAAE,gBAGrC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,WAAW,GAAG,gBAAgB,CAKnF;AAoBD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,qFAAqF;IACrF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CAChC;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAC9C,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;CAClC;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACnC,MAAM,CAwBR;
|
|
1
|
+
{"version":3,"file":"lens-ack.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-ack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAsD9F,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,EAAE,gBAGrC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,WAAW,GAAG,gBAAgB,CAKnF;AAoBD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,qFAAqF;IACrF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CAChC;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAC9C,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;CAClC;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACnC,MAAM,CAwBR;AAkLD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,MAAM,EAAE,gBAAgB,GACtB,mBAAmB,CA8CrB"}
|
|
@@ -150,8 +150,10 @@ function collectTableAcks(tags) {
|
|
|
150
150
|
}
|
|
151
151
|
/** Collects every ack on one constraint's tags (scoped to that constraint's columns). */
|
|
152
152
|
function collectConstraintAcks(constraint, columnNames) {
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
// A PK / column NOT NULL carries no constraint-level tag surface (column-level
|
|
154
|
+
// tags are validated separately; table-level acks can still target the column).
|
|
155
|
+
if (constraint.kind === 'primaryKey' || constraint.kind === 'notNull')
|
|
156
|
+
return [];
|
|
155
157
|
const tags = constraint.constraint.tags;
|
|
156
158
|
const cols = constraintColumns(constraint, columnNames);
|
|
157
159
|
return getReservedTagByTemplate(tags, ACK_TEMPLATE).map(inst => {
|
|
@@ -171,6 +173,7 @@ function constraintColumns(constraint, columnNames) {
|
|
|
171
173
|
case 'unique': return constraint.constraint.columns.map(idx);
|
|
172
174
|
case 'foreignKey': return constraint.constraint.columns.map(idx);
|
|
173
175
|
case 'check': return [];
|
|
176
|
+
case 'notNull': return [idx(constraint.columnIndex)];
|
|
174
177
|
}
|
|
175
178
|
}
|
|
176
179
|
/** Reads every ack on a slot (table tags + each constraint's tags). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens-ack.js","sourceRoot":"","sources":["../../../src/schema/lens-ack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lens-ack.js","sourceRoot":"","sources":["../../../src/schema/lens-ack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens-compiler.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAS7C,OAAO,EAAoC,KAAK,gBAAgB,EAAkD,MAAM,kBAAkB,CAAC;AAW3I;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,QAAQ,EACZ,cAAc,EAAE,GAAG,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,GACvB,gBAAgB,CA+NlB;
|
|
1
|
+
{"version":3,"file":"lens-compiler.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAS7C,OAAO,EAAoC,KAAK,gBAAgB,EAAkD,MAAM,kBAAkB,CAAC;AAW3I;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,QAAQ,EACZ,cAAc,EAAE,GAAG,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,GACvB,gBAAgB,CA+NlB;AA2SD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACzC,cAAc,EAAE,GAAG,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,GACvB,IAAI,CA+BN;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,MAAM,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAyBxC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CACjC,YAAY,EAAE,WAAW,EACzB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACrB,GAAG,CAAC,UAAU,CAuChB"}
|
|
@@ -506,7 +506,9 @@ function validateLensTags(slot) {
|
|
|
506
506
|
diagnostics.push(...validateReservedTags(col.tags, 'logical-column'));
|
|
507
507
|
}
|
|
508
508
|
for (const constraint of slot.attachedConstraints) {
|
|
509
|
-
const tags = constraint.kind === 'primaryKey'
|
|
509
|
+
const tags = constraint.kind === 'primaryKey' || constraint.kind === 'notNull'
|
|
510
|
+
? undefined
|
|
511
|
+
: constraint.constraint.tags;
|
|
510
512
|
if (tags)
|
|
511
513
|
diagnostics.push(...validateReservedTags(tags, 'logical-constraint'));
|
|
512
514
|
}
|
|
@@ -770,6 +772,12 @@ function compileDecompositionBody(logicalTable, logicalSchemaName, basis, advert
|
|
|
770
772
|
* + `MAX_INDS_PER_NODE` for dedup/cap consistency with the Wave-1 FK seeding;
|
|
771
773
|
* multiple mandatory members produce distinct INDs (same `cols` = anchor key,
|
|
772
774
|
* different `target.relationId`), so dedup is unaffected.
|
|
775
|
+
*
|
|
776
|
+
* NOT gated by `permitsOrphanedForeignKeyRows` (OPT-059): these INDs assert
|
|
777
|
+
* `anchor.key ⊆ member.key` from the mapping advertisement's
|
|
778
|
+
* `presence: 'mandatory'` declaration — a different promise from a different
|
|
779
|
+
* declarant than a declared SQL foreign key, so the FK-trust capability gate
|
|
780
|
+
* deliberately does not apply here.
|
|
773
781
|
*/
|
|
774
782
|
function computeExistenceAnchorInds(advertisement, basis, db) {
|
|
775
783
|
const storage = advertisement.storage;
|