@quereus/quereus 4.5.0 → 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 +4 -3
- 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-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 +138 -71
- 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 +35 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +235 -41
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +11 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -3
- 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/comparison-collation.d.ts +20 -22
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +29 -26
- 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/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 +21 -45
- package/dist/src/planner/building/coercion.d.ts.map +1 -1
- package/dist/src/planner/building/coercion.js +42 -91
- package/dist/src/planner/building/coercion.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 +28 -17
- 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 +7 -2
- 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-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 +40 -0
- package/dist/src/planner/cost/conjunct-cost.d.ts.map +1 -1
- package/dist/src/planner/cost/conjunct-cost.js +45 -0
- package/dist/src/planner/cost/conjunct-cost.js.map +1 -1
- 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/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/bloom-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/bloom-join-node.js +8 -3
- 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 +20 -1
- package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-node.js +30 -9
- package/dist/src/planner/nodes/join-node.js.map +1 -1
- package/dist/src/planner/nodes/join-utils.d.ts +21 -0
- package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-utils.js +26 -0
- package/dist/src/planner/nodes/join-utils.js.map +1 -1
- package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/key-set-semi-join-node.js +5 -1
- package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
- 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.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.js +8 -3
- 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.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/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.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +5 -0
- 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 +77 -6
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-key-set-seek.js +3 -68
- package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts +19 -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 +24 -3
- 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 +5 -31
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.js +4 -44
- 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 +83 -27
- package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +4 -4
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts +21 -8
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js +70 -14
- package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +42 -17
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +84 -154
- 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 +7 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +7 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.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/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.map +1 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +69 -11
- 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 +44 -13
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
- package/dist/src/planner/stats/catalog-stats.js +137 -61
- 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 +22 -3
- 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/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 +29 -8
- package/dist/src/planner/util/column-origins.d.ts.map +1 -1
- package/dist/src/planner/util/column-origins.js +74 -14
- package/dist/src/planner/util/column-origins.js.map +1 -1
- 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/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 +380 -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/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/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +64 -27
- 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/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.d.ts.map +1 -1
- package/dist/src/runtime/emit/join.js +8 -67
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/key-set-semi-join.js +6 -0
- package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
- package/dist/src/runtime/emit/operand-comparator.d.ts +30 -0
- package/dist/src/runtime/emit/operand-comparator.d.ts.map +1 -1
- package/dist/src/runtime/emit/operand-comparator.js +34 -0
- package/dist/src/runtime/emit/operand-comparator.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/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 +32 -1
- 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 +46 -8
- 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 +16 -3
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +21 -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/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.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +4 -3
- 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 +176 -25
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +572 -495
- 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 +101 -15
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +133 -45
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +2 -1
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +11 -6
- 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 +1 -1
- package/dist/src/vtab/table.js +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { StatusCode } from '../common/types.js';
|
|
2
2
|
import { QuereusError } from '../common/errors.js';
|
|
3
|
+
import { tryFoldLiteral } from '../parser/utils.js';
|
|
4
|
+
import { inferType } from './registry.js';
|
|
3
5
|
/**
|
|
4
6
|
* Validate a value against a logical type.
|
|
5
7
|
* Throws an error if the value is invalid.
|
|
@@ -124,6 +126,72 @@ export function buildRowCoercion(sourceTypes, columns) {
|
|
|
124
126
|
return out;
|
|
125
127
|
};
|
|
126
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Fold a DEFAULT expression to a literal AND convert it to the column's declared
|
|
131
|
+
* logical type — the value a fresh INSERT under the same DEFAULT would store. Every
|
|
132
|
+
* ALTER backfill site (ADD COLUMN literal default, SET NOT NULL backfill, and their
|
|
133
|
+
* event-image remaps, across the memory module, the store module and the isolation
|
|
134
|
+
* overlay) goes through here, so a backfilled cell is indistinguishable from an
|
|
135
|
+
* inserted one and the sites cannot drift apart.
|
|
136
|
+
*
|
|
137
|
+
* Returns `undefined` when the expression does not fold to a literal (the caller's
|
|
138
|
+
* per-row evaluator path owns that case) and `null` when it folds to NULL. An AST
|
|
139
|
+
* literal is always raw source form (a TEXT literal `'"abc"'`, never an already-parsed
|
|
140
|
+
* JSON value), so unlike {@link buildRowCoercion} this needs no identity guard — the
|
|
141
|
+
* conversion is always the first one applied to the value.
|
|
142
|
+
*
|
|
143
|
+
* NOTE: that "raw source form" invariant holds because every DEFAULT expression here comes
|
|
144
|
+
* from the parser (schema round-trips re-stringify and re-parse it). If a path ever
|
|
145
|
+
* synthesizes a DEFAULT AST node from an already-stored value, this becomes a second
|
|
146
|
+
* conversion and needs the same identity guard `buildRowCoercion` carries.
|
|
147
|
+
*
|
|
148
|
+
* @throws QuereusError (MISMATCH) when the literal cannot be converted, carrying the
|
|
149
|
+
* same message text the INSERT path produces.
|
|
150
|
+
*/
|
|
151
|
+
export function foldDefaultToType(expr, logicalType, columnName) {
|
|
152
|
+
if (!expr)
|
|
153
|
+
return undefined;
|
|
154
|
+
const folded = tryFoldLiteral(expr);
|
|
155
|
+
if (folded === undefined)
|
|
156
|
+
return undefined;
|
|
157
|
+
return validateAndParse(folded, logicalType, columnName);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Decide whether `alter column … set data type` rewrites stored values, and if so, build the
|
|
161
|
+
* per-value converter. Shared by every backend that implements SET DATA TYPE (the memory
|
|
162
|
+
* module, the KV store module, and the isolation overlay's staged-row migration) so the
|
|
163
|
+
* "does this retype touch anything" gate and the conversion failure's message/status code
|
|
164
|
+
* cannot drift between them — the isolation layer keys its own error routing off that status
|
|
165
|
+
* code, deciding whether another connection's staged rows are marked unusable rather than
|
|
166
|
+
* aborting the ALTER outright.
|
|
167
|
+
*
|
|
168
|
+
* Gated on logical-type IDENTITY, not physical storage class: {@link inferType} flattens
|
|
169
|
+
* aliases to the shared type object (`varchar(50)` IS `TEXT_TYPE`), so an alias retype
|
|
170
|
+
* returns a `null` converter. Any other retype — including a same-storage-class move like
|
|
171
|
+
* text → date — returns one that validates AND normalizes to the new type's canonical
|
|
172
|
+
* spelling, rethrowing a parse/validate failure as `QuereusError(MISMATCH)`.
|
|
173
|
+
*
|
|
174
|
+
* @param dataType The target type name as written in the ALTER statement (echoed into the
|
|
175
|
+
* failure message verbatim)
|
|
176
|
+
* @param oldLogicalType The column's CURRENT logical type
|
|
177
|
+
* @param columnName The column name (echoed into the failure message)
|
|
178
|
+
*/
|
|
179
|
+
export function planRetypeConversion(dataType, oldLogicalType, columnName) {
|
|
180
|
+
const newLogicalType = inferType(dataType);
|
|
181
|
+
if (newLogicalType === oldLogicalType)
|
|
182
|
+
return { newLogicalType, convert: null };
|
|
183
|
+
return {
|
|
184
|
+
newLogicalType,
|
|
185
|
+
convert: (value) => {
|
|
186
|
+
try {
|
|
187
|
+
return validateAndParse(value, newLogicalType, columnName);
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
throw new QuereusError(`Cannot convert value in '${columnName}' to ${dataType}`, StatusCode.MISMATCH);
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
}
|
|
127
195
|
/**
|
|
128
196
|
* Check if a value is compatible with a logical type without throwing.
|
|
129
197
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/types/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/types/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,14 @@ export declare function tryCoerceToNumber(value: SqlValue): SqlValue;
|
|
|
13
13
|
* Converts a value to a number for arithmetic contexts.
|
|
14
14
|
* Non-numeric strings become 0 (SQL arithmetic semantics).
|
|
15
15
|
* Used for +, -, *, /, % operations.
|
|
16
|
+
*
|
|
17
|
+
* NOTE: return type is `number`, so a numeric string past
|
|
18
|
+
* Number.MAX_SAFE_INTEGER (e.g. `'9007199254740993' + 0`) rounds here —
|
|
19
|
+
* unlike CAST/comparison, which go through INTEGER_TYPE.parse/NUMERIC_TYPE.parse
|
|
20
|
+
* (types/builtin-types.ts) and preserve exact bigint precision past 2^53. Fixing
|
|
21
|
+
* this means widening this function's return type to `number | bigint` and
|
|
22
|
+
* propagating that into mixedBigIntArithmetic (runtime/emit/binary.ts) — separate
|
|
23
|
+
* blast radius from the CAST/comparison/insert fix this note sits next to.
|
|
16
24
|
*/
|
|
17
25
|
export declare function coerceToNumberForArithmetic(value: SqlValue): number;
|
|
18
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coercion.d.ts","sourceRoot":"","sources":["../../../src/util/coercion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAU3D;AAED
|
|
1
|
+
{"version":3,"file":"coercion.d.ts","sourceRoot":"","sources":["../../../src/util/coercion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAU3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAWnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAyBpF;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,CAWlF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CASvD"}
|
|
@@ -22,6 +22,14 @@ export function tryCoerceToNumber(value) {
|
|
|
22
22
|
* Converts a value to a number for arithmetic contexts.
|
|
23
23
|
* Non-numeric strings become 0 (SQL arithmetic semantics).
|
|
24
24
|
* Used for +, -, *, /, % operations.
|
|
25
|
+
*
|
|
26
|
+
* NOTE: return type is `number`, so a numeric string past
|
|
27
|
+
* Number.MAX_SAFE_INTEGER (e.g. `'9007199254740993' + 0`) rounds here —
|
|
28
|
+
* unlike CAST/comparison, which go through INTEGER_TYPE.parse/NUMERIC_TYPE.parse
|
|
29
|
+
* (types/builtin-types.ts) and preserve exact bigint precision past 2^53. Fixing
|
|
30
|
+
* this means widening this function's return type to `number | bigint` and
|
|
31
|
+
* propagating that into mixedBigIntArithmetic (runtime/emit/binary.ts) — separate
|
|
32
|
+
* blast radius from the CAST/comparison/insert fix this note sits next to.
|
|
25
33
|
*/
|
|
26
34
|
export function coerceToNumberForArithmetic(value) {
|
|
27
35
|
if (typeof value === 'number') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coercion.js","sourceRoot":"","sources":["../../../src/util/coercion.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,yBAAyB;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"coercion.js","sourceRoot":"","sources":["../../../src/util/coercion.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,6 +181,15 @@ export declare function createOrderByComparatorFast(direction?: 'asc' | 'desc',
|
|
|
181
181
|
* the type's `compare` exactly when this returns true.
|
|
182
182
|
*/
|
|
183
183
|
export declare function hasSemanticOrdering(type: LogicalType | undefined): type is LogicalType;
|
|
184
|
+
/**
|
|
185
|
+
* True when a logical type's `compare` applies the collation function it is handed
|
|
186
|
+
* (see {@link LogicalType.collationAware} — TEXT and ANY). A declared-key structure
|
|
187
|
+
* (memory PK/index BTree, the store's key encoding, the isolation overlay's shadow
|
|
188
|
+
* keys) over a column of such a type must key under the column's declared collation;
|
|
189
|
+
* over a collation-blind type it must key under BINARY, or the key order/identity
|
|
190
|
+
* diverges from the comparator that actually orders the structure.
|
|
191
|
+
*/
|
|
192
|
+
export declare function isCollationAware(type: LogicalType | undefined): boolean;
|
|
184
193
|
/**
|
|
185
194
|
* True when two logical types order values differently — i.e. the comparators
|
|
186
195
|
* {@link createTypedComparator} builds for them are not interchangeable, so any structure
|
|
@@ -205,7 +214,9 @@ export declare function hasSemanticOrdering(type: LogicalType | undefined): type
|
|
|
205
214
|
* NOTE: deliberately conservative — it answers "may the order move", not "does it". The
|
|
206
215
|
* DATE / TIME / DATETIME family compares exactly as BINARY text does, so under the only
|
|
207
216
|
* collation those types legally accept (BINARY — `supportedCollations: []`) a `text → date`
|
|
208
|
-
* retype re-sorts every structure into the order it was already in.
|
|
217
|
+
* retype re-sorts every structure into the order it was already in. `text ↔ any` is
|
|
218
|
+
* over-reported the same way: both types' `compare` honor the handed collation, so over
|
|
219
|
+
* all-text data a retype between them re-sorts into the same order. Harmless but O(rows);
|
|
209
220
|
* if a retype on a large table ever shows up as slow, narrow the predicate to a probe of the
|
|
210
221
|
* two comparators over a representative value set, or special-case the BINARY-equivalent
|
|
211
222
|
* comparators by identity.
|
|
@@ -281,8 +292,10 @@ export declare function createSemanticValueComparator(type: LogicalType | undefi
|
|
|
281
292
|
* keep the storage-class + collation comparison of
|
|
282
293
|
* {@link createCollationRowComparator}. This makes row identity agree with `=`
|
|
283
294
|
* (e.g. TIMESPAN 'PT1H' ≡ 'PT60M' collapses) without perturbing collation-aware
|
|
284
|
-
* text identity on ANY/TEXT columns
|
|
285
|
-
* collation
|
|
295
|
+
* text identity on ANY/TEXT columns: those types' `compare` now honors the handed
|
|
296
|
+
* collation (see {@link isCollationAware}) and is equivalent to the generic
|
|
297
|
+
* storage-class + collation path, so routing them through the cheaper generic
|
|
298
|
+
* comparator changes nothing.
|
|
286
299
|
*
|
|
287
300
|
* Per-column routing is {@link createSemanticValueComparator}.
|
|
288
301
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKlG,YAAY,EAAE,iBAAiB,EAAE,CAAC;AASlC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB9D;AAsBD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,iBAE9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,iBAE9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,iBAQ7B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAOpF;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAgCD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CActG;
|
|
1
|
+
{"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"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"}
|
|
@@ -277,8 +277,9 @@ function compareSameType(a, b, storageClass, collationFunc) {
|
|
|
277
277
|
case StorageClass.OBJECT: {
|
|
278
278
|
// Compare JSON objects by their canonical stringified representation, by code
|
|
279
279
|
// point — the store's `encodeObject` writes that same canonical string as UTF-8,
|
|
280
|
-
// so this must be the memcmp order of those bytes
|
|
281
|
-
//
|
|
280
|
+
// so this must be the memcmp order of those bytes. Collation never applies to
|
|
281
|
+
// OBJECT-class values (only the TEXT/TEXT branch consults it), so an `any`
|
|
282
|
+
// primary key's object-valued members order identically under any collation.
|
|
282
283
|
const strA = objectCanonicalString(a);
|
|
283
284
|
const strB = objectCanonicalString(b);
|
|
284
285
|
return compareCodePoints(strA, strB);
|
|
@@ -466,6 +467,17 @@ export function createOrderByComparatorFast(direction = 'asc', nullsOrdering, co
|
|
|
466
467
|
export function hasSemanticOrdering(type) {
|
|
467
468
|
return type?.semanticOrdering === true && typeof type.compare === 'function';
|
|
468
469
|
}
|
|
470
|
+
/**
|
|
471
|
+
* True when a logical type's `compare` applies the collation function it is handed
|
|
472
|
+
* (see {@link LogicalType.collationAware} — TEXT and ANY). A declared-key structure
|
|
473
|
+
* (memory PK/index BTree, the store's key encoding, the isolation overlay's shadow
|
|
474
|
+
* keys) over a column of such a type must key under the column's declared collation;
|
|
475
|
+
* over a collation-blind type it must key under BINARY, or the key order/identity
|
|
476
|
+
* diverges from the comparator that actually orders the structure.
|
|
477
|
+
*/
|
|
478
|
+
export function isCollationAware(type) {
|
|
479
|
+
return type?.collationAware === true;
|
|
480
|
+
}
|
|
469
481
|
/**
|
|
470
482
|
* True when two logical types order values differently — i.e. the comparators
|
|
471
483
|
* {@link createTypedComparator} builds for them are not interchangeable, so any structure
|
|
@@ -490,7 +502,9 @@ export function hasSemanticOrdering(type) {
|
|
|
490
502
|
* NOTE: deliberately conservative — it answers "may the order move", not "does it". The
|
|
491
503
|
* DATE / TIME / DATETIME family compares exactly as BINARY text does, so under the only
|
|
492
504
|
* collation those types legally accept (BINARY — `supportedCollations: []`) a `text → date`
|
|
493
|
-
* retype re-sorts every structure into the order it was already in.
|
|
505
|
+
* retype re-sorts every structure into the order it was already in. `text ↔ any` is
|
|
506
|
+
* over-reported the same way: both types' `compare` honor the handed collation, so over
|
|
507
|
+
* all-text data a retype between them re-sorts into the same order. Harmless but O(rows);
|
|
494
508
|
* if a retype on a large table ever shows up as slow, narrow the predicate to a probe of the
|
|
495
509
|
* two comparators over a representative value set, or special-case the BINARY-equivalent
|
|
496
510
|
* comparators by identity.
|
|
@@ -600,8 +614,10 @@ export function createSemanticValueComparator(type, collation = BINARY_COLLATION
|
|
|
600
614
|
* keep the storage-class + collation comparison of
|
|
601
615
|
* {@link createCollationRowComparator}. This makes row identity agree with `=`
|
|
602
616
|
* (e.g. TIMESPAN 'PT1H' ≡ 'PT60M' collapses) without perturbing collation-aware
|
|
603
|
-
* text identity on ANY/TEXT columns
|
|
604
|
-
* collation
|
|
617
|
+
* text identity on ANY/TEXT columns: those types' `compare` now honors the handed
|
|
618
|
+
* collation (see {@link isCollationAware}) and is equivalent to the generic
|
|
619
|
+
* storage-class + collation path, so routing them through the cheaper generic
|
|
620
|
+
* comparator changes nothing.
|
|
605
621
|
*
|
|
606
622
|
* Per-column routing is {@link createSemanticValueComparator}.
|
|
607
623
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* declared collation) if and only if their serialized keys are identical strings.
|
|
7
7
|
*/
|
|
8
8
|
import type { Row, SqlValue } from '../common/types.js';
|
|
9
|
+
import type { KeyNormalizerResolver, LogicalType } from '../types/logical-type.js';
|
|
9
10
|
/** Built-in normalizers, exported so the `Database` collation registry can seed
|
|
10
11
|
* them alongside the comparators, and so a caller with no `Database` in scope (the
|
|
11
12
|
* store's default key-normalizer resolver) can build a built-ins-only resolver over
|
|
@@ -40,4 +41,49 @@ export declare function serializeKeyNullGrouping(values: readonly SqlValue[], no
|
|
|
40
41
|
* Used by bloom join where keys come from specific row positions.
|
|
41
42
|
*/
|
|
42
43
|
export declare function serializeRowKey(row: Row, indices: readonly number[], normalizers: readonly ((s: string) => string)[]): string | null;
|
|
44
|
+
/** Column shape the pk-identity recipe reads: only what {@link pkKeyCollationName} and
|
|
45
|
+
* `semanticKeyTransform` need, so a caller holding a lighter structural stub than the full
|
|
46
|
+
* `ColumnSchema` (a test oracle, a schema-less shim) can still use it. */
|
|
47
|
+
export interface PkIdentityColumn {
|
|
48
|
+
readonly logicalType?: LogicalType;
|
|
49
|
+
readonly collation?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Table shape the pk-identity recipe reads: the primary key's column order, and the
|
|
52
|
+
* column definitions it indexes into. Structurally compatible with `TableSchema`. */
|
|
53
|
+
export interface PkIdentityTable {
|
|
54
|
+
readonly columns: ReadonlyArray<PkIdentityColumn>;
|
|
55
|
+
readonly primaryKeyDefinition?: ReadonlyArray<{
|
|
56
|
+
readonly index: number;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
/** Per-pk-column normalization and semantic-transform, resolved once from a table's schema. */
|
|
60
|
+
export interface PkIdentityKeying {
|
|
61
|
+
readonly normalizers: ReadonlyArray<(s: string) => string>;
|
|
62
|
+
readonly transforms: ReadonlyArray<((v: SqlValue) => SqlValue) | undefined>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolves the ONE recipe for "are these two primary keys the same row?": for each pk
|
|
66
|
+
* column, its key-collation normalizer ({@link pkKeyCollationName}, resolved through
|
|
67
|
+
* `resolveNormalizer`) and its logical type's semantic key transform (`semanticKeyTransform`
|
|
68
|
+
* — TIMESPAN's `groupKey`, so 'PT1H' and 'PT60M' agree).
|
|
69
|
+
*
|
|
70
|
+
* Two independent callers key rows by this recipe and must never disagree: the
|
|
71
|
+
* transaction-isolation overlay (`@quereus/isolation`'s `makePkKeySerializer`, via
|
|
72
|
+
* {@link makePkIdentitySerializer} below) and the sync engine (`@quereus/sync`'s
|
|
73
|
+
* `resolvePkKeying`, which returns this shape directly). Change the recipe once, here.
|
|
74
|
+
*
|
|
75
|
+
* A missing `primaryKeyDefinition` or a pk column with no `logicalType` degrades that
|
|
76
|
+
* position to no normalizer/transform (raw value identity) rather than throwing — a real
|
|
77
|
+
* `TableSchema` never hits either case; the defensiveness is for callers holding a lighter
|
|
78
|
+
* schema stub.
|
|
79
|
+
*/
|
|
80
|
+
export declare function resolvePkIdentityKeying(table: PkIdentityTable, resolveNormalizer: KeyNormalizerResolver): PkIdentityKeying;
|
|
81
|
+
/**
|
|
82
|
+
* Builds the row-identity function for a table's primary key, composing
|
|
83
|
+
* {@link resolvePkIdentityKeying} with {@link serializeKeyNullGrouping}: each pk value runs
|
|
84
|
+
* through its column's semantic transform (if any), then the whole list is serialized under
|
|
85
|
+
* the resolved normalizers. NULL-grouping (not NULL-poisoning), so a degenerate nullable pk
|
|
86
|
+
* column still produces a usable identity instead of collapsing to `null`.
|
|
87
|
+
*/
|
|
88
|
+
export declare function makePkIdentitySerializer(table: PkIdentityTable, resolveNormalizer: KeyNormalizerResolver): (pk: readonly SqlValue[]) => string;
|
|
43
89
|
//# sourceMappingURL=key-serializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-serializer.d.ts","sourceRoot":"","sources":["../../../src/util/key-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"key-serializer.d.ts","sourceRoot":"","sources":["../../../src/util/key-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAsBnF;;;;;;;;;;mCAUmC;AACnC,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAI/E,CAAC;AA8CF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,GAC7C,MAAM,GAAG,IAAI,CASf;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,GAC7C,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,GAC7C,MAAM,GAAG,IAAI,CAUf;AAED;;2EAE2E;AAC3E,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;sFACsF;AACtF,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1E;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,eAAe,EACtB,iBAAiB,EAAE,qBAAqB,GACtC,gBAAgB,CAYlB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,eAAe,EACtB,iBAAiB,EAAE,qBAAqB,GACtC,CAAC,EAAE,EAAE,SAAS,QAAQ,EAAE,KAAK,MAAM,CASrC"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { canonicalJsonString } from './json-canonical.js';
|
|
2
|
+
// NOTE: the only util→planner *value* import in this package. It is acyclic today —
|
|
3
|
+
// comparison-collation.ts pulls util/comparison.js, planner/analysis/predicate-shape.js,
|
|
4
|
+
// and common/, none of which reach back here. Adding a key-serializer import to any of
|
|
5
|
+
// those closes the cycle; move `pkKeyCollationName` down into types/ if that day comes.
|
|
6
|
+
import { pkKeyCollationName } from '../planner/analysis/comparison-collation.js';
|
|
7
|
+
import { semanticKeyTransform } from './comparison.js';
|
|
2
8
|
/** Identity normalizer for BINARY collation (no-op). */
|
|
3
9
|
const IDENTITY_NORMALIZER = (s) => s;
|
|
4
10
|
/** Strip trailing ASCII space (0x20) only, matching `RTRIM_COLLATION`'s
|
|
@@ -135,4 +141,45 @@ export function serializeRowKey(row, indices, normalizers) {
|
|
|
135
141
|
}
|
|
136
142
|
return key;
|
|
137
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Resolves the ONE recipe for "are these two primary keys the same row?": for each pk
|
|
146
|
+
* column, its key-collation normalizer ({@link pkKeyCollationName}, resolved through
|
|
147
|
+
* `resolveNormalizer`) and its logical type's semantic key transform (`semanticKeyTransform`
|
|
148
|
+
* — TIMESPAN's `groupKey`, so 'PT1H' and 'PT60M' agree).
|
|
149
|
+
*
|
|
150
|
+
* Two independent callers key rows by this recipe and must never disagree: the
|
|
151
|
+
* transaction-isolation overlay (`@quereus/isolation`'s `makePkKeySerializer`, via
|
|
152
|
+
* {@link makePkIdentitySerializer} below) and the sync engine (`@quereus/sync`'s
|
|
153
|
+
* `resolvePkKeying`, which returns this shape directly). Change the recipe once, here.
|
|
154
|
+
*
|
|
155
|
+
* A missing `primaryKeyDefinition` or a pk column with no `logicalType` degrades that
|
|
156
|
+
* position to no normalizer/transform (raw value identity) rather than throwing — a real
|
|
157
|
+
* `TableSchema` never hits either case; the defensiveness is for callers holding a lighter
|
|
158
|
+
* schema stub.
|
|
159
|
+
*/
|
|
160
|
+
export function resolvePkIdentityKeying(table, resolveNormalizer) {
|
|
161
|
+
const pkDef = table.primaryKeyDefinition ?? [];
|
|
162
|
+
return {
|
|
163
|
+
normalizers: pkDef.map(def => {
|
|
164
|
+
const column = table.columns[def.index];
|
|
165
|
+
const logicalType = column?.logicalType;
|
|
166
|
+
return resolveNormalizer(logicalType ? pkKeyCollationName({ logicalType, collation: column?.collation }) : undefined);
|
|
167
|
+
}),
|
|
168
|
+
transforms: pkDef.map(def => semanticKeyTransform(table.columns[def.index]?.logicalType)),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Builds the row-identity function for a table's primary key, composing
|
|
173
|
+
* {@link resolvePkIdentityKeying} with {@link serializeKeyNullGrouping}: each pk value runs
|
|
174
|
+
* through its column's semantic transform (if any), then the whole list is serialized under
|
|
175
|
+
* the resolved normalizers. NULL-grouping (not NULL-poisoning), so a degenerate nullable pk
|
|
176
|
+
* column still produces a usable identity instead of collapsing to `null`.
|
|
177
|
+
*/
|
|
178
|
+
export function makePkIdentitySerializer(table, resolveNormalizer) {
|
|
179
|
+
const { normalizers, transforms } = resolvePkIdentityKeying(table, resolveNormalizer);
|
|
180
|
+
return pk => serializeKeyNullGrouping(pk.map((v, i) => {
|
|
181
|
+
const transform = transforms[i];
|
|
182
|
+
return transform && v !== null ? transform(v) : v;
|
|
183
|
+
}), normalizers);
|
|
184
|
+
}
|
|
138
185
|
//# sourceMappingURL=key-serializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-serializer.js","sourceRoot":"","sources":["../../../src/util/key-serializer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"key-serializer.js","sourceRoot":"","sources":["../../../src/util/key-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BTree } from 'inheritree';
|
|
2
|
+
import type { SqlValue } from '../common/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* BTree used as a set whose entry IS the value: IN membership, DISTINCT
|
|
5
|
+
* aggregates, primary-key membership in the backing 'replace-all' diff.
|
|
6
|
+
*
|
|
7
|
+
* Any BTree whose entry is a bare `SqlValue` (as opposed to a `Row` or a wrapper
|
|
8
|
+
* object, where freezing is shallow and harmless) must be built here.
|
|
9
|
+
*
|
|
10
|
+
* `freeze: false` is required, not an optimization: inheritree freezes each
|
|
11
|
+
* stored entry by default, and `Object.freeze` throws on a non-empty
|
|
12
|
+
* `Uint8Array` — so a BLOB value could not be stored at all. Freezing would
|
|
13
|
+
* also be wrong here regardless: the entry is a reference to a value owned by
|
|
14
|
+
* the source row, not a copy.
|
|
15
|
+
*
|
|
16
|
+
* NOTE: consequently the set holds references to caller-owned BLOB buffers. If
|
|
17
|
+
* a vtab ever recycles a `Uint8Array` across rows instead of handing out a
|
|
18
|
+
* fresh one, membership/DISTINCT answers would silently change under it.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createValueSet<T extends SqlValue | SqlValue[]>(compare: (a: T, b: T) => number): BTree<T, T>;
|
|
21
|
+
//# sourceMappingURL=value-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-set.d.ts","sourceRoot":"","sources":["../../../src/util/value-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,EAC7D,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAEb"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BTree } from 'inheritree';
|
|
2
|
+
/**
|
|
3
|
+
* BTree used as a set whose entry IS the value: IN membership, DISTINCT
|
|
4
|
+
* aggregates, primary-key membership in the backing 'replace-all' diff.
|
|
5
|
+
*
|
|
6
|
+
* Any BTree whose entry is a bare `SqlValue` (as opposed to a `Row` or a wrapper
|
|
7
|
+
* object, where freezing is shallow and harmless) must be built here.
|
|
8
|
+
*
|
|
9
|
+
* `freeze: false` is required, not an optimization: inheritree freezes each
|
|
10
|
+
* stored entry by default, and `Object.freeze` throws on a non-empty
|
|
11
|
+
* `Uint8Array` — so a BLOB value could not be stored at all. Freezing would
|
|
12
|
+
* also be wrong here regardless: the entry is a reference to a value owned by
|
|
13
|
+
* the source row, not a copy.
|
|
14
|
+
*
|
|
15
|
+
* NOTE: consequently the set holds references to caller-owned BLOB buffers. If
|
|
16
|
+
* a vtab ever recycles a `Uint8Array` across rows instead of handing out a
|
|
17
|
+
* fresh one, membership/DISTINCT answers would silently change under it.
|
|
18
|
+
*/
|
|
19
|
+
export function createValueSet(compare) {
|
|
20
|
+
return new BTree(v => v, compare, { freeze: false });
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=value-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-set.js","sourceRoot":"","sources":["../../../src/util/value-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAC7B,OAA+B;IAE/B,OAAO,IAAI,KAAK,CAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -24,7 +24,7 @@ import type { SqlValue, Row, CompareFn } from '../common/types.js';
|
|
|
24
24
|
* Consumed by the `ddl_transaction_policy = 'strict'` gate, which refuses a
|
|
25
25
|
* module-dispatching DDL statement inside an explicit transaction on any module
|
|
26
26
|
* whose tier is not `'transactional'`. See `runtime/emit/ddl-transaction-policy.ts`
|
|
27
|
-
* and docs/module-
|
|
27
|
+
* and docs/module-capabilities.md § "DDL transactionality tiers".
|
|
28
28
|
*/
|
|
29
29
|
export type DdlTransactionality = 'transactional' | 'non-transactional' | 'auto-commit';
|
|
30
30
|
/**
|
|
@@ -10,6 +10,10 @@ import type { AnyVirtualTableModule } from './module.js';
|
|
|
10
10
|
export declare function tryGetEventEmitter(module: AnyVirtualTableModule): VTableEventEmitter | undefined;
|
|
11
11
|
/**
|
|
12
12
|
* Data change event emitted when mutations are committed.
|
|
13
|
+
*
|
|
14
|
+
* Producers owe the key contract in `docs/usage.md` § Subscribing to Data Changes: `key` is
|
|
15
|
+
* projected from the event's own row image, and an `update` never moves a row (a relocating
|
|
16
|
+
* primary-key change is a `delete` at the old key then an `insert` at the new one).
|
|
13
17
|
*/
|
|
14
18
|
export interface VTableDataChangeEvent {
|
|
15
19
|
/** The type of mutation operation */
|
|
@@ -18,7 +22,7 @@ export interface VTableDataChangeEvent {
|
|
|
18
22
|
schemaName: string;
|
|
19
23
|
/** Table name */
|
|
20
24
|
tableName: string;
|
|
21
|
-
/** Primary key
|
|
25
|
+
/** Primary key projected from this event's own image: `newRow` for insert/update, `oldRow` for delete */
|
|
22
26
|
key?: SqlValue[];
|
|
23
27
|
/** Previous row data (for update/delete) */
|
|
24
28
|
oldRow?: Row;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/vtab/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKzD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,kBAAkB,GAAG,SAAS,CAQhG;AAED
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/vtab/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/vtab/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA6B;IAC/D,MAAM,QAAQ,GAAG,MAA6C,CAAC;IAC/D,IAAI,OAAO,QAAQ,CAAC,eAAe,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,KAAK,GAAG,OAA+D,CAAC;IAC9E,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAC7G,OAAO,OAA6B,CAAC;AACtC,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/vtab/events.ts"],"names":[],"mappings":"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"}
|