@quereus/quereus 4.4.1 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/src/core/database-events.d.ts +99 -1
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +219 -3
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-materialized-views-analysis.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-analysis.js +1 -0
- 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 +29 -2
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
- package/dist/src/core/database-transaction.d.ts +9 -0
- package/dist/src/core/database-transaction.d.ts.map +1 -1
- package/dist/src/core/database-transaction.js +9 -0
- package/dist/src/core/database-transaction.js.map +1 -1
- package/dist/src/core/database.d.ts +7 -1
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +20 -5
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/func/builtins/aggregate.js +11 -11
- 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 +15 -85
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/builtins/conversion.d.ts.map +1 -1
- package/dist/src/func/builtins/conversion.js +10 -9
- package/dist/src/func/builtins/conversion.js.map +1 -1
- package/dist/src/func/builtins/datetime.d.ts.map +1 -1
- package/dist/src/func/builtins/datetime.js +28 -10
- package/dist/src/func/builtins/datetime.js.map +1 -1
- package/dist/src/func/builtins/json.d.ts.map +1 -1
- package/dist/src/func/builtins/json.js +23 -17
- package/dist/src/func/builtins/json.js.map +1 -1
- package/dist/src/func/builtins/mutation.js +2 -2
- package/dist/src/func/builtins/mutation.js.map +1 -1
- package/dist/src/func/builtins/return-types.d.ts +327 -0
- package/dist/src/func/builtins/return-types.d.ts.map +1 -0
- package/dist/src/func/builtins/return-types.js +43 -0
- package/dist/src/func/builtins/return-types.js.map +1 -0
- package/dist/src/func/builtins/scalar.d.ts.map +1 -1
- package/dist/src/func/builtins/scalar.js +193 -37
- 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 +11 -3
- package/dist/src/func/builtins/schema.js.map +1 -1
- package/dist/src/func/builtins/string.d.ts.map +1 -1
- package/dist/src/func/builtins/string.js +4 -2
- package/dist/src/func/builtins/string.js.map +1 -1
- package/dist/src/func/builtins/timespan.d.ts +3 -0
- package/dist/src/func/builtins/timespan.d.ts.map +1 -1
- package/dist/src/func/builtins/timespan.js +15 -11
- package/dist/src/func/builtins/timespan.js.map +1 -1
- package/dist/src/func/registration.d.ts +39 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +236 -41
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +14 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +14 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/parser.d.ts +46 -0
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +160 -44
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
- package/dist/src/planner/analysis/check-extraction.js +37 -4
- package/dist/src/planner/analysis/check-extraction.js.map +1 -1
- package/dist/src/planner/analysis/coarsened-key.d.ts +4 -3
- package/dist/src/planner/analysis/coarsened-key.d.ts.map +1 -1
- package/dist/src/planner/analysis/coarsened-key.js +37 -3
- package/dist/src/planner/analysis/coarsened-key.js.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.d.ts +41 -13
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +51 -14
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts +0 -7
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +59 -59
- package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.d.ts +13 -2
- package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.js +10 -14
- package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
- package/dist/src/planner/analysis/predicate-conjuncts.d.ts +10 -4
- package/dist/src/planner/analysis/predicate-conjuncts.d.ts.map +1 -1
- package/dist/src/planner/analysis/predicate-conjuncts.js +28 -7
- package/dist/src/planner/analysis/predicate-conjuncts.js.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +8 -27
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
- package/dist/src/planner/analysis/scalar-subqueries.d.ts +22 -3
- package/dist/src/planner/analysis/scalar-subqueries.d.ts.map +1 -1
- package/dist/src/planner/analysis/scalar-subqueries.js +32 -3
- package/dist/src/planner/analysis/scalar-subqueries.js.map +1 -1
- package/dist/src/planner/analysis/set-op-type-merge.d.ts +64 -0
- package/dist/src/planner/analysis/set-op-type-merge.d.ts.map +1 -0
- package/dist/src/planner/analysis/set-op-type-merge.js +97 -0
- package/dist/src/planner/analysis/set-op-type-merge.js.map +1 -0
- package/dist/src/planner/building/alter-table.d.ts.map +1 -1
- package/dist/src/planner/building/alter-table.js +65 -27
- package/dist/src/planner/building/alter-table.js.map +1 -1
- package/dist/src/planner/building/coercion.d.ts +54 -0
- package/dist/src/planner/building/coercion.d.ts.map +1 -0
- package/dist/src/planner/building/coercion.js +88 -0
- package/dist/src/planner/building/coercion.js.map +1 -0
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +5 -18
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts +17 -0
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +23 -115
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/function-call.d.ts.map +1 -1
- package/dist/src/planner/building/function-call.js +13 -0
- package/dist/src/planner/building/function-call.js.map +1 -1
- package/dist/src/planner/building/select-aggregates.d.ts +1 -1
- package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
- package/dist/src/planner/building/select-aggregates.js +53 -2
- package/dist/src/planner/building/select-aggregates.js.map +1 -1
- package/dist/src/planner/building/select-compound.d.ts.map +1 -1
- package/dist/src/planner/building/select-compound.js +10 -6
- package/dist/src/planner/building/select-compound.js.map +1 -1
- package/dist/src/planner/building/select-context.d.ts +7 -0
- package/dist/src/planner/building/select-context.d.ts.map +1 -1
- package/dist/src/planner/building/select-context.js +10 -40
- package/dist/src/planner/building/select-context.js.map +1 -1
- package/dist/src/planner/building/select.d.ts +37 -1
- package/dist/src/planner/building/select.d.ts.map +1 -1
- package/dist/src/planner/building/select.js +112 -51
- package/dist/src/planner/building/select.js.map +1 -1
- package/dist/src/planner/cost/conjunct-cost.d.ts +82 -0
- package/dist/src/planner/cost/conjunct-cost.d.ts.map +1 -0
- package/dist/src/planner/cost/conjunct-cost.js +107 -0
- package/dist/src/planner/cost/conjunct-cost.js.map +1 -0
- package/dist/src/planner/cost/index.d.ts +10 -0
- package/dist/src/planner/cost/index.d.ts.map +1 -1
- package/dist/src/planner/cost/index.js +15 -0
- package/dist/src/planner/cost/index.js.map +1 -1
- package/dist/src/planner/mutation/propagate.d.ts.map +1 -1
- package/dist/src/planner/mutation/propagate.js +1 -0
- package/dist/src/planner/mutation/propagate.js.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.d.ts +6 -0
- package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/aggregate-node.js +10 -2
- package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
- package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/alias-node.js +2 -1
- package/dist/src/planner/nodes/alias-node.js.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.d.ts +24 -8
- package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
- package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/asof-scan-node.js +4 -1
- package/dist/src/planner/nodes/asof-scan-node.js.map +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.js +2 -1
- package/dist/src/planner/nodes/asserted-keys-node.js.map +1 -1
- package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/async-gather-node.js +19 -8
- package/dist/src/planner/nodes/async-gather-node.js.map +1 -1
- package/dist/src/planner/nodes/bloom-join-node.d.ts +2 -0
- package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/bloom-join-node.js +17 -7
- package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
- package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cache-node.js +2 -1
- package/dist/src/planner/nodes/cache-node.js.map +1 -1
- package/dist/src/planner/nodes/distinct-node.d.ts +6 -0
- package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/distinct-node.js +10 -2
- package/dist/src/planner/nodes/distinct-node.js.map +1 -1
- package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/eager-prefetch-node.js +2 -1
- package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -1
- package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +5 -0
- package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/fanout-lookup-join-node.js +13 -6
- package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -1
- package/dist/src/planner/nodes/filter.d.ts.map +1 -1
- package/dist/src/planner/nodes/filter.js +12 -5
- package/dist/src/planner/nodes/filter.js.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.d.ts +6 -0
- package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/hash-aggregate.js +10 -2
- package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/join-node.d.ts +25 -1
- package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-node.js +38 -10
- package/dist/src/planner/nodes/join-node.js.map +1 -1
- package/dist/src/planner/nodes/join-utils.d.ts +78 -0
- package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-utils.js +73 -0
- package/dist/src/planner/nodes/join-utils.js.map +1 -1
- package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +87 -0
- package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/key-set-semi-join-node.js +141 -0
- package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -0
- package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js +2 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
- package/dist/src/planner/nodes/limit-offset.d.ts +6 -0
- package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
- package/dist/src/planner/nodes/limit-offset.js +10 -2
- package/dist/src/planner/nodes/limit-offset.js.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.d.ts +2 -0
- package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.js +21 -8
- package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.d.ts +5 -0
- package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.js +9 -2
- package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.d.ts +1 -0
- package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.js +1 -0
- package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
- package/dist/src/planner/nodes/plan-node.d.ts +24 -0
- package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node.js.map +1 -1
- package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/project-node.js +2 -1
- package/dist/src/planner/nodes/project-node.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +3 -2
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/retrieve-node.js +2 -1
- package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +5 -18
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.d.ts +68 -16
- package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.js +147 -26
- package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
- package/dist/src/planner/nodes/sort.d.ts.map +1 -1
- package/dist/src/planner/nodes/sort.js +3 -1
- package/dist/src/planner/nodes/sort.js.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.d.ts +6 -0
- package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
- package/dist/src/planner/nodes/stream-aggregate.js +10 -2
- package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts +19 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +18 -2
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-function.js +8 -0
- package/dist/src/planner/nodes/window-function.js.map +1 -1
- package/dist/src/planner/nodes/window-node.d.ts +1 -1
- package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-node.js +3 -1
- package/dist/src/planner/nodes/window-node.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts +9 -1
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +126 -6
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +68 -0
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -0
- package/dist/src/planner/rules/access/rule-key-set-seek.js +343 -0
- package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -0
- package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts +46 -0
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js +54 -13
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-cte-optimization.js +9 -0
- package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +6 -4
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +49 -49
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.js +54 -58
- package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
- package/dist/src/planner/rules/join/index-nested-loop.d.ts +49 -0
- package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -0
- package/dist/src/planner/rules/join/index-nested-loop.js +285 -0
- package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -0
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +8 -8
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +10 -4
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.js +97 -29
- package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +15 -5
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts +1 -1
- package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts +43 -0
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts.map +1 -0
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js +119 -0
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js.map +1 -0
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +44 -3
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +142 -18
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +73 -0
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -0
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +205 -0
- package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -0
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts +14 -11
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +21 -85
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts +10 -2
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +20 -2
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +18 -3
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/rules/shared/access-leaf.d.ts +39 -0
- package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -0
- package/dist/src/planner/rules/shared/access-leaf.js +79 -0
- package/dist/src/planner/rules/shared/access-leaf.js.map +1 -0
- package/dist/src/planner/rules/shared/index-style-context.d.ts +17 -0
- package/dist/src/planner/rules/shared/index-style-context.d.ts.map +1 -1
- package/dist/src/planner/rules/shared/index-style-context.js +7 -0
- package/dist/src/planner/rules/shared/index-style-context.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +18 -8
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts +3 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +27 -10
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts +24 -6
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +243 -70
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
- package/dist/src/planner/rules/window/rule-monotonic-window.d.ts +17 -7
- package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -1
- package/dist/src/planner/rules/window/rule-monotonic-window.js +124 -87
- package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
- package/dist/src/planner/scopes/aliased.d.ts.map +1 -1
- package/dist/src/planner/scopes/aliased.js +6 -0
- package/dist/src/planner/scopes/aliased.js.map +1 -1
- package/dist/src/planner/stats/catalog-stats.d.ts +87 -4
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
- package/dist/src/planner/stats/catalog-stats.js +250 -28
- package/dist/src/planner/stats/catalog-stats.js.map +1 -1
- package/dist/src/planner/stats/conjunct-selectivity.d.ts +48 -0
- package/dist/src/planner/stats/conjunct-selectivity.d.ts.map +1 -0
- package/dist/src/planner/stats/conjunct-selectivity.js +168 -0
- package/dist/src/planner/stats/conjunct-selectivity.js.map +1 -0
- package/dist/src/planner/stats/index.d.ts +36 -2
- package/dist/src/planner/stats/index.d.ts.map +1 -1
- package/dist/src/planner/stats/index.js.map +1 -1
- package/dist/src/planner/stats/selectivity-combine.d.ts +53 -0
- package/dist/src/planner/stats/selectivity-combine.d.ts.map +1 -0
- package/dist/src/planner/stats/selectivity-combine.js +75 -0
- package/dist/src/planner/stats/selectivity-combine.js.map +1 -0
- package/dist/src/planner/stats/table-cardinality.d.ts +28 -0
- package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -0
- package/dist/src/planner/stats/table-cardinality.js +29 -0
- package/dist/src/planner/stats/table-cardinality.js.map +1 -0
- package/dist/src/planner/util/column-origins.d.ts +79 -0
- package/dist/src/planner/util/column-origins.d.ts.map +1 -0
- package/dist/src/planner/util/column-origins.js +150 -0
- package/dist/src/planner/util/column-origins.js.map +1 -0
- package/dist/src/planner/util/fd-utils.d.ts +32 -8
- package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
- package/dist/src/planner/util/fd-utils.js +46 -9
- package/dist/src/planner/util/fd-utils.js.map +1 -1
- package/dist/src/planner/util/ind-utils.d.ts +56 -17
- package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
- package/dist/src/planner/util/ind-utils.js +82 -21
- package/dist/src/planner/util/ind-utils.js.map +1 -1
- package/dist/src/planner/util/key-utils.d.ts +20 -2
- package/dist/src/planner/util/key-utils.d.ts.map +1 -1
- package/dist/src/planner/util/key-utils.js +37 -3
- package/dist/src/planner/util/key-utils.js.map +1 -1
- package/dist/src/planner/util/row-estimates.d.ts +28 -0
- package/dist/src/planner/util/row-estimates.d.ts.map +1 -0
- package/dist/src/planner/util/row-estimates.js +40 -0
- package/dist/src/planner/util/row-estimates.js.map +1 -0
- package/dist/src/planner/util/row-population.d.ts +42 -0
- package/dist/src/planner/util/row-population.d.ts.map +1 -0
- package/dist/src/planner/util/row-population.js +71 -0
- package/dist/src/planner/util/row-population.js.map +1 -0
- package/dist/src/runtime/deferred-constraint-queue.d.ts +40 -0
- package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +90 -9
- package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +39 -1
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +4 -4
- package/dist/src/runtime/emit/aggregate.js.map +1 -1
- package/dist/src/runtime/emit/alter-schema-event.d.ts +42 -0
- package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -0
- package/dist/src/runtime/emit/alter-schema-event.js +28 -0
- package/dist/src/runtime/emit/alter-schema-event.js.map +1 -0
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +386 -154
- 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 +35 -3
- package/dist/src/runtime/emit/analyze.js.map +1 -1
- package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/asof-scan.js +8 -3
- package/dist/src/runtime/emit/asof-scan.js.map +1 -1
- package/dist/src/runtime/emit/between.d.ts.map +1 -1
- package/dist/src/runtime/emit/between.js +4 -38
- package/dist/src/runtime/emit/between.js.map +1 -1
- package/dist/src/runtime/emit/binary.d.ts.map +1 -1
- package/dist/src/runtime/emit/binary.js +2 -23
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/bloom-join.js +6 -35
- package/dist/src/runtime/emit/bloom-join.js.map +1 -1
- package/dist/src/runtime/emit/case.d.ts.map +1 -1
- package/dist/src/runtime/emit/case.js +40 -6
- package/dist/src/runtime/emit/case.js.map +1 -1
- package/dist/src/runtime/emit/cast.d.ts.map +1 -1
- package/dist/src/runtime/emit/cast.js +4 -19
- package/dist/src/runtime/emit/cast.js.map +1 -1
- package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
- package/dist/src/runtime/emit/constraint-check.js +32 -8
- package/dist/src/runtime/emit/constraint-check.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +90 -50
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-index.js +4 -3
- package/dist/src/runtime/emit/drop-index.js.map +1 -1
- package/dist/src/runtime/emit/filter.d.ts +18 -0
- package/dist/src/runtime/emit/filter.d.ts.map +1 -1
- package/dist/src/runtime/emit/filter.js +52 -10
- package/dist/src/runtime/emit/filter.js.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.js +2 -2
- package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
- package/dist/src/runtime/emit/join-key-extractor.d.ts +46 -0
- package/dist/src/runtime/emit/join-key-extractor.d.ts.map +1 -0
- package/dist/src/runtime/emit/join-key-extractor.js +60 -0
- package/dist/src/runtime/emit/join-key-extractor.js.map +1 -0
- package/dist/src/runtime/emit/join.d.ts.map +1 -1
- package/dist/src/runtime/emit/join.js +8 -46
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/key-set-semi-join.d.ts +29 -0
- package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -0
- package/dist/src/runtime/emit/key-set-semi-join.js +149 -0
- package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -0
- package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/merge-join.js +15 -8
- package/dist/src/runtime/emit/merge-join.js.map +1 -1
- package/dist/src/runtime/emit/operand-comparator.d.ts +70 -0
- package/dist/src/runtime/emit/operand-comparator.d.ts.map +1 -0
- package/dist/src/runtime/emit/operand-comparator.js +93 -0
- package/dist/src/runtime/emit/operand-comparator.js.map +1 -0
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +11 -2
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.js +30 -0
- package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
- package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
- package/dist/src/runtime/emit/subquery.js +153 -52
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/window.js +36 -23
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +5 -2
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +6 -2
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/register.d.ts.map +1 -1
- package/dist/src/runtime/register.js +2 -0
- package/dist/src/runtime/register.js.map +1 -1
- package/dist/src/runtime/types.d.ts +7 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/catalog-persistability.d.ts +19 -16
- package/dist/src/schema/catalog-persistability.d.ts.map +1 -1
- package/dist/src/schema/catalog-persistability.js +76 -20
- package/dist/src/schema/catalog-persistability.js.map +1 -1
- package/dist/src/schema/catalog.d.ts +67 -2
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +194 -3
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/column.d.ts +26 -3
- package/dist/src/schema/column.d.ts.map +1 -1
- package/dist/src/schema/column.js.map +1 -1
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +19 -6
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/function.d.ts +40 -0
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js +10 -2
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/manager.d.ts +84 -7
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +153 -53
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +104 -28
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/table.d.ts +149 -1
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +248 -1
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +5 -3
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +5 -3
- package/dist/src/schema/unique-enforcement.js.map +1 -1
- package/dist/src/types/builtin-types.d.ts +16 -0
- package/dist/src/types/builtin-types.d.ts.map +1 -1
- package/dist/src/types/builtin-types.js +76 -12
- package/dist/src/types/builtin-types.js.map +1 -1
- package/dist/src/types/cast-semantics.d.ts +42 -0
- package/dist/src/types/cast-semantics.d.ts.map +1 -1
- package/dist/src/types/cast-semantics.js +64 -0
- package/dist/src/types/cast-semantics.js.map +1 -1
- package/dist/src/types/comparison-coercion.d.ts +101 -0
- package/dist/src/types/comparison-coercion.d.ts.map +1 -0
- package/dist/src/types/comparison-coercion.js +162 -0
- package/dist/src/types/comparison-coercion.js.map +1 -0
- package/dist/src/types/index.d.ts +2 -2
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +2 -2
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/logical-type.d.ts +7 -0
- package/dist/src/types/logical-type.d.ts.map +1 -1
- package/dist/src/types/logical-type.js.map +1 -1
- package/dist/src/types/validation.d.ts +56 -0
- package/dist/src/types/validation.d.ts.map +1 -1
- package/dist/src/types/validation.js +68 -0
- package/dist/src/types/validation.js.map +1 -1
- package/dist/src/util/coercion.d.ts +8 -0
- package/dist/src/util/coercion.d.ts.map +1 -1
- package/dist/src/util/coercion.js +8 -0
- package/dist/src/util/coercion.js.map +1 -1
- package/dist/src/util/comparison.d.ts +41 -3
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +52 -5
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/util/key-serializer.d.ts +46 -0
- package/dist/src/util/key-serializer.d.ts.map +1 -1
- package/dist/src/util/key-serializer.js +47 -0
- package/dist/src/util/key-serializer.js.map +1 -1
- package/dist/src/util/value-set.d.ts +21 -0
- package/dist/src/util/value-set.d.ts.map +1 -0
- package/dist/src/util/value-set.js +22 -0
- package/dist/src/util/value-set.js.map +1 -0
- package/dist/src/vtab/best-access-plan.d.ts +87 -0
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js +87 -0
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/capabilities.d.ts +1 -1
- package/dist/src/vtab/events.d.ts +5 -1
- package/dist/src/vtab/events.d.ts.map +1 -1
- package/dist/src/vtab/events.js.map +1 -1
- package/dist/src/vtab/memory/layer/alter-column.d.ts +147 -0
- package/dist/src/vtab/memory/layer/alter-column.d.ts.map +1 -0
- package/dist/src/vtab/memory/layer/alter-column.js +214 -0
- package/dist/src/vtab/memory/layer/alter-column.js.map +1 -0
- package/dist/src/vtab/memory/layer/base.d.ts +6 -4
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +10 -7
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/interface.d.ts +2 -2
- package/dist/src/vtab/memory/layer/interface.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +232 -39
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +657 -519
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.js +32 -5
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +111 -16
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +154 -51
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +14 -2
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +53 -40
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts +1 -1
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +15 -3
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/module.d.ts +51 -21
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +10 -2
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js +1 -1
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ The database-level event system aggregates events from all modules automatically
|
|
|
78
78
|
|
|
79
79
|
SQL values use native JavaScript types (`string`, `number`, `bigint`, `Uint8Array`, `null`). Temporal types are ISO 8601 strings. Results stream as async iterators.
|
|
80
80
|
|
|
81
|
-
See the [Usage Guide](../../docs/usage.md) for complete API reference and [
|
|
81
|
+
See the [Usage Guide](../../docs/usage.md) for complete API reference and [Database-Level Event System](../../docs/module-events.md) for event system details.
|
|
82
82
|
|
|
83
83
|
## Platform Support & Storage
|
|
84
84
|
|
|
@@ -170,7 +170,7 @@ See [Store Documentation](../../docs/store.md) for the storage architecture and
|
|
|
170
170
|
* [Stability Tiers](../../docs/stability.md) — what each tier promises, and which feature areas are Stable, Beta, Experimental, or Internal
|
|
171
171
|
* [Usage Guide](../../docs/usage.md) — complete API reference (type mappings, parameter binding, logging, tracing, transactions)
|
|
172
172
|
* [SQL Reference Guide](../../docs/sql.md) — SQL syntax (includes Declarative Schema)
|
|
173
|
-
* [Schema Management](../../docs/schema.md) — SchemaManager API, change events, key types, DDL generation
|
|
173
|
+
* [Schema Management](../../docs/schema.md) — SchemaManager API, change events, key types, DDL generation. Deep dive: [view and materialized-view persistence](../../docs/view-persistence.md)
|
|
174
174
|
* [View Updateability](../../docs/view-updateability.md) — write-through for views, CTEs, and subqueries-in-FROM; per-operator semantics and override tags
|
|
175
175
|
* [Materialized Views](../../docs/materialized-views.md) — keyed derived relations, DDL, query resolution, write-through, declarative-schema round-trip. Deep dives: [maintenance](../../docs/mv-maintenance.md), [derived-row constraints and covering structures](../../docs/mv-constraints.md), [external row-change ingestion](../../docs/mv-ingestion.md), [schema-change staleness](../../docs/mv-schema-change.md), [the backing-host capability](../../docs/mv-backing-host.md)
|
|
176
176
|
* [Lenses and Layered Schemas](../../docs/lens.md) — logical/basis separation and bidirectional per-table lenses
|
|
@@ -178,12 +178,13 @@ See [Store Documentation](../../docs/store.md) for the storage architecture and
|
|
|
178
178
|
* [Type System](../../docs/types.md) — logical/physical types, temporal types, JSON, custom types
|
|
179
179
|
* [Functions](../../docs/functions.md) — built-in scalar, aggregate, window, and JSON functions
|
|
180
180
|
* [Memory Tables](../../docs/memory-table.md) — built-in MemoryTable module
|
|
181
|
-
* [Module Authoring](../../docs/module-authoring.md) — virtual table module development
|
|
181
|
+
* [Module Authoring](../../docs/module-authoring.md) — virtual table module development. Deep dive: [capability negotiation](../../docs/module-capabilities.md) — every negotiation surface, DDL transactionality tiers, per-arm `alterTable` mandates
|
|
182
|
+
* [Database-Level Event System](../../docs/module-events.md) — data and schema change events
|
|
182
183
|
* [Date/Time Handling](../../docs/datetime.md) — temporal parsing, functions, and ISO 8601 formats
|
|
183
184
|
* [Runtime](../../docs/runtime.md) — instruction-based execution and opcodes
|
|
184
185
|
* [Error Handling](../../docs/errors.md) — error types and status codes
|
|
185
186
|
* [Plugin System](../../docs/plugins.md) — virtual tables, functions, and collations
|
|
186
|
-
* [Optimizer](../../docs/optimizer.md) — hub; topic docs for [Rules](../../docs/optimizer-rules.md), [Joins](../../docs/optimizer-joins.md), [Retrieve Push-down](../../docs/optimizer-retrieve.md), [Streaming](../../docs/optimizer-streaming.md), [Parallel](../../docs/optimizer-parallel.md), [Assertions](../../docs/optimizer-assertions.md), [Functional Dependencies](../../docs/optimizer-fd.md), [Conventions](../../docs/optimizer-conventions.md)
|
|
187
|
+
* [Optimizer](../../docs/optimizer.md) — hub; topic docs for [Rules](../../docs/optimizer-rules.md), [Rule Families](../../docs/optimizer-rule-families.md), [Joins](../../docs/optimizer-joins.md), [Retrieve Push-down](../../docs/optimizer-retrieve.md), [Streaming](../../docs/optimizer-streaming.md), [Parallel](../../docs/optimizer-parallel.md), [Assertions](../../docs/optimizer-assertions.md), [Functional Dependencies](../../docs/optimizer-fd.md), [Conventions](../../docs/optimizer-conventions.md)
|
|
187
188
|
* [Change-scope Introspection](../../docs/change-scope.md) — what a prepared statement reads from
|
|
188
189
|
* [TODO List](../../docs/todo.md) — planned features
|
|
189
190
|
|
|
@@ -14,6 +14,11 @@ import type { VTableDataChangeEvent, VTableSchemaChangeEvent, VTableEventEmitter
|
|
|
14
14
|
/**
|
|
15
15
|
* Data change event emitted at the database level.
|
|
16
16
|
* Extends VTableDataChangeEvent with module identification.
|
|
17
|
+
*
|
|
18
|
+
* See `docs/usage.md` § Subscribing to Data Changes for the key contract every producer
|
|
19
|
+
* follows: `key` is projected from the event's own row image, and an `update` never moves a
|
|
20
|
+
* row (a relocating primary-key change is a `delete` at the old key then an `insert` at the new
|
|
21
|
+
* one, in that order — ordering guaranteed, adjacency not).
|
|
17
22
|
*/
|
|
18
23
|
export interface DatabaseDataChangeEvent {
|
|
19
24
|
/** The type of mutation operation */
|
|
@@ -24,7 +29,7 @@ export interface DatabaseDataChangeEvent {
|
|
|
24
29
|
schemaName: string;
|
|
25
30
|
/** Table name */
|
|
26
31
|
tableName: string;
|
|
27
|
-
/** Primary key
|
|
32
|
+
/** Primary key projected from this event's own image: `newRow` for insert/update, `oldRow` for delete */
|
|
28
33
|
key?: SqlValue[];
|
|
29
34
|
/** Previous row data (for update/delete) */
|
|
30
35
|
oldRow?: Row;
|
|
@@ -171,6 +176,12 @@ export declare class DatabaseEventEmitter {
|
|
|
171
176
|
private collisionCounts;
|
|
172
177
|
/** Whether we're currently in a transaction (batching mode) */
|
|
173
178
|
private isBatching;
|
|
179
|
+
/**
|
|
180
|
+
* Nesting depth of open {@link withPublicEventsSuppressed} scopes. Non-zero ⇒ the
|
|
181
|
+
* application-facing channels are suppressed. A counter rather than a flag so an inner
|
|
182
|
+
* scope's exit cannot leave suppression stuck on (or off) for the outer one.
|
|
183
|
+
*/
|
|
184
|
+
private publicEventSuppressionDepth;
|
|
174
185
|
/** Map of module emitters we've subscribed to, for cleanup */
|
|
175
186
|
private moduleSubscriptions;
|
|
176
187
|
/**
|
|
@@ -242,6 +253,9 @@ export declare class DatabaseEventEmitter {
|
|
|
242
253
|
* events, so the auto-event generation gate must open for it too even when no
|
|
243
254
|
* per-event data listener is subscribed. Consulted by the DML executor's
|
|
244
255
|
* auto-event gate (see `dml-executor.ts`).
|
|
256
|
+
*
|
|
257
|
+
* Always false inside a {@link withPublicEventsSuppressed} scope — the cheapest place
|
|
258
|
+
* to suppress is before the event is ever built.
|
|
245
259
|
*/
|
|
246
260
|
needsDataEvents(): boolean;
|
|
247
261
|
/**
|
|
@@ -249,8 +263,54 @@ export declare class DatabaseEventEmitter {
|
|
|
249
263
|
* any per-event {@link onSchemaChange} listener OR any {@link onTransactionCommit}
|
|
250
264
|
* listener is registered. Companion to {@link needsDataEvents}; consulted by the
|
|
251
265
|
* schema manager's auto-event gate (see `schema/manager.ts`).
|
|
266
|
+
*
|
|
267
|
+
* Always false inside a {@link withPublicEventsSuppressed} scope, as above.
|
|
252
268
|
*/
|
|
253
269
|
needsSchemaEvents(): boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Run `fn` with the PUBLIC event channels suppressed: {@link onDataChange},
|
|
272
|
+
* {@link onSchemaChange}, and — because a suppressed statement contributes nothing to the
|
|
273
|
+
* group — {@link onTransactionCommit}. While the scope is open,
|
|
274
|
+
* {@link needsDataEvents}/{@link needsSchemaEvents} report false so the engine's own
|
|
275
|
+
* producers never build an event, and any event that arrives anyway (a module with its own
|
|
276
|
+
* emitter reaches {@link handleModuleDataEvent}/{@link handleModuleSchemaEvent} without
|
|
277
|
+
* consulting a gate) is dropped with a log line rather than silently.
|
|
278
|
+
*
|
|
279
|
+
* This covers ONLY those application-facing channels. It deliberately does **not** touch
|
|
280
|
+
* the internal catalog change notifier
|
|
281
|
+
* (`db.schemaManager.getChangeNotifier().notifyChange`), which invalidates the optimizer's
|
|
282
|
+
* and the write path's cached schemas: that is engine plumbing, and a suppressed scope's
|
|
283
|
+
* own DDL must keep firing it or those caches go stale mid-statement. The
|
|
284
|
+
* maintenance-collision channel ({@link queueCollision}) is likewise untouched — no
|
|
285
|
+
* suppressed scope today writes through materialized-view maintenance.
|
|
286
|
+
*
|
|
287
|
+
* For engine-internal scaffolding the application never issued. Sole caller today: the
|
|
288
|
+
* shadow-table rebuild behind `ALTER TABLE … ALTER PRIMARY KEY` on a module that cannot
|
|
289
|
+
* re-key in place (`runtime/emit/alter-table.ts`).
|
|
290
|
+
*
|
|
291
|
+
* Suppression is global, not table-scoped: while the scope is open an event on ANY table
|
|
292
|
+
* from ANY source is dropped. That is safe only because `Database` serializes statements
|
|
293
|
+
* behind its execution mutex, so a scope opened mid-statement cannot swallow a concurrent
|
|
294
|
+
* statement's events — `fn` must therefore do nothing but engine-internal work (nested
|
|
295
|
+
* `_execWithinTransaction` SQL, which runs under the caller's already-held mutex). A caller
|
|
296
|
+
* that awaited genuinely user-visible work inside `fn` would silently swallow the user's
|
|
297
|
+
* own events; scope it to the scaffolding instead.
|
|
298
|
+
*
|
|
299
|
+
* Nests, and restores the previous depth even when `fn` throws.
|
|
300
|
+
*/
|
|
301
|
+
withPublicEventsSuppressed<T>(fn: () => Promise<T>): Promise<T>;
|
|
302
|
+
/**
|
|
303
|
+
* Whether a {@link withPublicEventsSuppressed} scope is currently open.
|
|
304
|
+
*/
|
|
305
|
+
isPublicEventsSuppressed(): boolean;
|
|
306
|
+
/**
|
|
307
|
+
* Whether an arriving data event must be dropped because a
|
|
308
|
+
* {@link withPublicEventsSuppressed} scope is open — logging it when so, so a discarded
|
|
309
|
+
* event stays traceable.
|
|
310
|
+
*/
|
|
311
|
+
private dropDataEventWhileSuppressed;
|
|
312
|
+
/** Schema-channel counterpart of {@link dropDataEventWhileSuppressed}. */
|
|
313
|
+
private dropSchemaEventWhileSuppressed;
|
|
254
314
|
/**
|
|
255
315
|
* Read-only snapshot of the cumulative committed-collision counter, keyed by
|
|
256
316
|
* lowercased qualified `schema.table`. A fresh copy each call, so the caller
|
|
@@ -415,6 +475,44 @@ export declare class DatabaseEventEmitter {
|
|
|
415
475
|
* `runtime/emit/alter-table.ts`.
|
|
416
476
|
*/
|
|
417
477
|
renameBatchedEvents(schemaName: string, oldTableName: string, newTableName: string): void;
|
|
478
|
+
/**
|
|
479
|
+
* Re-derive the `key` of every BATCHED data event for one table from the event's own
|
|
480
|
+
* row image, after a mid-transaction `ALTER TABLE … ALTER PRIMARY KEY`. Covers
|
|
481
|
+
* {@link batchedDataEvents} and every {@link dataEventLayers} savepoint layer, so a
|
|
482
|
+
* commit delivers each event under the primary key the table has at delivery — a
|
|
483
|
+
* consumer that addresses rows by `key` (an incremental cache, the sync engine's change
|
|
484
|
+
* log) can still pair the event with a row the table now contains. Without it a widened
|
|
485
|
+
* key delivers too few values and a narrowed one too many, and the arity mismatch alone
|
|
486
|
+
* makes the event unmatchable.
|
|
487
|
+
*
|
|
488
|
+
* `oldPkIndices` / `newPkIndices` are column indices into the row images as they stand
|
|
489
|
+
* NOW: ALTER PRIMARY KEY changes no column, and any earlier ALTER in the same
|
|
490
|
+
* transaction already remapped the images via {@link remapBatchedDataEvents}.
|
|
491
|
+
*
|
|
492
|
+
* NOTE: that assumes the earlier remap succeeded. Its per-image failures are best-effort
|
|
493
|
+
* and leave an image at its pre-ALTER layout; an index long enough for such an image
|
|
494
|
+
* projects the wrong column rather than bailing out, since only out-of-bounds is
|
|
495
|
+
* detectable here. If those failures ever become something other than a logged rarity,
|
|
496
|
+
* pass the current column count through and skip any image that does not match it.
|
|
497
|
+
*
|
|
498
|
+
* The image each event's key is projected from is picked by {@link selectKeySourceImage}
|
|
499
|
+
* — `newRow` for an insert, `oldRow` for a delete, and for an update whichever image
|
|
500
|
+
* reproduces the recorded `key` under `oldPkIndices`.
|
|
501
|
+
*
|
|
502
|
+
* No-op when not batching: in autocommit the earlier events were already delivered under
|
|
503
|
+
* the key the table had at the time, which is correct.
|
|
504
|
+
*
|
|
505
|
+
* Like {@link renameBatchedEvents} this is synchronous and needs no per-event `try` — it
|
|
506
|
+
* reads no schema and evaluates no expression, only projecting values already present in
|
|
507
|
+
* the row image. BEST-EFFORT in the same sense as {@link remapBatchedDataEvents}: an
|
|
508
|
+
* event with no `key`, no usable image, or an image too short for `newPkIndices` keeps
|
|
509
|
+
* its `key` as-is (logged at warn) rather than aborting an otherwise-valid ALTER.
|
|
510
|
+
*
|
|
511
|
+
* The maintenance-collision channel needs no counterpart: every structural ALTER on a
|
|
512
|
+
* maintained table is rejected up front, so a materialized view's primary key cannot
|
|
513
|
+
* change mid-transaction.
|
|
514
|
+
*/
|
|
515
|
+
rekeyBatchedDataEvents(schemaName: string, tableName: string, oldPkIndices: readonly number[], newPkIndices: readonly number[]): void;
|
|
418
516
|
/**
|
|
419
517
|
* Discard all batched events (called on rollback).
|
|
420
518
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-events.d.ts","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"database-events.d.ts","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* native event support, the engine automatically emits events for local operations.
|
|
11
11
|
*/
|
|
12
12
|
import { createLogger } from '../common/logger.js';
|
|
13
|
+
import { sqlValueIdentical } from '../util/comparison.js';
|
|
13
14
|
const log = createLogger('core:database-events');
|
|
14
15
|
const warnLog = log.extend('warn');
|
|
15
16
|
const errorLog = log.extend('error');
|
|
@@ -17,14 +18,66 @@ const errorLog = log.extend('error');
|
|
|
17
18
|
const DEFAULT_MAX_LISTENERS = 100;
|
|
18
19
|
/**
|
|
19
20
|
* Whether a batched event names `(schemaLower, tableLower)` — the single matching rule
|
|
20
|
-
* every batched-event rewrite (row-shape remap, table-name relabel
|
|
21
|
-
* data and the maintenance-collision channel. Both operands are
|
|
22
|
-
* callers pass already-lowercased names.
|
|
21
|
+
* every batched-event rewrite (row-shape remap, table-name relabel, primary-key re-key)
|
|
22
|
+
* applies, on both the data and the maintenance-collision channel. Both operands are
|
|
23
|
+
* compared lowercased, so callers pass already-lowercased names.
|
|
23
24
|
*/
|
|
24
25
|
function namesTable(event, schemaLower, tableLower) {
|
|
25
26
|
return event.schemaName.toLowerCase() === schemaLower
|
|
26
27
|
&& event.tableName.toLowerCase() === tableLower;
|
|
27
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Project `row` through `indices`, or `undefined` when any index is out of bounds for
|
|
31
|
+
* it. Shared by the re-key itself and its update-image tie-break, so both refuse the
|
|
32
|
+
* same partial projection rather than emitting an `undefined` key slot.
|
|
33
|
+
*/
|
|
34
|
+
function projectKey(row, indices) {
|
|
35
|
+
const out = [];
|
|
36
|
+
for (const i of indices) {
|
|
37
|
+
if (i < 0 || i >= row.length)
|
|
38
|
+
return undefined;
|
|
39
|
+
out.push(row[i]);
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Whether projecting `row` through `indices` reproduces `key` value-for-value —
|
|
45
|
+
* the test that identifies which image an event's recorded `key` was derived from.
|
|
46
|
+
*/
|
|
47
|
+
function keyMatchesImage(row, indices, key) {
|
|
48
|
+
if (indices.length !== key.length)
|
|
49
|
+
return false;
|
|
50
|
+
const projected = projectKey(row, indices);
|
|
51
|
+
if (!projected)
|
|
52
|
+
return false;
|
|
53
|
+
return projected.every((v, i) => sqlValueIdentical(v, key[i]));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The row image whose projection through the RETIRED primary key produced the event's
|
|
57
|
+
* recorded `key` — the image {@link DatabaseEventEmitter.rekeyBatchedDataEvents} must
|
|
58
|
+
* re-project through the new key so the re-key preserves whichever row the producer
|
|
59
|
+
* was addressing.
|
|
60
|
+
*
|
|
61
|
+
* This is just the producers' own key rule (docs/usage.md § Subscribing to Data Changes)
|
|
62
|
+
* read backwards: `key` is projected from `newRow` for an insert or an update, from
|
|
63
|
+
* `oldRow` for a delete. An update's two images can still differ in a key column — a
|
|
64
|
+
* NOCASE 'apple' → 'APPLE' rewrite leaves the row in place, and the contract keys it by the
|
|
65
|
+
* post-image — which is why `newRow` is not merely a convenience here.
|
|
66
|
+
*
|
|
67
|
+
* A recorded `key` that the chosen image does not reproduce under the retired key means the
|
|
68
|
+
* producer broke that rule (a module with its own emitter that normalizes key values, or one
|
|
69
|
+
* still keying an update by its pre-image). The re-key then addresses a different row than
|
|
70
|
+
* the producer meant, so it says so and proceeds by the contract.
|
|
71
|
+
*/
|
|
72
|
+
function selectKeySourceImage(event, oldPkIndices) {
|
|
73
|
+
if (event.type === 'delete')
|
|
74
|
+
return event.oldRow;
|
|
75
|
+
const image = event.newRow ?? event.oldRow;
|
|
76
|
+
if (event.key && image !== undefined && !keyMatchesImage(image, oldPkIndices, event.key)) {
|
|
77
|
+
warnLog('rekeyBatchedDataEvents: the %s event on %s.%s carries key %O, which its row image does not reproduce under the retired key columns %O — the producer is not keying events from the row image; re-keying from that image anyway', event.type, event.schemaName, event.tableName, event.key, oldPkIndices);
|
|
78
|
+
}
|
|
79
|
+
return image;
|
|
80
|
+
}
|
|
28
81
|
/**
|
|
29
82
|
* Names of the columns whose values differ between two same-arity row images —
|
|
30
83
|
* the `changedColumns` recomputation for a remapped update event. Same strict
|
|
@@ -73,6 +126,12 @@ export class DatabaseEventEmitter {
|
|
|
73
126
|
collisionCounts = new Map();
|
|
74
127
|
/** Whether we're currently in a transaction (batching mode) */
|
|
75
128
|
isBatching = false;
|
|
129
|
+
/**
|
|
130
|
+
* Nesting depth of open {@link withPublicEventsSuppressed} scopes. Non-zero ⇒ the
|
|
131
|
+
* application-facing channels are suppressed. A counter rather than a flag so an inner
|
|
132
|
+
* scope's exit cannot leave suppression stuck on (or off) for the outer one.
|
|
133
|
+
*/
|
|
134
|
+
publicEventSuppressionDepth = 0;
|
|
76
135
|
/** Map of module emitters we've subscribed to, for cleanup */
|
|
77
136
|
moduleSubscriptions = new Map();
|
|
78
137
|
/**
|
|
@@ -188,8 +247,13 @@ export class DatabaseEventEmitter {
|
|
|
188
247
|
* events, so the auto-event generation gate must open for it too even when no
|
|
189
248
|
* per-event data listener is subscribed. Consulted by the DML executor's
|
|
190
249
|
* auto-event gate (see `dml-executor.ts`).
|
|
250
|
+
*
|
|
251
|
+
* Always false inside a {@link withPublicEventsSuppressed} scope — the cheapest place
|
|
252
|
+
* to suppress is before the event is ever built.
|
|
191
253
|
*/
|
|
192
254
|
needsDataEvents() {
|
|
255
|
+
if (this.publicEventSuppressionDepth > 0)
|
|
256
|
+
return false;
|
|
193
257
|
return this.dataListeners.size > 0 || this.transactionCommitListeners.size > 0;
|
|
194
258
|
}
|
|
195
259
|
/**
|
|
@@ -197,10 +261,80 @@ export class DatabaseEventEmitter {
|
|
|
197
261
|
* any per-event {@link onSchemaChange} listener OR any {@link onTransactionCommit}
|
|
198
262
|
* listener is registered. Companion to {@link needsDataEvents}; consulted by the
|
|
199
263
|
* schema manager's auto-event gate (see `schema/manager.ts`).
|
|
264
|
+
*
|
|
265
|
+
* Always false inside a {@link withPublicEventsSuppressed} scope, as above.
|
|
200
266
|
*/
|
|
201
267
|
needsSchemaEvents() {
|
|
268
|
+
if (this.publicEventSuppressionDepth > 0)
|
|
269
|
+
return false;
|
|
202
270
|
return this.schemaListeners.size > 0 || this.transactionCommitListeners.size > 0;
|
|
203
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Run `fn` with the PUBLIC event channels suppressed: {@link onDataChange},
|
|
274
|
+
* {@link onSchemaChange}, and — because a suppressed statement contributes nothing to the
|
|
275
|
+
* group — {@link onTransactionCommit}. While the scope is open,
|
|
276
|
+
* {@link needsDataEvents}/{@link needsSchemaEvents} report false so the engine's own
|
|
277
|
+
* producers never build an event, and any event that arrives anyway (a module with its own
|
|
278
|
+
* emitter reaches {@link handleModuleDataEvent}/{@link handleModuleSchemaEvent} without
|
|
279
|
+
* consulting a gate) is dropped with a log line rather than silently.
|
|
280
|
+
*
|
|
281
|
+
* This covers ONLY those application-facing channels. It deliberately does **not** touch
|
|
282
|
+
* the internal catalog change notifier
|
|
283
|
+
* (`db.schemaManager.getChangeNotifier().notifyChange`), which invalidates the optimizer's
|
|
284
|
+
* and the write path's cached schemas: that is engine plumbing, and a suppressed scope's
|
|
285
|
+
* own DDL must keep firing it or those caches go stale mid-statement. The
|
|
286
|
+
* maintenance-collision channel ({@link queueCollision}) is likewise untouched — no
|
|
287
|
+
* suppressed scope today writes through materialized-view maintenance.
|
|
288
|
+
*
|
|
289
|
+
* For engine-internal scaffolding the application never issued. Sole caller today: the
|
|
290
|
+
* shadow-table rebuild behind `ALTER TABLE … ALTER PRIMARY KEY` on a module that cannot
|
|
291
|
+
* re-key in place (`runtime/emit/alter-table.ts`).
|
|
292
|
+
*
|
|
293
|
+
* Suppression is global, not table-scoped: while the scope is open an event on ANY table
|
|
294
|
+
* from ANY source is dropped. That is safe only because `Database` serializes statements
|
|
295
|
+
* behind its execution mutex, so a scope opened mid-statement cannot swallow a concurrent
|
|
296
|
+
* statement's events — `fn` must therefore do nothing but engine-internal work (nested
|
|
297
|
+
* `_execWithinTransaction` SQL, which runs under the caller's already-held mutex). A caller
|
|
298
|
+
* that awaited genuinely user-visible work inside `fn` would silently swallow the user's
|
|
299
|
+
* own events; scope it to the scaffolding instead.
|
|
300
|
+
*
|
|
301
|
+
* Nests, and restores the previous depth even when `fn` throws.
|
|
302
|
+
*/
|
|
303
|
+
async withPublicEventsSuppressed(fn) {
|
|
304
|
+
this.publicEventSuppressionDepth++;
|
|
305
|
+
log('Suppressing public event channels (depth: %d)', this.publicEventSuppressionDepth);
|
|
306
|
+
try {
|
|
307
|
+
return await fn();
|
|
308
|
+
}
|
|
309
|
+
finally {
|
|
310
|
+
this.publicEventSuppressionDepth--;
|
|
311
|
+
log('Restoring public event channels (depth: %d)', this.publicEventSuppressionDepth);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Whether a {@link withPublicEventsSuppressed} scope is currently open.
|
|
316
|
+
*/
|
|
317
|
+
isPublicEventsSuppressed() {
|
|
318
|
+
return this.publicEventSuppressionDepth > 0;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Whether an arriving data event must be dropped because a
|
|
322
|
+
* {@link withPublicEventsSuppressed} scope is open — logging it when so, so a discarded
|
|
323
|
+
* event stays traceable.
|
|
324
|
+
*/
|
|
325
|
+
dropDataEventWhileSuppressed(origin, moduleName, event) {
|
|
326
|
+
if (!this.isPublicEventsSuppressed())
|
|
327
|
+
return false;
|
|
328
|
+
log('Dropped %s data event from %s while public events are suppressed: %s on %s.%s', origin, moduleName, event.type, event.schemaName, event.tableName);
|
|
329
|
+
return true;
|
|
330
|
+
}
|
|
331
|
+
/** Schema-channel counterpart of {@link dropDataEventWhileSuppressed}. */
|
|
332
|
+
dropSchemaEventWhileSuppressed(origin, moduleName, event) {
|
|
333
|
+
if (!this.isPublicEventsSuppressed())
|
|
334
|
+
return false;
|
|
335
|
+
log('Dropped %s schema event from %s while public events are suppressed: %s %s %s', origin, moduleName, event.type, event.objectType, event.objectName);
|
|
336
|
+
return true;
|
|
337
|
+
}
|
|
204
338
|
/**
|
|
205
339
|
* Read-only snapshot of the cumulative committed-collision counter, keyed by
|
|
206
340
|
* lowercased qualified `schema.table`. A fresh copy each call, so the caller
|
|
@@ -302,6 +436,8 @@ export class DatabaseEventEmitter {
|
|
|
302
436
|
* If batching, queue the event; otherwise emit immediately.
|
|
303
437
|
*/
|
|
304
438
|
handleModuleDataEvent(moduleName, event) {
|
|
439
|
+
if (this.dropDataEventWhileSuppressed('module', moduleName, event))
|
|
440
|
+
return;
|
|
305
441
|
if (this.isBatching) {
|
|
306
442
|
this.getActiveDataStore().push({ moduleName, event });
|
|
307
443
|
log('Batched data event from %s: %s on %s.%s', moduleName, event.type, event.schemaName, event.tableName);
|
|
@@ -316,6 +452,8 @@ export class DatabaseEventEmitter {
|
|
|
316
452
|
* but we support batching for consistency.
|
|
317
453
|
*/
|
|
318
454
|
handleModuleSchemaEvent(moduleName, event) {
|
|
455
|
+
if (this.dropSchemaEventWhileSuppressed('module', moduleName, event))
|
|
456
|
+
return;
|
|
319
457
|
if (this.isBatching) {
|
|
320
458
|
this.getActiveSchemaStore().push({ moduleName, event });
|
|
321
459
|
log('Batched schema event from %s: %s %s', moduleName, event.type, event.objectName);
|
|
@@ -332,6 +470,8 @@ export class DatabaseEventEmitter {
|
|
|
332
470
|
* @param event The event to emit (will be converted to DatabaseDataChangeEvent)
|
|
333
471
|
*/
|
|
334
472
|
emitAutoDataEvent(moduleName, event) {
|
|
473
|
+
if (this.dropDataEventWhileSuppressed('auto', moduleName, event))
|
|
474
|
+
return;
|
|
335
475
|
if (this.isBatching) {
|
|
336
476
|
this.getActiveDataStore().push({ moduleName, event });
|
|
337
477
|
log('Batched auto data event from %s: %s on %s.%s', moduleName, event.type, event.schemaName, event.tableName);
|
|
@@ -348,6 +488,8 @@ export class DatabaseEventEmitter {
|
|
|
348
488
|
* @param event The event to emit
|
|
349
489
|
*/
|
|
350
490
|
emitAutoSchemaEvent(moduleName, event) {
|
|
491
|
+
if (this.dropSchemaEventWhileSuppressed('auto', moduleName, event))
|
|
492
|
+
return;
|
|
351
493
|
if (this.isBatching) {
|
|
352
494
|
this.getActiveSchemaStore().push({ moduleName, event });
|
|
353
495
|
}
|
|
@@ -659,6 +801,80 @@ export class DatabaseEventEmitter {
|
|
|
659
801
|
log('Relabelled %d batched events from %s.%s to %s after mid-transaction RENAME TO', relabelled, schemaName, oldTableName, newTableName);
|
|
660
802
|
}
|
|
661
803
|
}
|
|
804
|
+
/**
|
|
805
|
+
* Re-derive the `key` of every BATCHED data event for one table from the event's own
|
|
806
|
+
* row image, after a mid-transaction `ALTER TABLE … ALTER PRIMARY KEY`. Covers
|
|
807
|
+
* {@link batchedDataEvents} and every {@link dataEventLayers} savepoint layer, so a
|
|
808
|
+
* commit delivers each event under the primary key the table has at delivery — a
|
|
809
|
+
* consumer that addresses rows by `key` (an incremental cache, the sync engine's change
|
|
810
|
+
* log) can still pair the event with a row the table now contains. Without it a widened
|
|
811
|
+
* key delivers too few values and a narrowed one too many, and the arity mismatch alone
|
|
812
|
+
* makes the event unmatchable.
|
|
813
|
+
*
|
|
814
|
+
* `oldPkIndices` / `newPkIndices` are column indices into the row images as they stand
|
|
815
|
+
* NOW: ALTER PRIMARY KEY changes no column, and any earlier ALTER in the same
|
|
816
|
+
* transaction already remapped the images via {@link remapBatchedDataEvents}.
|
|
817
|
+
*
|
|
818
|
+
* NOTE: that assumes the earlier remap succeeded. Its per-image failures are best-effort
|
|
819
|
+
* and leave an image at its pre-ALTER layout; an index long enough for such an image
|
|
820
|
+
* projects the wrong column rather than bailing out, since only out-of-bounds is
|
|
821
|
+
* detectable here. If those failures ever become something other than a logged rarity,
|
|
822
|
+
* pass the current column count through and skip any image that does not match it.
|
|
823
|
+
*
|
|
824
|
+
* The image each event's key is projected from is picked by {@link selectKeySourceImage}
|
|
825
|
+
* — `newRow` for an insert, `oldRow` for a delete, and for an update whichever image
|
|
826
|
+
* reproduces the recorded `key` under `oldPkIndices`.
|
|
827
|
+
*
|
|
828
|
+
* No-op when not batching: in autocommit the earlier events were already delivered under
|
|
829
|
+
* the key the table had at the time, which is correct.
|
|
830
|
+
*
|
|
831
|
+
* Like {@link renameBatchedEvents} this is synchronous and needs no per-event `try` — it
|
|
832
|
+
* reads no schema and evaluates no expression, only projecting values already present in
|
|
833
|
+
* the row image. BEST-EFFORT in the same sense as {@link remapBatchedDataEvents}: an
|
|
834
|
+
* event with no `key`, no usable image, or an image too short for `newPkIndices` keeps
|
|
835
|
+
* its `key` as-is (logged at warn) rather than aborting an otherwise-valid ALTER.
|
|
836
|
+
*
|
|
837
|
+
* The maintenance-collision channel needs no counterpart: every structural ALTER on a
|
|
838
|
+
* maintained table is rejected up front, so a materialized view's primary key cannot
|
|
839
|
+
* change mid-transaction.
|
|
840
|
+
*/
|
|
841
|
+
rekeyBatchedDataEvents(schemaName, tableName, oldPkIndices, newPkIndices) {
|
|
842
|
+
if (!this.isBatching)
|
|
843
|
+
return;
|
|
844
|
+
const schemaLower = schemaName.toLowerCase();
|
|
845
|
+
const tableLower = tableName.toLowerCase();
|
|
846
|
+
let rekeyed = 0;
|
|
847
|
+
for (const store of this.allDataEventStores()) {
|
|
848
|
+
for (const entry of store) {
|
|
849
|
+
const event = entry.event;
|
|
850
|
+
if (!namesTable(event, schemaLower, tableLower))
|
|
851
|
+
continue;
|
|
852
|
+
if (!event.key) {
|
|
853
|
+
// Not anomalous: `key` is optional on the public event and a module may
|
|
854
|
+
// legitimately never populate it, so this is debug, not warn — a producer
|
|
855
|
+
// that omits the key omits it for every event, and an ALTER PRIMARY KEY
|
|
856
|
+
// mid-transaction would otherwise warn once per batched event.
|
|
857
|
+
log('rekeyBatchedDataEvents: %s event on %s.%s carries no key, leaving as-is', event.type, event.schemaName, event.tableName);
|
|
858
|
+
continue;
|
|
859
|
+
}
|
|
860
|
+
const image = selectKeySourceImage(event, oldPkIndices);
|
|
861
|
+
if (image === undefined) {
|
|
862
|
+
warnLog('rekeyBatchedDataEvents: %s event on %s.%s has no usable row image, leaving key as-is', event.type, event.schemaName, event.tableName);
|
|
863
|
+
continue;
|
|
864
|
+
}
|
|
865
|
+
const nextKey = projectKey(image, newPkIndices);
|
|
866
|
+
if (!nextKey) {
|
|
867
|
+
warnLog('rekeyBatchedDataEvents: new key column out of bounds for the %s image on %s.%s (arity %d), leaving key as-is', event.type, event.schemaName, event.tableName, image.length);
|
|
868
|
+
continue;
|
|
869
|
+
}
|
|
870
|
+
entry.event = { ...event, key: nextKey };
|
|
871
|
+
rekeyed++;
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
if (rekeyed > 0) {
|
|
875
|
+
log('Re-keyed %d batched data events on %s.%s after mid-transaction ALTER PRIMARY KEY', rekeyed, schemaName, tableName);
|
|
876
|
+
}
|
|
877
|
+
}
|
|
662
878
|
/**
|
|
663
879
|
* Discard all batched events (called on rollback).
|
|
664
880
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-events.js","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database-events.js","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,GAAG,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AACjD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAuKrC,qFAAqF;AACrF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;;GAKG;AACH,SAAS,UAAU,CAClB,KAAgD,EAChD,WAAmB,EACnB,UAAkB;IAElB,OAAO,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,WAAW;WACjD,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,GAAQ,EAAE,OAA0B;IACvD,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAQ,EAAE,OAA0B,EAAE,GAAwB;IACtF,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,oBAAoB,CAC5B,KAA4B,EAC5B,YAA+B;IAE/B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAC3C,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1F,OAAO,CAAC,gOAAgO,EACvO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,MAAW,EAAE,MAAW,EAAE,WAA8B;IAC1F,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AASD;;;;;;;;;GASG;AACH,MAAM,OAAO,oBAAoB;IACxB,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC1D,kBAAkB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC7D,0BAA0B,GAAG,IAAI,GAAG,EAA6B,CAAC;IAClE,YAAY,GAAG,qBAAqB,CAAC;IAE7C,iEAAiE;IACzD,iBAAiB,GAAuB,EAAE,CAAC;IAC3C,mBAAmB,GAAyB,EAAE,CAAC;IAC/C,sBAAsB,GAAgC,EAAE,CAAC;IAEjE,4FAA4F;IACpF,eAAe,GAAyB,EAAE,CAAC;IAC3C,iBAAiB,GAA2B,EAAE,CAAC;IAC/C,oBAAoB,GAAkC,EAAE,CAAC;IAEjE;;;;;;;OAOG;IACK,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,+DAA+D;IACvD,UAAU,GAAG,KAAK,CAAC;IAE3B;;;;OAIG;IACK,2BAA2B,GAAG,CAAC,CAAC;IAExC,8DAA8D;IACtD,mBAAmB,GAAG,IAAI,GAAG,EAAgE,CAAC;IAEtG;;;;OAIG;IACH,eAAe,CAAC,CAAS;QACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACX,QAAoC,EACpC,QAAwC;QAExC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzD,GAAG,CAAC,uCAAuC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,GAAG,CAAC,yCAAyC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,cAAc,CACb,QAAsC,EACtC,QAA0C;QAE1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7D,GAAG,CAAC,yCAAyC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,GAAG,CAAC,2CAA2C,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,kBAAkB;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAC,QAAsC;QAC5D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnE,GAAG,CAAC,iDAAiD,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrF,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzC,GAAG,CAAC,mDAAmD,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxF,CAAC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,qBAAqB;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,QAAmC;QACtD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACpF,GAAG,CAAC,8CAA8C,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC1F,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjD,GAAG,CAAC,gDAAgD,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC7F,CAAC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,6BAA6B;QAC5B,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;OAUG;IACH,eAAe;QACd,IAAI,IAAI,CAAC,2BAA2B,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB;QAChB,IAAI,IAAI,CAAC,2BAA2B,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,KAAK,CAAC,0BAA0B,CAAI,EAAoB;QACvD,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,GAAG,CAAC,+CAA+C,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACvF,IAAI,CAAC;YACJ,OAAO,MAAM,EAAE,EAAE,CAAC;QACnB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,GAAG,CAAC,6CAA6C,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACtF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,wBAAwB;QACvB,OAAO,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACK,4BAA4B,CACnC,MAAmB,EACnB,UAAkB,EAClB,KAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAAE,OAAO,KAAK,CAAC;QACnD,GAAG,CAAC,+EAA+E,EAClF,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0EAA0E;IAClE,8BAA8B,CACrC,MAAmB,EACnB,UAAkB,EAClB,KAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAAE,OAAO,KAAK,CAAC;QACnD,GAAG,CAAC,8EAA8E,EACjF,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,iCAAiC;QAChC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,UAAkB,EAAE,OAA2B;QAChE,4BAA4B;QAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAyD,EAAE,CAAC;QAEtE,yCAAyC;QACzC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/C,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnD,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC/C,GAAG,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,UAAkB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,GAAG,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,QAAgB,EAAE,KAAa;QACzD,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACxD,OAAO,CACN,sEAAsE;gBACtE,qEAAqE,EACrE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAClC,CAAC;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACK,kBAAkB;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACK,kBAAkB;QACzB,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,mEAAmE;IAC3D,uBAAuB;QAC9B,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,UAAkB,EAAE,KAA4B;QAC7E,IAAI,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;YAAE,OAAO;QAC3E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,GAAG,CAAC,yCAAyC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,UAAkB,EAAE,KAA8B;QACjF,IAAI,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;YAAE,OAAO;QAC7E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,GAAG,CAAC,qCAAqC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,UAAkB,EAAE,KAA4B;QACjE,IAAI,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC;YAAE,OAAO;QACzE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,GAAG,CAAC,8CAA8C,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAChH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,UAAkB,EAAE,KAA8B;QACrE,IAAI,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC;YAAE,OAAO;QAC3E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,KAAgC;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,GAAG,CAAC,8CAA8C,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CAAC,KAAgC;QAC1D,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtF,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE/C,GAAG,CAAC,8DAA8D,EACjE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChD,IAAI,CAAC;gBACJ,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,QAAQ,CAAC,mDAAmD,EAC3D,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,UAAkB,EAAE,KAA4B;QACzE,OAAO;YACN,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU;YACV,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;SAC7B,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,UAAkB,EAAE,KAA8B;QAC7E,OAAO;YACN,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU;YACV,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;SAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,UAAkB,EAAE,KAA4B;QACrE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE1C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE1D,GAAG,CAAC,2DAA2D,EAC9D,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAElF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACJ,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,QAAQ,CAAC,8CAA8C,EACtD,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,UAAkB,EAAE,KAA8B;QACzE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE5D,GAAG,CAAC,0DAA0D,EAC7D,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACJ,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,QAAQ,CAAC,8CAA8C,EACtD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,UAAU;QACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,UAAU;QACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,8CAA8C;QAC9C,MAAM,aAAa,GAAuB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,eAAe,GAAyB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,kBAAkB,GAAgC,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACzF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/C,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,YAAY;QACZ,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,GAAG,CAAC,oEAAoE,EACvE,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE1E,sFAAsF;QACtF,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,eAAe,EAAE,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,wBAAwB;QACxB,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,8EAA8E;QAC9E,oDAAoD;QACpD,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,4EAA4E;QAC5E,2EAA2E;QAC3E,sEAAsE;QACtE,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrG,IAAI,CAAC,qBAAqB,CAAC;gBAC1B,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACnG,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACzG,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,KAA6B;QAC1D,GAAG,CAAC,qEAAqE,EACxE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAErD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACxD,IAAI,CAAC;gBACJ,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,QAAQ,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,sBAAsB,CAC3B,UAAkB,EAClB,SAAiB,EACjB,QAAgE,EAChE,cAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC;oBAAE,SAAS;gBAC1D,MAAM,IAAI,GAA0B,EAAE,GAAG,KAAK,EAAE,CAAC;gBACjD,IAAI,CAAC;oBACJ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;wBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACnF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,+EAA+E,EACtF,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,CAAC;oBACJ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;wBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACnF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,+EAA+E,EACtF,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,4EAA4E;oBAC5E,qEAAqE;oBACrE,6EAA6E;oBAC7E,8EAA8E;oBAC9E,2CAA2C;oBAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBAC7E,IAAI,CAAC,cAAc,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBAC3F,CAAC;yBAAM,CAAC;wBACP,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAChE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBACnF,CAAC;gBACF,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,QAAQ,EAAE,CAAC;YACZ,CAAC;QACF,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,sEAAsE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9G,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,mBAAmB,CAAC,UAAkB,EAAE,YAAoB,EAAE,YAAoB;QACjF,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC;oBAAE,SAAS;gBAC9D,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gBAC1D,UAAU,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC;oBAAE,SAAS;gBAC3D,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gBACpD,UAAU,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,+EAA+E,EAClF,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,sBAAsB,CACrB,UAAkB,EAClB,SAAiB,EACjB,YAA+B,EAC/B,YAA+B;QAE/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC;oBAAE,SAAS;gBAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBAChB,wEAAwE;oBACxE,0EAA0E;oBAC1E,wEAAwE;oBACxE,+DAA+D;oBAC/D,GAAG,CAAC,yEAAyE,EAC5E,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAChD,SAAS;gBACV,CAAC;gBACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,sFAAsF,EAC7F,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAChD,SAAS;gBACV,CAAC;gBACD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,CAAC,8GAA8G,EACrH,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9D,SAAS;gBACV,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;gBACzC,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjB,GAAG,CAAC,kFAAkF,EACrF,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,YAAY;QACX,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzH,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/H,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxI,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,GAAG,CAAC,qEAAqE,EACxE,aAAa,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,mBAAmB;QAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,GAAG,CAAC,2CAA2C,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;QAC3D,GAAG,CAAC,0FAA0F,EAC7F,aAAa,EAAE,MAAM,IAAI,CAAC,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAE/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,kCAAkC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;gBACjD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBACrD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;QACrD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC/B,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,GAAG,CAAC,oFAAoF,EACvF,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAE3D,IAAI,SAAS,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACjF,OAAO,CACN,kJAAkJ,EAClJ,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,CACrD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,6BAA6B;QAC7B,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAEjC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-materialized-views-analysis.d.ts","sourceRoot":"","sources":["../../../src/core/database-materialized-views-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAc,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAkC,MAAM,+BAA+B,CAAC;AAC3J,OAAO,EAAuB,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAQlE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAE9E;;+DAE+D;AAC/D,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;wEAEwE;AACxE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAExE;AAED,wBAAgB,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;qEAGqE;AACrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAQ/D;AAED;;;;;yEAKyE;AACzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAUvE;AAED;;;;;;;;;;;kGAWkG;AAClG,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAU5E;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAItH;AAgCD;uFACuF;AACvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CAElE;AASD,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS;QAAE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;KAAE,EAAE,CAAC;CACxE;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAOvE;
|
|
1
|
+
{"version":3,"file":"database-materialized-views-analysis.d.ts","sourceRoot":"","sources":["../../../src/core/database-materialized-views-analysis.ts"],"names":[],"mappings":"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"}
|