@quereus/quereus 0.17.0 → 0.18.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 +372 -361
- package/dist/src/common/errors.d.ts +2 -18
- package/dist/src/common/errors.d.ts.map +1 -1
- package/dist/src/common/errors.js +6 -29
- package/dist/src/common/errors.js.map +1 -1
- package/dist/src/common/types.d.ts +8 -0
- package/dist/src/common/types.d.ts.map +1 -1
- package/dist/src/common/types.js +20 -0
- package/dist/src/common/types.js.map +1 -1
- package/dist/src/core/database-assertions.d.ts +19 -2
- package/dist/src/core/database-assertions.d.ts.map +1 -1
- package/dist/src/core/database-assertions.js +113 -32
- package/dist/src/core/database-assertions.js.map +1 -1
- package/dist/src/core/database-events.d.ts +17 -0
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +36 -0
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database.d.ts +11 -0
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +178 -85
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/statement.d.ts +6 -0
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +42 -56
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/emit/ast-stringify.d.ts +1 -0
- package/dist/src/emit/ast-stringify.d.ts.map +1 -1
- package/dist/src/emit/ast-stringify.js +12 -2
- package/dist/src/emit/ast-stringify.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 +75 -0
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/builtins/conversion.js +9 -12
- package/dist/src/func/builtins/conversion.js.map +1 -1
- package/dist/src/func/builtins/datetime.js +1 -1
- package/dist/src/func/builtins/datetime.js.map +1 -1
- package/dist/src/func/builtins/explain.d.ts.map +1 -1
- package/dist/src/func/builtins/explain.js +15 -3
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/func/builtins/index.d.ts.map +1 -1
- package/dist/src/func/builtins/index.js +1 -11
- package/dist/src/func/builtins/index.js.map +1 -1
- package/dist/src/func/builtins/json-helpers.js +1 -1
- package/dist/src/func/builtins/json-helpers.js.map +1 -1
- package/dist/src/func/builtins/json.d.ts.map +1 -1
- package/dist/src/func/builtins/json.js +2 -5
- package/dist/src/func/builtins/json.js.map +1 -1
- package/dist/src/func/builtins/schema.d.ts.map +1 -1
- package/dist/src/func/builtins/schema.js +30 -32
- 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 +40 -64
- package/dist/src/func/builtins/string.js.map +1 -1
- package/dist/src/func/builtins/timespan.d.ts.map +1 -1
- package/dist/src/func/builtins/timespan.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/ast.d.ts +9 -2
- package/dist/src/parser/ast.d.ts.map +1 -1
- package/dist/src/parser/lexer.d.ts +1 -0
- package/dist/src/parser/lexer.d.ts.map +1 -1
- package/dist/src/parser/lexer.js +3 -0
- package/dist/src/parser/lexer.js.map +1 -1
- package/dist/src/parser/parser.d.ts +11 -1
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +75 -135
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/analysis/const-evaluator.d.ts.map +1 -1
- package/dist/src/planner/analysis/const-evaluator.js +6 -3
- package/dist/src/planner/analysis/const-evaluator.js.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts +2 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +154 -22
- 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 +18 -1
- package/dist/src/planner/building/alter-table.js.map +1 -1
- package/dist/src/planner/building/analyze.d.ts +5 -0
- package/dist/src/planner/building/analyze.d.ts.map +1 -0
- package/dist/src/planner/building/analyze.js +5 -0
- package/dist/src/planner/building/analyze.js.map +1 -0
- package/dist/src/planner/building/block.d.ts.map +1 -1
- package/dist/src/planner/building/block.js +3 -0
- package/dist/src/planner/building/block.js.map +1 -1
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +25 -3
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +11 -0
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/drop-assertion.d.ts.map +1 -1
- package/dist/src/planner/building/drop-assertion.js +2 -1
- package/dist/src/planner/building/drop-assertion.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +55 -7
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts +16 -0
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -0
- package/dist/src/planner/building/foreign-key-builder.js +269 -0
- package/dist/src/planner/building/foreign-key-builder.js.map +1 -0
- package/dist/src/planner/building/function-call.d.ts.map +1 -1
- package/dist/src/planner/building/function-call.js +3 -2
- package/dist/src/planner/building/function-call.js.map +1 -1
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +91 -10
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/schema-resolution.d.ts +4 -0
- package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
- package/dist/src/planner/building/schema-resolution.js +14 -3
- package/dist/src/planner/building/schema-resolution.js.map +1 -1
- package/dist/src/planner/building/select-aggregates.d.ts +1 -0
- package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
- package/dist/src/planner/building/select-aggregates.js +118 -3
- package/dist/src/planner/building/select-aggregates.js.map +1 -1
- package/dist/src/planner/building/select-modifiers.js +3 -3
- package/dist/src/planner/building/select-modifiers.js.map +1 -1
- package/dist/src/planner/building/select-window.js +9 -8
- package/dist/src/planner/building/select-window.js.map +1 -1
- package/dist/src/planner/building/select.d.ts.map +1 -1
- package/dist/src/planner/building/select.js +21 -10
- package/dist/src/planner/building/select.js.map +1 -1
- package/dist/src/planner/building/table.d.ts.map +1 -1
- package/dist/src/planner/building/table.js +5 -3
- package/dist/src/planner/building/table.js.map +1 -1
- package/dist/src/planner/building/update.d.ts.map +1 -1
- package/dist/src/planner/building/update.js +30 -1
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/building/with.js +1 -1
- package/dist/src/planner/building/with.js.map +1 -1
- package/dist/src/planner/cache/reference-graph.d.ts +1 -1
- package/dist/src/planner/cache/reference-graph.js +1 -1
- package/dist/src/planner/cost/index.d.ts +10 -3
- package/dist/src/planner/cost/index.d.ts.map +1 -1
- package/dist/src/planner/cost/index.js +17 -3
- package/dist/src/planner/cost/index.js.map +1 -1
- package/dist/src/planner/debug.js +1 -1
- package/dist/src/planner/debug.js.map +1 -1
- package/dist/src/planner/framework/characteristics.d.ts +1 -1
- package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
- package/dist/src/planner/framework/pass.d.ts +3 -1
- package/dist/src/planner/framework/pass.d.ts.map +1 -1
- package/dist/src/planner/framework/pass.js +62 -18
- package/dist/src/planner/framework/pass.js.map +1 -1
- package/dist/src/planner/framework/physical-utils.d.ts +5 -0
- package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
- package/dist/src/planner/framework/physical-utils.js +19 -0
- package/dist/src/planner/framework/physical-utils.js.map +1 -1
- package/dist/src/planner/framework/trace.d.ts.map +1 -1
- package/dist/src/planner/framework/trace.js +3 -2
- package/dist/src/planner/framework/trace.js.map +1 -1
- package/dist/src/planner/nodes/alias-node.d.ts +2 -1
- package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/alias-node.js +8 -0
- package/dist/src/planner/nodes/alias-node.js.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.d.ts +42 -0
- package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/alter-table-node.js +55 -0
- package/dist/src/planner/nodes/alter-table-node.js.map +1 -0
- package/dist/src/planner/nodes/analyze-node.d.ts +25 -0
- package/dist/src/planner/nodes/analyze-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/analyze-node.js +83 -0
- package/dist/src/planner/nodes/analyze-node.js.map +1 -0
- package/dist/src/planner/nodes/bloom-join-node.d.ts +66 -0
- package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/bloom-join-node.js +200 -0
- package/dist/src/planner/nodes/bloom-join-node.js.map +1 -0
- package/dist/src/planner/nodes/constraint-check-node.d.ts +1 -1
- package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/cte-reference-node.js +7 -7
- package/dist/src/planner/nodes/cte-reference-node.js.map +1 -1
- package/dist/src/planner/nodes/join-node.d.ts +9 -1
- package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-node.js +69 -79
- package/dist/src/planner/nodes/join-node.js.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.d.ts +60 -0
- package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/merge-join-node.js +207 -0
- package/dist/src/planner/nodes/merge-join-node.js.map +1 -0
- 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/project-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/project-node.js +3 -2
- package/dist/src/planner/nodes/project-node.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts +2 -1
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +6 -2
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/returning-node.js +3 -2
- package/dist/src/planner/nodes/returning-node.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/subquery.js.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/nodes/update-node.d.ts +2 -0
- package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/update-node.js +2 -1
- package/dist/src/planner/nodes/update-node.js.map +1 -1
- package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-function.js +7 -7
- package/dist/src/planner/nodes/window-function.js.map +1 -1
- package/dist/src/planner/nodes/window-node.d.ts +2 -2
- package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-node.js +9 -14
- package/dist/src/planner/nodes/window-node.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +40 -2
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/planning-context.d.ts.map +1 -1
- package/dist/src/planner/planning-context.js +1 -6
- package/dist/src/planner/planning-context.js.map +1 -1
- package/dist/src/planner/resolve.d.ts.map +1 -1
- package/dist/src/planner/resolve.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js +157 -28
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.d.ts.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +27 -6
- package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +19 -0
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +1 -0
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +53 -0
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +1 -0
- package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js +5 -0
- package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js.map +1 -1
- package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts +18 -0
- package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts.map +1 -0
- package/dist/src/planner/rules/distinct/rule-distinct-elimination.js +37 -0
- package/dist/src/planner/rules/distinct/rule-distinct-elimination.js.map +1 -0
- package/dist/src/planner/rules/join/rule-join-key-inference.d.ts +8 -3
- package/dist/src/planner/rules/join/rule-join-key-inference.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-key-inference.js +28 -17
- package/dist/src/planner/rules/join/rule-join-key-inference.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +16 -0
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -0
- package/dist/src/planner/rules/join/rule-join-physical-selection.js +216 -0
- package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -0
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +34 -4
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts +23 -0
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -0
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +293 -0
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -0
- package/dist/src/planner/scopes/multi.d.ts +3 -2
- package/dist/src/planner/scopes/multi.d.ts.map +1 -1
- package/dist/src/planner/scopes/multi.js +32 -7
- package/dist/src/planner/scopes/multi.js.map +1 -1
- package/dist/src/planner/scopes/shadow.d.ts +20 -0
- package/dist/src/planner/scopes/shadow.d.ts.map +1 -0
- package/dist/src/planner/scopes/shadow.js +31 -0
- package/dist/src/planner/scopes/shadow.js.map +1 -0
- package/dist/src/planner/stats/analyze.d.ts +17 -0
- package/dist/src/planner/stats/analyze.d.ts.map +1 -0
- package/dist/src/planner/stats/analyze.js +114 -0
- package/dist/src/planner/stats/analyze.js.map +1 -0
- package/dist/src/planner/stats/catalog-stats.d.ts +80 -0
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -0
- package/dist/src/planner/stats/catalog-stats.js +248 -0
- package/dist/src/planner/stats/catalog-stats.js.map +1 -0
- package/dist/src/planner/stats/histogram.d.ts +24 -0
- package/dist/src/planner/stats/histogram.d.ts.map +1 -0
- package/dist/src/planner/stats/histogram.js +142 -0
- package/dist/src/planner/stats/histogram.js.map +1 -0
- package/dist/src/planner/type-utils.d.ts.map +1 -1
- package/dist/src/planner/type-utils.js +8 -2
- package/dist/src/planner/type-utils.js.map +1 -1
- package/dist/src/planner/util/key-utils.d.ts +48 -2
- package/dist/src/planner/util/key-utils.d.ts.map +1 -1
- package/dist/src/planner/util/key-utils.js +123 -0
- package/dist/src/planner/util/key-utils.js.map +1 -1
- package/dist/src/planner/validation/determinism-validator.d.ts +9 -0
- package/dist/src/planner/validation/determinism-validator.d.ts.map +1 -1
- package/dist/src/planner/validation/determinism-validator.js +11 -0
- package/dist/src/planner/validation/determinism-validator.js.map +1 -1
- package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
- package/dist/src/planner/validation/plan-validator.js +1 -0
- package/dist/src/planner/validation/plan-validator.js.map +1 -1
- package/dist/src/runtime/context-helpers.d.ts +34 -10
- package/dist/src/runtime/context-helpers.d.ts.map +1 -1
- package/dist/src/runtime/context-helpers.js +115 -39
- package/dist/src/runtime/context-helpers.js.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.d.ts +0 -1
- package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +10 -23
- package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
- package/dist/src/runtime/descriptor-helpers.d.ts +7 -0
- package/dist/src/runtime/descriptor-helpers.d.ts.map +1 -0
- package/dist/src/runtime/descriptor-helpers.js +24 -0
- package/dist/src/runtime/descriptor-helpers.js.map +1 -0
- package/dist/src/runtime/emission-context.d.ts +7 -1
- package/dist/src/runtime/emission-context.d.ts.map +1 -1
- package/dist/src/runtime/emission-context.js +16 -0
- package/dist/src/runtime/emission-context.js.map +1 -1
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +97 -93
- package/dist/src/runtime/emit/aggregate.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts +5 -0
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -0
- package/dist/src/runtime/emit/alter-table.js +209 -0
- package/dist/src/runtime/emit/alter-table.js.map +1 -0
- package/dist/src/runtime/emit/analyze.d.ts +9 -0
- package/dist/src/runtime/emit/analyze.d.ts.map +1 -0
- package/dist/src/runtime/emit/analyze.js +72 -0
- package/dist/src/runtime/emit/analyze.js.map +1 -0
- package/dist/src/runtime/emit/array-index.d.ts.map +1 -1
- package/dist/src/runtime/emit/array-index.js +4 -2
- package/dist/src/runtime/emit/array-index.js.map +1 -1
- package/dist/src/runtime/emit/between.d.ts.map +1 -1
- package/dist/src/runtime/emit/between.js +8 -20
- 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 +155 -126
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/bloom-join.d.ts +12 -0
- package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -0
- package/dist/src/runtime/emit/bloom-join.js +114 -0
- package/dist/src/runtime/emit/bloom-join.js.map +1 -0
- package/dist/src/runtime/emit/cache.js +2 -2
- package/dist/src/runtime/emit/cache.js.map +1 -1
- package/dist/src/runtime/emit/cast.d.ts.map +1 -1
- package/dist/src/runtime/emit/cast.js +31 -117
- 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 +2 -24
- package/dist/src/runtime/emit/constraint-check.js.map +1 -1
- package/dist/src/runtime/emit/cte-reference.d.ts.map +1 -1
- package/dist/src/runtime/emit/cte-reference.js +11 -5
- package/dist/src/runtime/emit/cte-reference.js.map +1 -1
- package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
- package/dist/src/runtime/emit/distinct.js +21 -12
- package/dist/src/runtime/emit/distinct.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +5 -1
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/drop-assertion.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-assertion.js +2 -0
- package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
- package/dist/src/runtime/emit/filter.d.ts.map +1 -1
- package/dist/src/runtime/emit/filter.js +26 -7
- package/dist/src/runtime/emit/filter.js.map +1 -1
- package/dist/src/runtime/emit/internal-recursive-cte-ref.d.ts.map +1 -1
- package/dist/src/runtime/emit/internal-recursive-cte-ref.js +11 -5
- package/dist/src/runtime/emit/internal-recursive-cte-ref.js.map +1 -1
- package/dist/src/runtime/emit/join.d.ts +1 -1
- package/dist/src/runtime/emit/join.d.ts.map +1 -1
- package/dist/src/runtime/emit/join.js +44 -33
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/merge-join.d.ts +14 -0
- package/dist/src/runtime/emit/merge-join.d.ts.map +1 -0
- package/dist/src/runtime/emit/merge-join.js +152 -0
- package/dist/src/runtime/emit/merge-join.js.map +1 -0
- package/dist/src/runtime/emit/parameter.d.ts.map +1 -1
- package/dist/src/runtime/emit/parameter.js +10 -32
- package/dist/src/runtime/emit/parameter.js.map +1 -1
- package/dist/src/runtime/emit/project.d.ts.map +1 -1
- package/dist/src/runtime/emit/project.js +22 -12
- package/dist/src/runtime/emit/project.js.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
- package/dist/src/runtime/emit/recursive-cte.js +5 -9
- package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
- package/dist/src/runtime/emit/returning.d.ts.map +1 -1
- package/dist/src/runtime/emit/returning.js +14 -8
- package/dist/src/runtime/emit/returning.js.map +1 -1
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +4 -1
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-operation.js +8 -5
- package/dist/src/runtime/emit/set-operation.js.map +1 -1
- package/dist/src/runtime/emit/sort.js +2 -2
- package/dist/src/runtime/emit/sort.js.map +1 -1
- package/dist/src/runtime/emit/subquery.js +2 -2
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
- package/dist/src/runtime/emit/table-valued-function.js +21 -7
- package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
- package/dist/src/runtime/emit/unary.js +2 -2
- package/dist/src/runtime/emit/unary.js.map +1 -1
- package/dist/src/runtime/emit/update.d.ts.map +1 -1
- package/dist/src/runtime/emit/update.js +43 -21
- package/dist/src/runtime/emit/update.js.map +1 -1
- package/dist/src/runtime/emit/window.d.ts.map +1 -1
- package/dist/src/runtime/emit/window.js +368 -126
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/foreign-key-actions.d.ts +15 -0
- package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -0
- package/dist/src/runtime/foreign-key-actions.js +109 -0
- package/dist/src/runtime/foreign-key-actions.js.map +1 -0
- package/dist/src/runtime/register.d.ts.map +1 -1
- package/dist/src/runtime/register.js +8 -0
- package/dist/src/runtime/register.js.map +1 -1
- package/dist/src/runtime/scheduler.d.ts.map +1 -1
- package/dist/src/runtime/scheduler.js +4 -1
- package/dist/src/runtime/scheduler.js.map +1 -1
- package/dist/src/runtime/types.d.ts +6 -5
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/change-events.d.ts +36 -8
- package/dist/src/schema/change-events.d.ts.map +1 -1
- package/dist/src/schema/change-events.js.map +1 -1
- package/dist/src/schema/column.d.ts +5 -1
- package/dist/src/schema/column.d.ts.map +1 -1
- package/dist/src/schema/column.js +1 -2
- package/dist/src/schema/column.js.map +1 -1
- package/dist/src/schema/manager.d.ts +54 -4
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +353 -313
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/schema-differ.js +3 -3
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/schema.d.ts +1 -1
- package/dist/src/schema/schema.js +2 -2
- package/dist/src/schema/schema.js.map +1 -1
- package/dist/src/schema/table.d.ts +49 -0
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +30 -11
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/types/builtin-types.d.ts.map +1 -1
- package/dist/src/types/builtin-types.js +26 -95
- package/dist/src/types/builtin-types.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/json-type.d.ts.map +1 -1
- package/dist/src/types/json-type.js +28 -40
- package/dist/src/types/json-type.js.map +1 -1
- package/dist/src/types/logical-type.d.ts +6 -0
- package/dist/src/types/logical-type.d.ts.map +1 -1
- package/dist/src/types/logical-type.js +12 -0
- package/dist/src/types/logical-type.js.map +1 -1
- package/dist/src/types/temporal-types.d.ts.map +1 -1
- package/dist/src/types/temporal-types.js +8 -37
- package/dist/src/types/temporal-types.js.map +1 -1
- package/dist/src/util/coercion.d.ts +4 -5
- package/dist/src/util/coercion.d.ts.map +1 -1
- package/dist/src/util/coercion.js +10 -14
- package/dist/src/util/coercion.js.map +1 -1
- package/dist/src/util/comparison.d.ts +34 -21
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +77 -43
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/util/environment.d.ts +0 -8
- package/dist/src/util/environment.d.ts.map +1 -1
- package/dist/src/util/environment.js +0 -12
- package/dist/src/util/environment.js.map +1 -1
- package/dist/src/util/key-serializer.d.ts +33 -0
- package/dist/src/util/key-serializer.d.ts.map +1 -0
- package/dist/src/util/key-serializer.js +95 -0
- package/dist/src/util/key-serializer.js.map +1 -0
- package/dist/src/util/plugin-helper.d.ts.map +1 -1
- package/dist/src/util/plugin-helper.js +21 -45
- package/dist/src/util/plugin-helper.js.map +1 -1
- package/dist/src/util/serialization.d.ts +1 -0
- package/dist/src/util/serialization.d.ts.map +1 -1
- package/dist/src/util/serialization.js +8 -1
- package/dist/src/util/serialization.js.map +1 -1
- package/dist/src/util/working-table-iterable.d.ts +6 -5
- package/dist/src/util/working-table-iterable.d.ts.map +1 -1
- package/dist/src/util/working-table-iterable.js +8 -15
- package/dist/src/util/working-table-iterable.js.map +1 -1
- package/dist/src/vtab/best-access-plan.d.ts +12 -0
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js +22 -0
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/manifest.d.ts +3 -1
- package/dist/src/vtab/manifest.d.ts.map +1 -1
- package/dist/src/vtab/memory/index.d.ts +2 -2
- package/dist/src/vtab/memory/index.d.ts.map +1 -1
- package/dist/src/vtab/memory/index.js +4 -7
- package/dist/src/vtab/memory/index.js.map +1 -1
- package/dist/src/vtab/memory/layer/base-cursor.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base-cursor.js +37 -9
- package/dist/src/vtab/memory/layer/base-cursor.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +1 -1
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +15 -3
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +85 -37
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/scan-plan.d.ts +2 -0
- package/dist/src/vtab/memory/layer/scan-plan.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-plan.js +153 -78
- package/dist/src/vtab/memory/layer/scan-plan.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction-cursor.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction-cursor.js +39 -9
- package/dist/src/vtab/memory/layer/transaction-cursor.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +1 -5
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +14 -24
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +88 -283
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts +9 -0
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +121 -18
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/memory/types.d.ts +1 -0
- package/dist/src/vtab/memory/types.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
- package/dist/src/vtab/module.d.ts +13 -0
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +9 -0
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,41 +1,25 @@
|
|
|
1
1
|
import { StatusCode } from './types.js';
|
|
2
|
-
import type { Token } from '../parser/lexer.js';
|
|
3
2
|
/**
|
|
4
3
|
* Base class for Quereus specific errors
|
|
5
4
|
* Provides location information and status code support
|
|
6
5
|
*/
|
|
7
6
|
export declare class QuereusError extends Error {
|
|
8
7
|
code: number;
|
|
9
|
-
cause?: Error;
|
|
10
8
|
line?: number;
|
|
11
9
|
column?: number;
|
|
12
10
|
constructor(message: string, code?: number, cause?: Error, line?: number, column?: number);
|
|
13
11
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Parser-specific error that includes token information
|
|
16
|
-
* Used during SQL parsing to provide precise error locations
|
|
17
|
-
*/
|
|
18
|
-
export declare class ParseError extends QuereusError {
|
|
19
|
-
token: Token;
|
|
20
|
-
constructor(message: string, token: Token);
|
|
21
|
-
}
|
|
22
12
|
/**
|
|
23
13
|
* Error thrown when a database constraint is violated
|
|
24
14
|
*/
|
|
25
15
|
export declare class ConstraintError extends QuereusError {
|
|
26
|
-
constructor(message: string, code?: number);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Error thrown for SQL syntax issues
|
|
30
|
-
*/
|
|
31
|
-
export declare class SyntaxError extends QuereusError {
|
|
32
|
-
constructor(message?: string);
|
|
16
|
+
constructor(message: string, code?: number, cause?: Error);
|
|
33
17
|
}
|
|
34
18
|
/**
|
|
35
19
|
* Error thrown when the API is used incorrectly
|
|
36
20
|
*/
|
|
37
21
|
export declare class MisuseError extends QuereusError {
|
|
38
|
-
constructor(message?: string);
|
|
22
|
+
constructor(message?: string, cause?: Error);
|
|
39
23
|
}
|
|
40
24
|
/**
|
|
41
25
|
* Helper function to throw a QuereusError with optional location information from AST nodes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAyB,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAiB3G;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACpC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA8B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAChC,OAAO,GAAE,MAAqB,EAAE,KAAK,CAAC,EAAE,KAAK;CAKzD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,UAA6B,EACnC,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GACrG,KAAK,CAQP;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,CAyBrD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM,CAuB/F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAMvD"}
|
|
@@ -5,14 +5,12 @@ import { StatusCode } from './types.js';
|
|
|
5
5
|
*/
|
|
6
6
|
export class QuereusError extends Error {
|
|
7
7
|
code;
|
|
8
|
-
cause;
|
|
9
8
|
line;
|
|
10
9
|
column;
|
|
11
10
|
constructor(message, code = StatusCode.ERROR, cause, line, column) {
|
|
12
|
-
super(message);
|
|
11
|
+
super(message, { cause });
|
|
13
12
|
this.code = code;
|
|
14
13
|
this.name = 'QuereusError';
|
|
15
|
-
this.cause = cause;
|
|
16
14
|
this.line = line;
|
|
17
15
|
this.column = column;
|
|
18
16
|
// Enhance message with location if available
|
|
@@ -25,43 +23,22 @@ export class QuereusError extends Error {
|
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
25
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Parser-specific error that includes token information
|
|
30
|
-
* Used during SQL parsing to provide precise error locations
|
|
31
|
-
*/
|
|
32
|
-
export class ParseError extends QuereusError {
|
|
33
|
-
token;
|
|
34
|
-
constructor(message, token) {
|
|
35
|
-
super(message, StatusCode.ERROR, undefined, token.startLine, token.startColumn);
|
|
36
|
-
this.token = token;
|
|
37
|
-
this.name = 'ParseError';
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
26
|
/**
|
|
41
27
|
* Error thrown when a database constraint is violated
|
|
42
28
|
*/
|
|
43
29
|
export class ConstraintError extends QuereusError {
|
|
44
|
-
constructor(message, code = StatusCode.CONSTRAINT) {
|
|
45
|
-
super(message, code);
|
|
30
|
+
constructor(message, code = StatusCode.CONSTRAINT, cause) {
|
|
31
|
+
super(message, code, cause);
|
|
46
32
|
this.name = 'ConstraintError';
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Error thrown for SQL syntax issues
|
|
51
|
-
*/
|
|
52
|
-
export class SyntaxError extends QuereusError {
|
|
53
|
-
constructor(message = "SQL syntax error") {
|
|
54
|
-
super(message, StatusCode.ERROR);
|
|
55
|
-
this.name = 'SyntaxError';
|
|
56
|
-
Object.setPrototypeOf(this, SyntaxError.prototype);
|
|
33
|
+
Object.setPrototypeOf(this, ConstraintError.prototype);
|
|
57
34
|
}
|
|
58
35
|
}
|
|
59
36
|
/**
|
|
60
37
|
* Error thrown when the API is used incorrectly
|
|
61
38
|
*/
|
|
62
39
|
export class MisuseError extends QuereusError {
|
|
63
|
-
constructor(message =
|
|
64
|
-
super(message, StatusCode.MISUSE);
|
|
40
|
+
constructor(message = 'API misuse', cause) {
|
|
41
|
+
super(message, StatusCode.MISUSE, cause);
|
|
65
42
|
this.name = 'MisuseError';
|
|
66
43
|
Object.setPrototypeOf(this, MisuseError.prototype);
|
|
67
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -165,5 +165,13 @@ export declare function isConstraintViolation(result: UpdateResult): result is {
|
|
|
165
165
|
message?: string;
|
|
166
166
|
existingRow?: Row;
|
|
167
167
|
};
|
|
168
|
+
/**
|
|
169
|
+
* Checks whether a value is a valid SqlValue at runtime.
|
|
170
|
+
*/
|
|
171
|
+
export declare function isSqlValue(value: unknown): value is SqlValue;
|
|
172
|
+
/**
|
|
173
|
+
* Describes a non-SqlValue for error messages.
|
|
174
|
+
*/
|
|
175
|
+
export declare function describeSqlValueViolation(value: unknown): string;
|
|
168
176
|
export type { JSONValue } from './json-types.js';
|
|
169
177
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,cAAc,KAAK,WAAW,CAAC,CAAA;AAEvG,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAAC;AAElE;;;GAGG;AACH,oBAAY,UAAU;IACrB,EAAE,IAAI;IACN,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;IACR,MAAM,IAAI;IACV,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,KAAK,KAAK;IACV,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,IAAI,KAAK;IACT,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,MAAM,KAAK;IACX,MAAM,KAAK;IACX,UAAU,KAAK;IACf,QAAQ,KAAK;IACb,MAAM,KAAK;IACX,KAAK,KAAK;IACV,IAAI,KAAK;IACT,MAAM,KAAK;IACX,KAAK,KAAK;IACV,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,WAAW,KAAK;CAChB;AAED;;;GAGG;AACH,oBAAY,WAAW;IACtB,IAAI,IAAI;IACR,OAAO,IAAI;IACX,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,OAAO,IAAI,CAAE,4CAA4C;IACzD,OAAO,IAAI;CACX;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAElD;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IAE3E;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;AAE7E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACrB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GAC3B;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAE7F;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,CAEtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,GAAG,CAAA;CAAE,CAE/J;AAED,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/common/types.js
CHANGED
|
@@ -62,4 +62,24 @@ export function isUpdateOk(result) {
|
|
|
62
62
|
export function isConstraintViolation(result) {
|
|
63
63
|
return result.status === 'constraint';
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Checks whether a value is a valid SqlValue at runtime.
|
|
67
|
+
*/
|
|
68
|
+
export function isSqlValue(value) {
|
|
69
|
+
if (value === null)
|
|
70
|
+
return true;
|
|
71
|
+
const t = typeof value;
|
|
72
|
+
if (t === 'string' || t === 'number' || t === 'bigint' || t === 'boolean')
|
|
73
|
+
return true;
|
|
74
|
+
if (value instanceof Uint8Array)
|
|
75
|
+
return true;
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Describes a non-SqlValue for error messages.
|
|
80
|
+
*/
|
|
81
|
+
export function describeSqlValueViolation(value) {
|
|
82
|
+
const t = typeof value;
|
|
83
|
+
return t === 'object' ? (value.constructor?.name ?? 'object') : t;
|
|
84
|
+
}
|
|
65
85
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AA4BA;;;GAGG;AACH,MAAM,CAAN,IAAY,UAgCX;AAhCD,WAAY,UAAU;IACrB,uCAAM,CAAA;IACN,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,2CAAQ,CAAA;IACR,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,+CAAU,CAAA;IACV,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,8CAAU,CAAA;IACV,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,4CAAS,CAAA;IACT,oDAAa,CAAA;IACb,oDAAa,CAAA;IACb,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,wDAAe,CAAA;IACf,oDAAa,CAAA;IACb,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,gDAAW,CAAA;IACX,0DAAgB,CAAA;AACjB,CAAC,EAhCW,UAAU,KAAV,UAAU,QAgCrB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,WAQX;AARD,WAAY,WAAW;IACtB,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,mDAAW,CAAA;AACZ,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;AAwFD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC9C,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AA4BA;;;GAGG;AACH,MAAM,CAAN,IAAY,UAgCX;AAhCD,WAAY,UAAU;IACrB,uCAAM,CAAA;IACN,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,2CAAQ,CAAA;IACR,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,+CAAU,CAAA;IACV,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,8CAAU,CAAA;IACV,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,4CAAS,CAAA;IACT,oDAAa,CAAA;IACb,oDAAa,CAAA;IACb,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,wDAAe,CAAA;IACf,oDAAa,CAAA;IACb,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,gDAAW,CAAA;IACX,0DAAgB,CAAA;AACjB,CAAC,EAhCW,UAAU,KAAV,UAAU,QAgCrB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,WAQX;AARD,WAAY,WAAW;IACtB,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,mDAAW,CAAA;AACZ,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;AAwFD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC9C,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACvD,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC;IACvB,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC,WAAW,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
* This module handles the evaluation of CREATE ASSERTION constraints at transaction
|
|
5
5
|
* commit time. It optimizes assertion checking by:
|
|
6
6
|
* - Only evaluating assertions impacted by changed tables
|
|
7
|
+
* - Caching compiled plans and classifications across commits
|
|
8
|
+
* - Invalidating cached plans on schema changes
|
|
7
9
|
* - Using row-specific filtering when possible to avoid full table scans
|
|
8
10
|
* - Injecting PK filters for parameterized per-row evaluation
|
|
9
11
|
*/
|
|
10
12
|
import { type SqlValue } from '../common/types.js';
|
|
11
13
|
import * as AST from '../parser/ast.js';
|
|
12
|
-
import { BlockNode } from '../planner/nodes/block.js';
|
|
13
14
|
import type { Database } from './database.js';
|
|
14
15
|
/**
|
|
15
16
|
* Interface for accessing Database internals needed by the assertion evaluator.
|
|
@@ -19,7 +20,7 @@ export interface AssertionEvaluatorContext {
|
|
|
19
20
|
readonly schemaManager: Database['schemaManager'];
|
|
20
21
|
readonly optimizer: Database['optimizer'];
|
|
21
22
|
readonly options: Database['options'];
|
|
22
|
-
_buildPlan(statements: AST.Statement[]):
|
|
23
|
+
_buildPlan(statements: AST.Statement[]): import('./database.js').BuildPlanResult;
|
|
23
24
|
_findTable(tableName: string, schemaName?: string): ReturnType<Database['_findTable']>;
|
|
24
25
|
prepare(sql: string): ReturnType<Database['prepare']>;
|
|
25
26
|
getInstructionTracer(): ReturnType<Database['getInstructionTracer']>;
|
|
@@ -34,18 +35,34 @@ export interface AssertionEvaluatorContext {
|
|
|
34
35
|
* Assertions are evaluated only when the tables they reference have been modified.
|
|
35
36
|
* The evaluator uses constraint analysis to determine whether assertions can be
|
|
36
37
|
* checked per-row (more efficient) or require a full violation query.
|
|
38
|
+
*
|
|
39
|
+
* Compiled plans are cached and invalidated on schema changes to avoid
|
|
40
|
+
* re-parsing/re-planning on every commit.
|
|
37
41
|
*/
|
|
38
42
|
export declare class AssertionEvaluator {
|
|
39
43
|
private readonly ctx;
|
|
44
|
+
/** Cached compiled plans keyed by assertion name (lowercase) */
|
|
45
|
+
private cache;
|
|
46
|
+
/** Monotonic generation counter; incremented on schema changes that may affect assertions */
|
|
47
|
+
private schemaGeneration;
|
|
48
|
+
/** Unsubscribe function for schema change listener */
|
|
49
|
+
private unsubscribeSchemaChanges;
|
|
40
50
|
constructor(ctx: AssertionEvaluatorContext);
|
|
51
|
+
private subscribeToSchemaChanges;
|
|
52
|
+
/** Remove an assertion from the plan cache (called on DROP ASSERTION) */
|
|
53
|
+
invalidateAssertion(name: string): void;
|
|
54
|
+
/** Unsubscribe from schema changes and clear cached plans */
|
|
55
|
+
dispose(): void;
|
|
41
56
|
/**
|
|
42
57
|
* Run all global assertions that are impacted by changes in the current transaction.
|
|
43
58
|
* @throws QuereusError with CONSTRAINT status if any assertion is violated
|
|
44
59
|
*/
|
|
45
60
|
runGlobalAssertions(): Promise<void>;
|
|
61
|
+
private getOrCompilePlan;
|
|
46
62
|
private evaluateAssertion;
|
|
47
63
|
private executeViolationOnce;
|
|
48
64
|
private executeViolationPerChangedKeys;
|
|
65
|
+
private buildViolationError;
|
|
49
66
|
private injectPkFilter;
|
|
50
67
|
private rewriteForPkFilter;
|
|
51
68
|
private tryWrapTableReference;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-assertions.d.ts","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"database-assertions.d.ts","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI/D,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAaxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ9C;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEtC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,OAAO,eAAe,EAAE,eAAe,CAAC;IACjF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,oBAAoB,IAAI,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAErE,qEAAqE;IACrE,oBAAoB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,sDAAsD;IACtD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,EAAE,CAAC;CAChD;AAwBD;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAQlB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPhC,gEAAgE;IAChE,OAAO,CAAC,KAAK,CAA0C;IACvD,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB,CAAK;IAC7B,sDAAsD;IACtD,OAAO,CAAC,wBAAwB,CAA6B;gBAEhC,GAAG,EAAE,yBAAyB;IAI3D,OAAO,CAAC,wBAAwB;IAUhC,yEAAyE;IACzE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC,6DAA6D;IAC7D,OAAO,IAAI,IAAI;IAQf;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1C,OAAO,CAAC,gBAAgB;YA+DV,iBAAiB;YA+DjB,oBAAoB;YAkBpB,8BAA8B;IAmC5C,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,aAAa;CAYrB"}
|
|
@@ -4,14 +4,18 @@
|
|
|
4
4
|
* This module handles the evaluation of CREATE ASSERTION constraints at transaction
|
|
5
5
|
* commit time. It optimizes assertion checking by:
|
|
6
6
|
* - Only evaluating assertions impacted by changed tables
|
|
7
|
+
* - Caching compiled plans and classifications across commits
|
|
8
|
+
* - Invalidating cached plans on schema changes
|
|
7
9
|
* - Using row-specific filtering when possible to avoid full table scans
|
|
8
10
|
* - Injecting PK filters for parameterized per-row evaluation
|
|
9
11
|
*/
|
|
10
12
|
import { QuereusError } from '../common/errors.js';
|
|
11
13
|
import { StatusCode } from '../common/types.js';
|
|
14
|
+
import { createLogger } from '../common/logger.js';
|
|
12
15
|
import { Parser } from '../parser/parser.js';
|
|
13
16
|
import { emitPlanNode } from '../runtime/emitters.js';
|
|
14
17
|
import { Scheduler } from '../runtime/scheduler.js';
|
|
18
|
+
import { RowContextMap } from '../runtime/context-helpers.js';
|
|
15
19
|
import { BlockNode } from '../planner/nodes/block.js';
|
|
16
20
|
import { FilterNode } from '../planner/nodes/filter.js';
|
|
17
21
|
import { BinaryOpNode } from '../planner/nodes/scalar.js';
|
|
@@ -19,17 +23,51 @@ import { ParameterReferenceNode, ColumnReferenceNode, TableReferenceNode } from
|
|
|
19
23
|
import { EmissionContext } from '../runtime/emission-context.js';
|
|
20
24
|
import { isAsyncIterable } from '../runtime/utils.js';
|
|
21
25
|
import { analyzeRowSpecific } from '../planner/analysis/constraint-extractor.js';
|
|
26
|
+
const log = createLogger('core:assertions');
|
|
27
|
+
/** Maximum number of violating rows to include in error messages */
|
|
28
|
+
const MAX_VIOLATION_SAMPLES = 5;
|
|
22
29
|
/**
|
|
23
30
|
* Evaluates global assertions (CREATE ASSERTION) at transaction commit time.
|
|
24
31
|
*
|
|
25
32
|
* Assertions are evaluated only when the tables they reference have been modified.
|
|
26
33
|
* The evaluator uses constraint analysis to determine whether assertions can be
|
|
27
34
|
* checked per-row (more efficient) or require a full violation query.
|
|
35
|
+
*
|
|
36
|
+
* Compiled plans are cached and invalidated on schema changes to avoid
|
|
37
|
+
* re-parsing/re-planning on every commit.
|
|
28
38
|
*/
|
|
29
39
|
export class AssertionEvaluator {
|
|
30
40
|
ctx;
|
|
41
|
+
/** Cached compiled plans keyed by assertion name (lowercase) */
|
|
42
|
+
cache = new Map();
|
|
43
|
+
/** Monotonic generation counter; incremented on schema changes that may affect assertions */
|
|
44
|
+
schemaGeneration = 0;
|
|
45
|
+
/** Unsubscribe function for schema change listener */
|
|
46
|
+
unsubscribeSchemaChanges = null;
|
|
31
47
|
constructor(ctx) {
|
|
32
48
|
this.ctx = ctx;
|
|
49
|
+
this.subscribeToSchemaChanges();
|
|
50
|
+
}
|
|
51
|
+
subscribeToSchemaChanges() {
|
|
52
|
+
const notifier = this.ctx.schemaManager.getChangeNotifier();
|
|
53
|
+
this.unsubscribeSchemaChanges = notifier.addListener((event) => {
|
|
54
|
+
if (event.type === 'table_added' || event.type === 'table_removed' || event.type === 'table_modified') {
|
|
55
|
+
this.schemaGeneration++;
|
|
56
|
+
log('Schema generation bumped to %d due to %s on %s', this.schemaGeneration, event.type, event.objectName);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/** Remove an assertion from the plan cache (called on DROP ASSERTION) */
|
|
61
|
+
invalidateAssertion(name) {
|
|
62
|
+
this.cache.delete(name.toLowerCase());
|
|
63
|
+
}
|
|
64
|
+
/** Unsubscribe from schema changes and clear cached plans */
|
|
65
|
+
dispose() {
|
|
66
|
+
if (this.unsubscribeSchemaChanges) {
|
|
67
|
+
this.unsubscribeSchemaChanges();
|
|
68
|
+
this.unsubscribeSchemaChanges = null;
|
|
69
|
+
}
|
|
70
|
+
this.cache.clear();
|
|
33
71
|
}
|
|
34
72
|
/**
|
|
35
73
|
* Run all global assertions that are impacted by changes in the current transaction.
|
|
@@ -46,7 +84,13 @@ export class AssertionEvaluator {
|
|
|
46
84
|
await this.evaluateAssertion(assertion, changedBases);
|
|
47
85
|
}
|
|
48
86
|
}
|
|
49
|
-
|
|
87
|
+
getOrCompilePlan(assertion) {
|
|
88
|
+
const key = assertion.name.toLowerCase();
|
|
89
|
+
const existing = this.cache.get(key);
|
|
90
|
+
if (existing && existing.schemaGeneration === this.schemaGeneration) {
|
|
91
|
+
return existing;
|
|
92
|
+
}
|
|
93
|
+
log('Compiling assertion plan for %s (generation %d)', assertion.name, this.schemaGeneration);
|
|
50
94
|
const parser = new Parser();
|
|
51
95
|
let ast;
|
|
52
96
|
try {
|
|
@@ -56,17 +100,50 @@ export class AssertionEvaluator {
|
|
|
56
100
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
57
101
|
throw new QuereusError(`Failed to parse deferred assertion '${assertion.name}': ${error.message}`, StatusCode.INTERNAL, error);
|
|
58
102
|
}
|
|
59
|
-
const plan = this.ctx._buildPlan([ast]);
|
|
103
|
+
const { plan } = this.ctx._buildPlan([ast]);
|
|
60
104
|
const analyzed = this.ctx.optimizer.optimizeForAnalysis(plan, this.ctx);
|
|
61
|
-
// Collect base tables and relationKeys in this plan
|
|
62
105
|
const relationKeyToBase = new Map();
|
|
63
106
|
const baseTablesInPlan = new Set();
|
|
64
107
|
this.collectTables(analyzed, relationKeyToBase, baseTablesInPlan);
|
|
108
|
+
const classifications = analyzeRowSpecific(analyzed);
|
|
109
|
+
// Pre-compile row-specific artifacts
|
|
110
|
+
const rowSpecificArtifacts = new Map();
|
|
111
|
+
for (const [relKey, klass] of classifications) {
|
|
112
|
+
if (klass !== 'row')
|
|
113
|
+
continue;
|
|
114
|
+
const base = relationKeyToBase.get(relKey);
|
|
115
|
+
if (!base)
|
|
116
|
+
continue;
|
|
117
|
+
const [schemaName, tableName] = base.split('.');
|
|
118
|
+
const table = this.ctx._findTable(tableName, schemaName);
|
|
119
|
+
if (!table)
|
|
120
|
+
continue;
|
|
121
|
+
const pkIndices = table.primaryKeyDefinition.map(def => def.index);
|
|
122
|
+
const rewritten = this.injectPkFilter(analyzed, relKey, pkIndices);
|
|
123
|
+
const optimizedPlan = this.ctx.optimizer.optimize(rewritten, this.ctx);
|
|
124
|
+
const emissionContext = new EmissionContext(this.ctx);
|
|
125
|
+
const instruction = emitPlanNode(optimizedPlan, emissionContext);
|
|
126
|
+
const scheduler = new Scheduler(instruction);
|
|
127
|
+
rowSpecificArtifacts.set(relKey, { instruction, scheduler, pkIndices });
|
|
128
|
+
}
|
|
129
|
+
const cached = {
|
|
130
|
+
analyzedPlan: analyzed,
|
|
131
|
+
classifications,
|
|
132
|
+
relationKeyToBase,
|
|
133
|
+
baseTablesInPlan,
|
|
134
|
+
rowSpecificArtifacts,
|
|
135
|
+
schemaGeneration: this.schemaGeneration,
|
|
136
|
+
};
|
|
137
|
+
this.cache.set(key, cached);
|
|
138
|
+
return cached;
|
|
139
|
+
}
|
|
140
|
+
async evaluateAssertion(assertion, changedBases) {
|
|
141
|
+
const cached = this.getOrCompilePlan(assertion);
|
|
65
142
|
// Determine impact: if assertion has no dependencies, treat as global and always impacted
|
|
66
|
-
const hasDeps = baseTablesInPlan.size > 0;
|
|
143
|
+
const hasDeps = cached.baseTablesInPlan.size > 0;
|
|
67
144
|
let impacted = !hasDeps;
|
|
68
145
|
if (hasDeps) {
|
|
69
|
-
for (const b of baseTablesInPlan) {
|
|
146
|
+
for (const b of cached.baseTablesInPlan) {
|
|
70
147
|
if (changedBases.has(b)) {
|
|
71
148
|
impacted = true;
|
|
72
149
|
break;
|
|
@@ -75,13 +152,11 @@ export class AssertionEvaluator {
|
|
|
75
152
|
}
|
|
76
153
|
if (!impacted)
|
|
77
154
|
return;
|
|
78
|
-
// Classify instances as row/global
|
|
79
|
-
const classifications = analyzeRowSpecific(analyzed);
|
|
80
155
|
// If any changed base appears as a global instance, run full violation query once
|
|
81
156
|
let requiresGlobal = false;
|
|
82
|
-
for (const [relKey, klass] of classifications) {
|
|
157
|
+
for (const [relKey, klass] of cached.classifications) {
|
|
83
158
|
if (klass === 'global') {
|
|
84
|
-
const base = relationKeyToBase.get(relKey);
|
|
159
|
+
const base = cached.relationKeyToBase.get(relKey);
|
|
85
160
|
if (base && changedBases.has(base)) {
|
|
86
161
|
requiresGlobal = true;
|
|
87
162
|
break;
|
|
@@ -94,55 +169,53 @@ export class AssertionEvaluator {
|
|
|
94
169
|
}
|
|
95
170
|
// Collect row-specific references that correspond to changed bases
|
|
96
171
|
const rowSpecificChanged = [];
|
|
97
|
-
for (const [relKey, klass] of classifications) {
|
|
172
|
+
for (const [relKey, klass] of cached.classifications) {
|
|
98
173
|
if (klass !== 'row')
|
|
99
174
|
continue;
|
|
100
|
-
const base = relationKeyToBase.get(relKey);
|
|
175
|
+
const base = cached.relationKeyToBase.get(relKey);
|
|
101
176
|
if (base && changedBases.has(base)) {
|
|
102
177
|
rowSpecificChanged.push({ relKey, base });
|
|
103
178
|
}
|
|
104
179
|
}
|
|
105
180
|
if (rowSpecificChanged.length === 0) {
|
|
106
|
-
// No row-specific changed refs (or no refs at all) → run once globally
|
|
107
181
|
await this.executeViolationOnce(assertion.name, assertion.violationSql);
|
|
108
182
|
return;
|
|
109
183
|
}
|
|
110
184
|
// Execute parameterized variants per changed key for each row-specific reference
|
|
111
185
|
for (const { relKey, base } of rowSpecificChanged) {
|
|
112
|
-
|
|
186
|
+
const artifacts = cached.rowSpecificArtifacts.get(relKey);
|
|
187
|
+
if (!artifacts) {
|
|
188
|
+
// Fallback to global if artifacts weren't compiled
|
|
189
|
+
await this.executeViolationOnce(assertion.name, assertion.violationSql);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
await this.executeViolationPerChangedKeys(assertion.name, artifacts, base);
|
|
113
193
|
}
|
|
114
194
|
}
|
|
115
195
|
async executeViolationOnce(assertionName, sql) {
|
|
116
196
|
const stmt = this.ctx.prepare(sql);
|
|
117
197
|
try {
|
|
198
|
+
const violatingRows = [];
|
|
118
199
|
// Use _iterateRowsRaw() to avoid transaction management - we're already inside
|
|
119
200
|
// the commit path and don't want to trigger nested commit/rollback behavior
|
|
120
|
-
for await (const
|
|
121
|
-
|
|
201
|
+
for await (const row of stmt._iterateRowsRaw()) {
|
|
202
|
+
violatingRows.push(row);
|
|
203
|
+
if (violatingRows.length >= MAX_VIOLATION_SAMPLES)
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
if (violatingRows.length > 0) {
|
|
207
|
+
throw this.buildViolationError(assertionName, violatingRows);
|
|
122
208
|
}
|
|
123
209
|
}
|
|
124
210
|
finally {
|
|
125
211
|
await stmt.finalize();
|
|
126
212
|
}
|
|
127
213
|
}
|
|
128
|
-
async executeViolationPerChangedKeys(assertionName,
|
|
214
|
+
async executeViolationPerChangedKeys(assertionName, artifacts, base) {
|
|
129
215
|
const changedKeyTuples = this.ctx.getChangedKeyTuples(base);
|
|
130
216
|
if (changedKeyTuples.length === 0)
|
|
131
217
|
return;
|
|
132
|
-
|
|
133
|
-
const [schemaName, tableName] = base.split('.');
|
|
134
|
-
const table = this.ctx._findTable(tableName, schemaName);
|
|
135
|
-
if (!table) {
|
|
136
|
-
throw new QuereusError(`Assertion references unknown table ${base}`, StatusCode.INTERNAL);
|
|
137
|
-
}
|
|
138
|
-
const pkIndices = table.primaryKeyDefinition.map(def => def.index);
|
|
139
|
-
// Prepare a rewritten plan with an injected Filter on the target relationKey
|
|
140
|
-
const rewritten = this.injectPkFilter(analyzed, targetRelationKey, pkIndices);
|
|
141
|
-
const optimizedPlan = this.ctx.optimizer.optimize(rewritten, this.ctx);
|
|
142
|
-
// Emit and execute for each changed PK tuple; stop on first violation row
|
|
143
|
-
const emissionContext = new EmissionContext(this.ctx);
|
|
144
|
-
const rootInstruction = emitPlanNode(optimizedPlan, emissionContext);
|
|
145
|
-
const scheduler = new Scheduler(rootInstruction);
|
|
218
|
+
const { scheduler, pkIndices } = artifacts;
|
|
146
219
|
for (const tuple of changedKeyTuples) {
|
|
147
220
|
const params = {};
|
|
148
221
|
for (let i = 0; i < pkIndices.length; i++) {
|
|
@@ -152,7 +225,7 @@ export class AssertionEvaluator {
|
|
|
152
225
|
db: this.ctx,
|
|
153
226
|
stmt: undefined,
|
|
154
227
|
params,
|
|
155
|
-
context: new
|
|
228
|
+
context: new RowContextMap(),
|
|
156
229
|
tableContexts: new Map(),
|
|
157
230
|
tracer: this.ctx.getInstructionTracer(),
|
|
158
231
|
enableMetrics: this.ctx.options.getBooleanOption('runtime_stats'),
|
|
@@ -160,11 +233,19 @@ export class AssertionEvaluator {
|
|
|
160
233
|
const result = await scheduler.run(runtimeCtx);
|
|
161
234
|
if (isAsyncIterable(result)) {
|
|
162
235
|
for await (const _ of result) {
|
|
163
|
-
throw
|
|
236
|
+
throw this.buildViolationError(assertionName, [tuple]);
|
|
164
237
|
}
|
|
165
238
|
}
|
|
166
239
|
}
|
|
167
240
|
}
|
|
241
|
+
buildViolationError(assertionName, samples) {
|
|
242
|
+
let message = `Integrity assertion failed: ${assertionName}`;
|
|
243
|
+
if (samples.length > 0) {
|
|
244
|
+
const formatted = samples.map(row => `(${row.map(v => v === null ? 'NULL' : JSON.stringify(v)).join(', ')})`);
|
|
245
|
+
message += ` [${formatted.join(', ')}]`;
|
|
246
|
+
}
|
|
247
|
+
return new QuereusError(message, StatusCode.CONSTRAINT);
|
|
248
|
+
}
|
|
168
249
|
injectPkFilter(block, targetRelationKey, pkIndices) {
|
|
169
250
|
const newStatements = block.getChildren().map(stmt => this.rewriteForPkFilter(stmt, targetRelationKey, pkIndices));
|
|
170
251
|
if (newStatements.every((s, i) => s === block.getChildren()[i]))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-assertions.js","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database-assertions.js","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,7 @@ export interface SchemaChangeSubscriptionOptions {
|
|
|
89
89
|
export declare class DatabaseEventEmitter {
|
|
90
90
|
private dataListeners;
|
|
91
91
|
private schemaListeners;
|
|
92
|
+
private maxListeners;
|
|
92
93
|
/** Batched events waiting for commit (base transaction level) */
|
|
93
94
|
private batchedDataEvents;
|
|
94
95
|
private batchedSchemaEvents;
|
|
@@ -99,6 +100,16 @@ export declare class DatabaseEventEmitter {
|
|
|
99
100
|
private isBatching;
|
|
100
101
|
/** Map of module emitters we've subscribed to, for cleanup */
|
|
101
102
|
private moduleSubscriptions;
|
|
103
|
+
/**
|
|
104
|
+
* Set the maximum number of listeners per event type.
|
|
105
|
+
* A warning is logged when this limit is exceeded, which typically
|
|
106
|
+
* indicates a listener leak. Set to 0 to disable the warning.
|
|
107
|
+
*/
|
|
108
|
+
setMaxListeners(n: number): void;
|
|
109
|
+
/**
|
|
110
|
+
* Get the current maximum listener count.
|
|
111
|
+
*/
|
|
112
|
+
getMaxListeners(): number;
|
|
102
113
|
/**
|
|
103
114
|
* Subscribe to data change events from all modules.
|
|
104
115
|
* @param listener Callback invoked for each data change event
|
|
@@ -136,6 +147,10 @@ export declare class DatabaseEventEmitter {
|
|
|
136
147
|
* @param moduleName The name of the module
|
|
137
148
|
*/
|
|
138
149
|
unhookModuleEmitter(moduleName: string): void;
|
|
150
|
+
/**
|
|
151
|
+
* Warn if the listener count for a category exceeds the configured maximum.
|
|
152
|
+
*/
|
|
153
|
+
private checkListenerCount;
|
|
139
154
|
/**
|
|
140
155
|
* Get the active data event store (top layer or base).
|
|
141
156
|
*/
|
|
@@ -209,6 +224,8 @@ export declare class DatabaseEventEmitter {
|
|
|
209
224
|
releaseSavepointLayer(): void;
|
|
210
225
|
/**
|
|
211
226
|
* Remove all listeners and unhook all modules.
|
|
227
|
+
* Logs a warning if listeners were still registered, which may indicate
|
|
228
|
+
* missing cleanup in consumer code.
|
|
212
229
|
*/
|
|
213
230
|
removeAllListeners(): void;
|
|
214
231
|
/**
|