@quereus/quereus 3.3.0 → 4.0.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 +7 -0
- package/dist/src/common/datatype.d.ts +12 -0
- package/dist/src/common/datatype.d.ts.map +1 -1
- package/dist/src/common/datatype.js.map +1 -1
- package/dist/src/common/types.d.ts +24 -0
- package/dist/src/common/types.d.ts.map +1 -1
- package/dist/src/common/types.js.map +1 -1
- package/dist/src/core/database-assertions.d.ts +37 -9
- package/dist/src/core/database-assertions.d.ts.map +1 -1
- package/dist/src/core/database-assertions.js +62 -110
- package/dist/src/core/database-assertions.js.map +1 -1
- package/dist/src/core/database-events.d.ts +163 -0
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +235 -21
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-external-changes.d.ts +28 -0
- package/dist/src/core/database-external-changes.d.ts.map +1 -0
- package/dist/src/core/database-external-changes.js +242 -0
- package/dist/src/core/database-external-changes.js.map +1 -0
- package/dist/src/core/database-internal.d.ts +50 -1
- package/dist/src/core/database-internal.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.d.ts +1253 -0
- package/dist/src/core/database-materialized-views.d.ts.map +1 -0
- package/dist/src/core/database-materialized-views.js +3064 -0
- package/dist/src/core/database-materialized-views.js.map +1 -0
- package/dist/src/core/database-options.d.ts +4 -0
- package/dist/src/core/database-options.d.ts.map +1 -1
- package/dist/src/core/database-options.js +10 -0
- package/dist/src/core/database-options.js.map +1 -1
- package/dist/src/core/database-transaction.d.ts +19 -3
- package/dist/src/core/database-transaction.d.ts.map +1 -1
- package/dist/src/core/database-transaction.js +30 -3
- package/dist/src/core/database-transaction.js.map +1 -1
- package/dist/src/core/database-watchers.d.ts +19 -0
- package/dist/src/core/database-watchers.d.ts.map +1 -1
- package/dist/src/core/database-watchers.js +63 -3
- package/dist/src/core/database-watchers.js.map +1 -1
- package/dist/src/core/database.d.ts +203 -11
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +493 -29
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/derived-row-validator.d.ts +137 -0
- package/dist/src/core/derived-row-validator.d.ts.map +1 -0
- package/dist/src/core/derived-row-validator.js +314 -0
- package/dist/src/core/derived-row-validator.js.map +1 -0
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +30 -9
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/emit/ast-stringify.d.ts +135 -1
- package/dist/src/emit/ast-stringify.d.ts.map +1 -1
- package/dist/src/emit/ast-stringify.js +793 -118
- package/dist/src/emit/ast-stringify.js.map +1 -1
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +11 -10
- 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 +32 -0
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/builtins/explain.d.ts +3 -0
- package/dist/src/func/builtins/explain.d.ts.map +1 -1
- package/dist/src/func/builtins/explain.js +229 -0
- 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 +10 -2
- package/dist/src/func/builtins/index.js.map +1 -1
- package/dist/src/func/builtins/json.d.ts.map +1 -1
- package/dist/src/func/builtins/json.js +3 -2
- package/dist/src/func/builtins/json.js.map +1 -1
- package/dist/src/func/builtins/mutation.d.ts +2 -0
- package/dist/src/func/builtins/mutation.d.ts.map +1 -0
- package/dist/src/func/builtins/mutation.js +53 -0
- package/dist/src/func/builtins/mutation.js.map +1 -0
- package/dist/src/func/builtins/schema.d.ts +2 -0
- package/dist/src/func/builtins/schema.d.ts.map +1 -1
- package/dist/src/func/builtins/schema.js +713 -26
- package/dist/src/func/builtins/schema.js.map +1 -1
- package/dist/src/func/builtins/string.js +1 -1
- package/dist/src/func/builtins/string.js.map +1 -1
- package/dist/src/func/registration.d.ts +9 -0
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +4 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +25 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +27 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/ast.d.ts +353 -21
- package/dist/src/parser/ast.d.ts.map +1 -1
- package/dist/src/parser/index.d.ts +14 -1
- package/dist/src/parser/index.d.ts.map +1 -1
- package/dist/src/parser/index.js +19 -0
- package/dist/src/parser/index.js.map +1 -1
- package/dist/src/parser/lexer.d.ts +9 -0
- package/dist/src/parser/lexer.d.ts.map +1 -1
- package/dist/src/parser/lexer.js +9 -0
- package/dist/src/parser/lexer.js.map +1 -1
- package/dist/src/parser/parser.d.ts +276 -7
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +1387 -469
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/parser/visitor.d.ts.map +1 -1
- package/dist/src/parser/visitor.js +12 -8
- package/dist/src/parser/visitor.js.map +1 -1
- package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
- package/dist/src/planner/analysis/assertion-classifier.js +4 -0
- package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
- package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
- package/dist/src/planner/analysis/assertion-hoist-cache.js +8 -4
- package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
- package/dist/src/planner/analysis/authored-inverse.d.ts +22 -0
- package/dist/src/planner/analysis/authored-inverse.d.ts.map +1 -0
- package/dist/src/planner/analysis/authored-inverse.js +267 -0
- package/dist/src/planner/analysis/authored-inverse.js.map +1 -0
- package/dist/src/planner/analysis/change-scope.d.ts +34 -4
- package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
- package/dist/src/planner/analysis/change-scope.js +108 -7
- package/dist/src/planner/analysis/change-scope.js.map +1 -1
- package/dist/src/planner/analysis/check-extraction.d.ts +36 -2
- package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
- package/dist/src/planner/analysis/check-extraction.js +174 -46
- package/dist/src/planner/analysis/check-extraction.js.map +1 -1
- package/dist/src/planner/analysis/coarsened-key.d.ts +109 -0
- package/dist/src/planner/analysis/coarsened-key.d.ts.map +1 -0
- package/dist/src/planner/analysis/coarsened-key.js +228 -0
- package/dist/src/planner/analysis/coarsened-key.js.map +1 -0
- package/dist/src/planner/analysis/comparison-collation.d.ts +216 -0
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -0
- package/dist/src/planner/analysis/comparison-collation.js +341 -0
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -0
- package/dist/src/planner/analysis/constraint-extractor.d.ts +3 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +192 -9
- package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
- package/dist/src/planner/analysis/coverage-prover.d.ts +321 -0
- package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -0
- package/dist/src/planner/analysis/coverage-prover.js +1038 -0
- package/dist/src/planner/analysis/coverage-prover.js.map +1 -0
- package/dist/src/planner/analysis/key-filter.d.ts +22 -0
- package/dist/src/planner/analysis/key-filter.d.ts.map +1 -0
- package/dist/src/planner/analysis/key-filter.js +105 -0
- package/dist/src/planner/analysis/key-filter.js.map +1 -0
- package/dist/src/planner/analysis/partial-unique-extraction.d.ts +36 -1
- package/dist/src/planner/analysis/partial-unique-extraction.d.ts.map +1 -1
- package/dist/src/planner/analysis/partial-unique-extraction.js +148 -22
- package/dist/src/planner/analysis/partial-unique-extraction.js.map +1 -1
- package/dist/src/planner/analysis/predicate-normalizer.d.ts.map +1 -1
- package/dist/src/planner/analysis/predicate-normalizer.js +30 -1
- package/dist/src/planner/analysis/predicate-normalizer.js.map +1 -1
- package/dist/src/planner/analysis/predicate-shape.d.ts +36 -1
- package/dist/src/planner/analysis/predicate-shape.d.ts.map +1 -1
- package/dist/src/planner/analysis/predicate-shape.js +51 -13
- package/dist/src/planner/analysis/predicate-shape.js.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +314 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.js +1081 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -0
- package/dist/src/planner/analysis/scalar-invertibility.d.ts +92 -0
- package/dist/src/planner/analysis/scalar-invertibility.d.ts.map +1 -0
- package/dist/src/planner/analysis/scalar-invertibility.js +129 -0
- package/dist/src/planner/analysis/scalar-invertibility.js.map +1 -0
- package/dist/src/planner/analysis/update-lineage.d.ts +196 -0
- package/dist/src/planner/analysis/update-lineage.d.ts.map +1 -0
- package/dist/src/planner/analysis/update-lineage.js +322 -0
- package/dist/src/planner/analysis/update-lineage.js.map +1 -0
- package/dist/src/planner/analysis/view-complement.d.ts +42 -0
- package/dist/src/planner/analysis/view-complement.d.ts.map +1 -0
- package/dist/src/planner/analysis/view-complement.js +54 -0
- package/dist/src/planner/analysis/view-complement.js.map +1 -0
- package/dist/src/planner/building/alter-table.d.ts +1 -1
- package/dist/src/planner/building/alter-table.d.ts.map +1 -1
- package/dist/src/planner/building/alter-table.js +211 -2
- package/dist/src/planner/building/alter-table.js.map +1 -1
- package/dist/src/planner/building/block.d.ts.map +1 -1
- package/dist/src/planner/building/block.js +18 -1
- package/dist/src/planner/building/block.js.map +1 -1
- package/dist/src/planner/building/constraint-builder.d.ts +33 -5
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +63 -28
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/create-view.d.ts +9 -0
- package/dist/src/planner/building/create-view.d.ts.map +1 -1
- package/dist/src/planner/building/create-view.js +41 -12
- package/dist/src/planner/building/create-view.js.map +1 -1
- package/dist/src/planner/building/ddl.d.ts.map +1 -1
- package/dist/src/planner/building/ddl.js +94 -0
- package/dist/src/planner/building/ddl.js.map +1 -1
- package/dist/src/planner/building/declare-schema.d.ts +1 -0
- package/dist/src/planner/building/declare-schema.d.ts.map +1 -1
- package/dist/src/planner/building/declare-schema.js +4 -1
- package/dist/src/planner/building/declare-schema.js.map +1 -1
- package/dist/src/planner/building/default-scope.d.ts +26 -0
- package/dist/src/planner/building/default-scope.d.ts.map +1 -0
- package/dist/src/planner/building/default-scope.js +41 -0
- package/dist/src/planner/building/default-scope.js.map +1 -0
- package/dist/src/planner/building/delete.d.ts +19 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +109 -30
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/dml-target.d.ts +118 -0
- package/dist/src/planner/building/dml-target.d.ts.map +1 -0
- package/dist/src/planner/building/dml-target.js +282 -0
- package/dist/src/planner/building/dml-target.js.map +1 -0
- package/dist/src/planner/building/drop-index.d.ts.map +1 -1
- package/dist/src/planner/building/drop-index.js +4 -1
- package/dist/src/planner/building/drop-index.js.map +1 -1
- package/dist/src/planner/building/drop-view.d.ts.map +1 -1
- package/dist/src/planner/building/drop-view.js +4 -2
- package/dist/src/planner/building/drop-view.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +60 -21
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts +30 -0
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.js +160 -129
- package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
- package/dist/src/planner/building/insert.d.ts +45 -2
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +257 -88
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/lens-auxiliary-access.d.ts +22 -0
- package/dist/src/planner/building/lens-auxiliary-access.d.ts.map +1 -0
- package/dist/src/planner/building/lens-auxiliary-access.js +132 -0
- package/dist/src/planner/building/lens-auxiliary-access.js.map +1 -0
- package/dist/src/planner/building/materialized-view.d.ts +16 -0
- package/dist/src/planner/building/materialized-view.d.ts.map +1 -0
- package/dist/src/planner/building/materialized-view.js +57 -0
- package/dist/src/planner/building/materialized-view.js.map +1 -0
- package/dist/src/planner/building/returning-star.d.ts +32 -0
- package/dist/src/planner/building/returning-star.d.ts.map +1 -0
- package/dist/src/planner/building/returning-star.js +45 -0
- package/dist/src/planner/building/returning-star.js.map +1 -0
- package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
- package/dist/src/planner/building/select-aggregates.js +47 -0
- package/dist/src/planner/building/select-aggregates.js.map +1 -1
- package/dist/src/planner/building/select-compound.d.ts.map +1 -1
- package/dist/src/planner/building/select-compound.js +84 -11
- package/dist/src/planner/building/select-compound.js.map +1 -1
- package/dist/src/planner/building/select-context.d.ts +10 -2
- package/dist/src/planner/building/select-context.d.ts.map +1 -1
- package/dist/src/planner/building/select-context.js +7 -1
- package/dist/src/planner/building/select-context.js.map +1 -1
- package/dist/src/planner/building/select-modifiers.js +6 -0
- package/dist/src/planner/building/select-modifiers.js.map +1 -1
- package/dist/src/planner/building/select-ordinal.d.ts +18 -0
- package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
- package/dist/src/planner/building/select-ordinal.js +30 -0
- package/dist/src/planner/building/select-ordinal.js.map +1 -1
- package/dist/src/planner/building/select-projections.d.ts +8 -2
- package/dist/src/planner/building/select-projections.d.ts.map +1 -1
- package/dist/src/planner/building/select-projections.js +26 -4
- package/dist/src/planner/building/select-projections.js.map +1 -1
- package/dist/src/planner/building/select-window.d.ts.map +1 -1
- package/dist/src/planner/building/select-window.js +8 -5
- 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 +164 -59
- package/dist/src/planner/building/select.js.map +1 -1
- package/dist/src/planner/building/set-object-tags.d.ts +7 -0
- package/dist/src/planner/building/set-object-tags.d.ts.map +1 -0
- package/dist/src/planner/building/set-object-tags.js +38 -0
- package/dist/src/planner/building/set-object-tags.js.map +1 -0
- package/dist/src/planner/building/tag-diagnostics.d.ts +27 -0
- package/dist/src/planner/building/tag-diagnostics.d.ts.map +1 -0
- package/dist/src/planner/building/tag-diagnostics.js +37 -0
- package/dist/src/planner/building/tag-diagnostics.js.map +1 -0
- package/dist/src/planner/building/update.d.ts +18 -1
- package/dist/src/planner/building/update.d.ts.map +1 -1
- package/dist/src/planner/building/update.js +134 -58
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/building/view-mutation-builder.d.ts +15 -0
- package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -0
- package/dist/src/planner/building/view-mutation-builder.js +1158 -0
- package/dist/src/planner/building/view-mutation-builder.js.map +1 -0
- package/dist/src/planner/building/with.d.ts +11 -0
- package/dist/src/planner/building/with.d.ts.map +1 -1
- package/dist/src/planner/building/with.js +48 -10
- package/dist/src/planner/building/with.js.map +1 -1
- package/dist/src/planner/cost/index.d.ts +83 -0
- package/dist/src/planner/cost/index.d.ts.map +1 -1
- package/dist/src/planner/cost/index.js +114 -0
- package/dist/src/planner/cost/index.js.map +1 -1
- package/dist/src/planner/framework/characteristics.d.ts +38 -4
- package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
- package/dist/src/planner/framework/characteristics.js +50 -6
- package/dist/src/planner/framework/characteristics.js.map +1 -1
- package/dist/src/planner/framework/pass.d.ts.map +1 -1
- package/dist/src/planner/framework/pass.js +2 -1
- package/dist/src/planner/framework/pass.js.map +1 -1
- package/dist/src/planner/framework/registry.d.ts +39 -1
- package/dist/src/planner/framework/registry.d.ts.map +1 -1
- package/dist/src/planner/framework/registry.js +18 -2
- package/dist/src/planner/framework/registry.js.map +1 -1
- package/dist/src/planner/mutation/backward-body.d.ts +131 -0
- package/dist/src/planner/mutation/backward-body.d.ts.map +1 -0
- package/dist/src/planner/mutation/backward-body.js +135 -0
- package/dist/src/planner/mutation/backward-body.js.map +1 -0
- package/dist/src/planner/mutation/cte-flatten.d.ts +17 -0
- package/dist/src/planner/mutation/cte-flatten.d.ts.map +1 -0
- package/dist/src/planner/mutation/cte-flatten.js +364 -0
- package/dist/src/planner/mutation/cte-flatten.js.map +1 -0
- package/dist/src/planner/mutation/decomposition.d.ts +273 -0
- package/dist/src/planner/mutation/decomposition.d.ts.map +1 -0
- package/dist/src/planner/mutation/decomposition.js +1719 -0
- package/dist/src/planner/mutation/decomposition.js.map +1 -0
- package/dist/src/planner/mutation/lens-enforcement.d.ts +165 -0
- package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -0
- package/dist/src/planner/mutation/lens-enforcement.js +745 -0
- package/dist/src/planner/mutation/lens-enforcement.js.map +1 -0
- package/dist/src/planner/mutation/multi-source.d.ts +568 -0
- package/dist/src/planner/mutation/multi-source.d.ts.map +1 -0
- package/dist/src/planner/mutation/multi-source.js +2915 -0
- package/dist/src/planner/mutation/multi-source.js.map +1 -0
- package/dist/src/planner/mutation/mutation-diagnostic.d.ts +37 -0
- package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -0
- package/dist/src/planner/mutation/mutation-diagnostic.js +24 -0
- package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -0
- package/dist/src/planner/mutation/mutation-tags.d.ts +33 -0
- package/dist/src/planner/mutation/mutation-tags.d.ts.map +1 -0
- package/dist/src/planner/mutation/mutation-tags.js +31 -0
- package/dist/src/planner/mutation/mutation-tags.js.map +1 -0
- package/dist/src/planner/mutation/propagate.d.ts +97 -0
- package/dist/src/planner/mutation/propagate.d.ts.map +1 -0
- package/dist/src/planner/mutation/propagate.js +220 -0
- package/dist/src/planner/mutation/propagate.js.map +1 -0
- package/dist/src/planner/mutation/scope-transform.d.ts +181 -0
- package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -0
- package/dist/src/planner/mutation/scope-transform.js +574 -0
- package/dist/src/planner/mutation/scope-transform.js.map +1 -0
- package/dist/src/planner/mutation/set-op.d.ts +242 -0
- package/dist/src/planner/mutation/set-op.d.ts.map +1 -0
- package/dist/src/planner/mutation/set-op.js +1687 -0
- package/dist/src/planner/mutation/set-op.js.map +1 -0
- package/dist/src/planner/mutation/single-source.d.ts +261 -0
- package/dist/src/planner/mutation/single-source.d.ts.map +1 -0
- package/dist/src/planner/mutation/single-source.js +1096 -0
- package/dist/src/planner/mutation/single-source.js.map +1 -0
- package/dist/src/planner/nodes/aggregate-node.js +3 -3
- 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 +5 -1
- package/dist/src/planner/nodes/alias-node.js.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.d.ts +124 -1
- package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/alter-table-node.js +27 -0
- package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
- package/dist/src/planner/nodes/analyze-node.d.ts +2 -1
- package/dist/src/planner/nodes/analyze-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/analyze-node.js +18 -1
- package/dist/src/planner/nodes/analyze-node.js.map +1 -1
- package/dist/src/planner/nodes/asserted-keys-node.d.ts +43 -0
- package/dist/src/planner/nodes/asserted-keys-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/asserted-keys-node.js +99 -0
- package/dist/src/planner/nodes/asserted-keys-node.js.map +1 -0
- package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/async-gather-node.js +33 -8
- package/dist/src/planner/nodes/async-gather-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 +2 -1
- package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
- package/dist/src/planner/nodes/create-view-node.d.ts +7 -2
- package/dist/src/planner/nodes/create-view-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/create-view-node.js +4 -1
- package/dist/src/planner/nodes/create-view-node.js.map +1 -1
- package/dist/src/planner/nodes/declarative-schema.d.ts +13 -1
- package/dist/src/planner/nodes/declarative-schema.d.ts.map +1 -1
- package/dist/src/planner/nodes/declarative-schema.js +32 -0
- package/dist/src/planner/nodes/declarative-schema.js.map +1 -1
- package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/distinct-node.js +2 -0
- package/dist/src/planner/nodes/distinct-node.js.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.d.ts +29 -1
- package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.js +27 -3
- package/dist/src/planner/nodes/dml-executor-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 -0
- package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -1
- package/dist/src/planner/nodes/envelope-scan-node.d.ts +42 -0
- package/dist/src/planner/nodes/envelope-scan-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/envelope-scan-node.js +62 -0
- package/dist/src/planner/nodes/envelope-scan-node.js.map +1 -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 +11 -1
- 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 +63 -13
- package/dist/src/planner/nodes/filter.js.map +1 -1
- package/dist/src/planner/nodes/join-node.d.ts +41 -1
- package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-node.js +78 -8
- package/dist/src/planner/nodes/join-node.js.map +1 -1
- package/dist/src/planner/nodes/join-utils.d.ts +33 -6
- package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
- package/dist/src/planner/nodes/join-utils.js +124 -9
- package/dist/src/planner/nodes/join-utils.js.map +1 -1
- package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +104 -0
- package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js +91 -0
- package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -0
- package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
- package/dist/src/planner/nodes/limit-offset.js +4 -5
- package/dist/src/planner/nodes/limit-offset.js.map +1 -1
- package/dist/src/planner/nodes/materialized-view-nodes.d.ts +69 -0
- package/dist/src/planner/nodes/materialized-view-nodes.d.ts.map +1 -0
- package/dist/src/planner/nodes/materialized-view-nodes.js +111 -0
- package/dist/src/planner/nodes/materialized-view-nodes.js.map +1 -0
- package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/merge-join-node.js +2 -1
- package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/ordinal-slice-node.js +2 -0
- package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.d.ts +9 -0
- package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
- package/dist/src/planner/nodes/plan-node-type.js +9 -0
- package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
- package/dist/src/planner/nodes/plan-node.d.ts +265 -5
- 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/pragma.d.ts +2 -1
- package/dist/src/planner/nodes/pragma.d.ts.map +1 -1
- package/dist/src/planner/nodes/pragma.js +12 -0
- package/dist/src/planner/nodes/pragma.js.map +1 -1
- package/dist/src/planner/nodes/project-node.d.ts +14 -1
- package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/project-node.js +85 -11
- 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 +62 -27
- 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 +7 -0
- package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
- package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/returning-node.js +10 -3
- package/dist/src/planner/nodes/returning-node.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts +20 -0
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +71 -14
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/nodes/set-object-tags-node.d.ts +39 -0
- package/dist/src/planner/nodes/set-object-tags-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/set-object-tags-node.js +41 -0
- package/dist/src/planner/nodes/set-object-tags-node.js.map +1 -0
- package/dist/src/planner/nodes/set-operation-node.d.ts +123 -1
- package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.js +291 -18
- package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
- package/dist/src/planner/nodes/single-row.d.ts.map +1 -1
- package/dist/src/planner/nodes/single-row.js +3 -0
- package/dist/src/planner/nodes/single-row.js.map +1 -1
- package/dist/src/planner/nodes/sort.d.ts.map +1 -1
- package/dist/src/planner/nodes/sort.js +7 -6
- package/dist/src/planner/nodes/sort.js.map +1 -1
- package/dist/src/planner/nodes/subquery.d.ts +2 -0
- package/dist/src/planner/nodes/subquery.d.ts.map +1 -1
- package/dist/src/planner/nodes/subquery.js +18 -2
- package/dist/src/planner/nodes/subquery.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 +23 -3
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/nodes/table-function-call.js +6 -0
- package/dist/src/planner/nodes/table-function-call.js.map +1 -1
- package/dist/src/planner/nodes/values-node.d.ts +1 -0
- package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/values-node.js +16 -6
- package/dist/src/planner/nodes/values-node.js.map +1 -1
- package/dist/src/planner/nodes/view-mutation-node.d.ts +259 -0
- package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -0
- package/dist/src/planner/nodes/view-mutation-node.js +273 -0
- package/dist/src/planner/nodes/view-mutation-node.js.map +1 -0
- package/dist/src/planner/nodes/window-function.d.ts +17 -1
- package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
- package/dist/src/planner/nodes/window-function.js +15 -1
- package/dist/src/planner/nodes/window-function.js.map +1 -1
- package/dist/src/planner/nodes/window-node.js +2 -2
- 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 +372 -39
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/planning-context.d.ts +1 -1
- package/dist/src/planner/planning-context.d.ts.map +1 -1
- package/dist/src/planner/rules/access/lens-access-form-matcher.d.ts +70 -0
- package/dist/src/planner/rules/access/lens-access-form-matcher.d.ts.map +1 -0
- package/dist/src/planner/rules/access/lens-access-form-matcher.js +156 -0
- package/dist/src/planner/rules/access/lens-access-form-matcher.js.map +1 -0
- package/dist/src/planner/rules/access/rule-lens-auxiliary-access.d.ts +31 -0
- package/dist/src/planner/rules/access/rule-lens-auxiliary-access.d.ts.map +1 -0
- package/dist/src/planner/rules/access/rule-lens-auxiliary-access.js +176 -0
- package/dist/src/planner/rules/access/rule-lens-auxiliary-access.js.map +1 -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 +435 -37
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +9 -0
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts +39 -0
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -0
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +616 -0
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -0
- package/dist/src/planner/rules/cache/rule-scalar-cse.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-cse.js +8 -1
- package/dist/src/planner/rules/cache/rule-scalar-cse.js.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +36 -0
- package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.js +38 -1
- package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +10 -0
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +19 -1
- package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
- package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.d.ts +130 -0
- package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.d.ts.map +1 -0
- package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.js +206 -0
- package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.js.map +1 -0
- package/dist/src/planner/rules/join/rule-join-elimination.d.ts +67 -14
- package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-elimination.js +81 -25
- package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-existence-pruning.d.ts +84 -0
- package/dist/src/planner/rules/join/rule-join-existence-pruning.d.ts.map +1 -0
- package/dist/src/planner/rules/join/rule-join-existence-pruning.js +138 -0
- package/dist/src/planner/rules/join/rule-join-existence-pruning.js.map +1 -0
- package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-greedy-commute.js +9 -1
- package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
- 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 +12 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
- package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-lateral-top1-asof.js +4 -0
- package/dist/src/planner/rules/join/rule-lateral-top1-asof.js.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +4 -0
- package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
- package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +10 -0
- package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
- package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.d.ts +286 -0
- package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.d.ts.map +1 -0
- package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.js +548 -0
- package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.js.map +1 -0
- package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +9 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -1
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +7 -0
- package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -1
- package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -1
- package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +10 -1
- package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +9 -0
- package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js +18 -0
- package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-contradiction.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-filter-contradiction.js +7 -0
- package/dist/src/planner/rules/predicate/rule-filter-contradiction.js.map +1 -1
- 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 +9 -0
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +13 -3
- package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-projection-pruning.d.ts.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-projection-pruning.js +14 -0
- package/dist/src/planner/rules/retrieve/rule-projection-pruning.js.map +1 -1
- package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts +1 -1
- package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js +4 -4
- package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -1
- package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +8 -0
- 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.map +1 -1
- package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +7 -0
- 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 +12 -0
- package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
- package/dist/src/planner/type-utils.d.ts +14 -0
- package/dist/src/planner/type-utils.d.ts.map +1 -1
- package/dist/src/planner/type-utils.js +66 -21
- package/dist/src/planner/type-utils.js.map +1 -1
- package/dist/src/planner/util/fd-utils.d.ts +177 -43
- package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
- package/dist/src/planner/util/fd-utils.js +396 -101
- package/dist/src/planner/util/fd-utils.js.map +1 -1
- package/dist/src/planner/util/ind-utils.d.ts +27 -1
- package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
- package/dist/src/planner/util/ind-utils.js +80 -6
- package/dist/src/planner/util/ind-utils.js.map +1 -1
- package/dist/src/planner/util/key-utils.d.ts.map +1 -1
- package/dist/src/planner/util/key-utils.js +81 -12
- package/dist/src/planner/util/key-utils.js.map +1 -1
- package/dist/src/planner/util/set-op-wrapper.d.ts +37 -0
- package/dist/src/planner/util/set-op-wrapper.d.ts.map +1 -0
- package/dist/src/planner/util/set-op-wrapper.js +82 -0
- package/dist/src/planner/util/set-op-wrapper.js.map +1 -0
- 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 +13 -1
- package/dist/src/runtime/context-helpers.d.ts.map +1 -1
- package/dist/src/runtime/context-helpers.js +7 -1
- package/dist/src/runtime/context-helpers.js.map +1 -1
- package/dist/src/runtime/delta-executor.d.ts +30 -1
- package/dist/src/runtime/delta-executor.d.ts.map +1 -1
- package/dist/src/runtime/delta-executor.js +29 -4
- package/dist/src/runtime/delta-executor.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +38 -5
- 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 +10 -8
- package/dist/src/runtime/emit/aggregate.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +664 -108
- 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 +2 -1
- package/dist/src/runtime/emit/analyze.js.map +1 -1
- package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/asof-scan.js +18 -5
- package/dist/src/runtime/emit/asof-scan.js.map +1 -1
- package/dist/src/runtime/emit/asserted-keys.d.ts +13 -0
- package/dist/src/runtime/emit/asserted-keys.d.ts.map +1 -0
- package/dist/src/runtime/emit/asserted-keys.js +13 -0
- package/dist/src/runtime/emit/asserted-keys.js.map +1 -0
- package/dist/src/runtime/emit/between.d.ts.map +1 -1
- package/dist/src/runtime/emit/between.js +24 -19
- 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 +5 -9
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/block.d.ts.map +1 -1
- package/dist/src/runtime/emit/block.js +11 -2
- package/dist/src/runtime/emit/block.js.map +1 -1
- package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/bloom-join.js +8 -2
- package/dist/src/runtime/emit/bloom-join.js.map +1 -1
- package/dist/src/runtime/emit/constraint-check.js +15 -0
- package/dist/src/runtime/emit/constraint-check.js.map +1 -1
- package/dist/src/runtime/emit/create-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-table.js +8 -0
- package/dist/src/runtime/emit/create-table.js.map +1 -1
- package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-view.js +16 -1
- package/dist/src/runtime/emit/create-view.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts +27 -0
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +413 -193
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-table.js +10 -0
- package/dist/src/runtime/emit/drop-table.js.map +1 -1
- package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/drop-view.js +17 -0
- package/dist/src/runtime/emit/drop-view.js.map +1 -1
- package/dist/src/runtime/emit/envelope-scan.d.ts +13 -0
- package/dist/src/runtime/emit/envelope-scan.d.ts.map +1 -0
- package/dist/src/runtime/emit/envelope-scan.js +22 -0
- package/dist/src/runtime/emit/envelope-scan.js.map +1 -0
- package/dist/src/runtime/emit/join.d.ts +10 -2
- package/dist/src/runtime/emit/join.d.ts.map +1 -1
- package/dist/src/runtime/emit/join.js +128 -38
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/lens-auxiliary-access.d.ts +16 -0
- package/dist/src/runtime/emit/lens-auxiliary-access.d.ts.map +1 -0
- package/dist/src/runtime/emit/lens-auxiliary-access.js +16 -0
- package/dist/src/runtime/emit/lens-auxiliary-access.js.map +1 -0
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +640 -0
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -0
- package/dist/src/runtime/emit/materialized-view-helpers.js +2576 -0
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -0
- package/dist/src/runtime/emit/materialized-view.d.ts +31 -0
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -0
- package/dist/src/runtime/emit/materialized-view.js +187 -0
- package/dist/src/runtime/emit/materialized-view.js.map +1 -0
- package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/merge-join.js +15 -3
- package/dist/src/runtime/emit/merge-join.js.map +1 -1
- package/dist/src/runtime/emit/project.d.ts.map +1 -1
- package/dist/src/runtime/emit/project.js +10 -5
- package/dist/src/runtime/emit/project.js.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.d.ts +1 -0
- package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.js +101 -5
- package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.d.ts +16 -0
- package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -0
- package/dist/src/runtime/emit/set-object-tags.js +57 -0
- package/dist/src/runtime/emit/set-object-tags.js.map +1 -0
- package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-operation.js +140 -24
- package/dist/src/runtime/emit/set-operation.js.map +1 -1
- package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
- package/dist/src/runtime/emit/subquery.js +110 -5
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/unary.d.ts.map +1 -1
- package/dist/src/runtime/emit/unary.js +34 -6
- package/dist/src/runtime/emit/unary.js.map +1 -1
- package/dist/src/runtime/emit/view-mutation.d.ts +70 -0
- package/dist/src/runtime/emit/view-mutation.d.ts.map +1 -0
- package/dist/src/runtime/emit/view-mutation.js +299 -0
- package/dist/src/runtime/emit/view-mutation.js.map +1 -0
- package/dist/src/runtime/emit/window.js +29 -5
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/foreign-key-actions.d.ts +66 -3
- package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
- package/dist/src/runtime/foreign-key-actions.js +580 -172
- package/dist/src/runtime/foreign-key-actions.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +4 -1
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +5 -1
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/register.d.ts.map +1 -1
- package/dist/src/runtime/register.js +17 -1
- package/dist/src/runtime/register.js.map +1 -1
- package/dist/src/runtime/types.d.ts +10 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/basis-backfill.d.ts +63 -0
- package/dist/src/schema/basis-backfill.d.ts.map +1 -0
- package/dist/src/schema/basis-backfill.js +161 -0
- package/dist/src/schema/basis-backfill.js.map +1 -0
- package/dist/src/schema/catalog.d.ts +115 -1
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +249 -22
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/change-events.d.ts +42 -1
- 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 +16 -0
- package/dist/src/schema/column.d.ts.map +1 -1
- package/dist/src/schema/column.js.map +1 -1
- package/dist/src/schema/constraint-builder.d.ts +182 -0
- package/dist/src/schema/constraint-builder.d.ts.map +1 -0
- package/dist/src/schema/constraint-builder.js +424 -0
- package/dist/src/schema/constraint-builder.js.map +1 -0
- package/dist/src/schema/ddl-generator.d.ts +86 -1
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +316 -20
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/declared-schema-manager.d.ts +51 -0
- package/dist/src/schema/declared-schema-manager.d.ts.map +1 -1
- package/dist/src/schema/declared-schema-manager.js +61 -0
- package/dist/src/schema/declared-schema-manager.js.map +1 -1
- package/dist/src/schema/derivation.d.ts +106 -0
- package/dist/src/schema/derivation.d.ts.map +1 -0
- package/dist/src/schema/derivation.js +25 -0
- package/dist/src/schema/derivation.js.map +1 -0
- package/dist/src/schema/function.d.ts +13 -0
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/lens-ack.d.ts +90 -0
- package/dist/src/schema/lens-ack.d.ts.map +1 -0
- package/dist/src/schema/lens-ack.js +361 -0
- package/dist/src/schema/lens-ack.js.map +1 -0
- package/dist/src/schema/lens-compiler.d.ts +62 -0
- package/dist/src/schema/lens-compiler.d.ts.map +1 -0
- package/dist/src/schema/lens-compiler.js +1594 -0
- package/dist/src/schema/lens-compiler.js.map +1 -0
- package/dist/src/schema/lens-fk-discovery.d.ts +175 -0
- package/dist/src/schema/lens-fk-discovery.d.ts.map +1 -0
- package/dist/src/schema/lens-fk-discovery.js +336 -0
- package/dist/src/schema/lens-fk-discovery.js.map +1 -0
- package/dist/src/schema/lens-prover.d.ts +336 -0
- package/dist/src/schema/lens-prover.d.ts.map +1 -0
- package/dist/src/schema/lens-prover.js +1988 -0
- package/dist/src/schema/lens-prover.js.map +1 -0
- package/dist/src/schema/lens.d.ts +254 -0
- package/dist/src/schema/lens.d.ts.map +1 -0
- package/dist/src/schema/lens.js +21 -0
- package/dist/src/schema/lens.js.map +1 -0
- package/dist/src/schema/manager.d.ts +676 -18
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +1573 -238
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/mapping-advertisement-tags.d.ts +39 -0
- package/dist/src/schema/mapping-advertisement-tags.d.ts.map +1 -0
- package/dist/src/schema/mapping-advertisement-tags.js +216 -0
- package/dist/src/schema/mapping-advertisement-tags.js.map +1 -0
- package/dist/src/schema/rename-rewriter.d.ts +45 -4
- package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
- package/dist/src/schema/rename-rewriter.js +412 -19
- package/dist/src/schema/rename-rewriter.js.map +1 -1
- package/dist/src/schema/reserved-tags-policy.d.ts +32 -0
- package/dist/src/schema/reserved-tags-policy.d.ts.map +1 -0
- package/dist/src/schema/reserved-tags-policy.js +34 -0
- package/dist/src/schema/reserved-tags-policy.js.map +1 -0
- package/dist/src/schema/reserved-tags.d.ts +170 -0
- package/dist/src/schema/reserved-tags.d.ts.map +1 -0
- package/dist/src/schema/reserved-tags.js +507 -0
- package/dist/src/schema/reserved-tags.js.map +1 -0
- package/dist/src/schema/schema-differ.d.ts +158 -2
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +1460 -78
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/schema-hasher.d.ts +8 -3
- package/dist/src/schema/schema-hasher.d.ts.map +1 -1
- package/dist/src/schema/schema-hasher.js +22 -2
- package/dist/src/schema/schema-hasher.js.map +1 -1
- package/dist/src/schema/schema.d.ts +25 -1
- package/dist/src/schema/schema.d.ts.map +1 -1
- package/dist/src/schema/schema.js +36 -2
- package/dist/src/schema/schema.js.map +1 -1
- package/dist/src/schema/table.d.ts +259 -10
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +309 -26
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +78 -0
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -0
- package/dist/src/schema/unique-enforcement.js +93 -0
- package/dist/src/schema/unique-enforcement.js.map +1 -0
- package/dist/src/schema/view.d.ts +83 -2
- package/dist/src/schema/view.d.ts.map +1 -1
- package/dist/src/schema/view.js +67 -1
- package/dist/src/schema/view.js.map +1 -1
- package/dist/src/schema/window-function.d.ts +9 -1
- package/dist/src/schema/window-function.d.ts.map +1 -1
- package/dist/src/schema/window-function.js.map +1 -1
- package/dist/src/util/comparison.d.ts +24 -0
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +34 -0
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/util/mutation-statement.d.ts.map +1 -1
- package/dist/src/util/mutation-statement.js +4 -1
- package/dist/src/util/mutation-statement.js.map +1 -1
- package/dist/src/util/serialization.d.ts +9 -0
- package/dist/src/util/serialization.d.ts.map +1 -1
- package/dist/src/util/serialization.js +26 -0
- package/dist/src/util/serialization.js.map +1 -1
- package/dist/src/vtab/backing-host.d.ts +286 -0
- package/dist/src/vtab/backing-host.d.ts.map +1 -0
- package/dist/src/vtab/backing-host.js +118 -0
- package/dist/src/vtab/backing-host.js.map +1 -0
- package/dist/src/vtab/best-access-plan.d.ts +21 -0
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/capabilities.d.ts +5 -5
- package/dist/src/vtab/capabilities.d.ts.map +1 -1
- package/dist/src/vtab/mapping-advertisement.d.ts +163 -0
- package/dist/src/vtab/mapping-advertisement.d.ts.map +1 -0
- package/dist/src/vtab/mapping-advertisement.js +2 -0
- package/dist/src/vtab/mapping-advertisement.js.map +1 -0
- package/dist/src/vtab/memory/index.d.ts +64 -4
- package/dist/src/vtab/memory/index.d.ts.map +1 -1
- package/dist/src/vtab/memory/index.js +119 -12
- package/dist/src/vtab/memory/index.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +38 -1
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +112 -24
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +291 -4
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +1050 -91
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.js +35 -6
- package/dist/src/vtab/memory/layer/plan-filter.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 +66 -14
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/scan-plan.d.ts +14 -0
- package/dist/src/vtab/memory/layer/scan-plan.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-plan.js +27 -4
- package/dist/src/vtab/memory/layer/scan-plan.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +5 -1
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +17 -0
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +82 -3
- 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 +15 -5
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/memory/types.d.ts +20 -2
- package/dist/src/vtab/memory/types.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/predicate.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/predicate.js +46 -24
- package/dist/src/vtab/memory/utils/predicate.js.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key-encode.d.ts +31 -0
- package/dist/src/vtab/memory/utils/primary-key-encode.d.ts.map +1 -0
- package/dist/src/vtab/memory/utils/primary-key-encode.js +101 -0
- package/dist/src/vtab/memory/utils/primary-key-encode.js.map +1 -0
- package/dist/src/vtab/memory/utils/primary-key.d.ts +8 -0
- package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.js +12 -5
- package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
- package/dist/src/vtab/module.d.ts +203 -4
- 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 +6 -5
package/dist/src/parser/ast.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { ConflictResolution } from '../common/constants.js';
|
|
|
5
5
|
* These interfaces define the structure of parsed SQL statements
|
|
6
6
|
*/
|
|
7
7
|
export interface AstNode {
|
|
8
|
-
type: 'literal' | 'identifier' | 'column' | 'binary' | 'unary' | 'function' | 'cast' | 'parameter' | 'subquery' | 'select' | 'insert' | 'update' | 'delete' | 'createTable' | 'createIndex' | 'createView' | 'createAssertion' | 'alterTable' | 'drop' | 'begin' | 'commit' | 'rollback' | 'table' | 'join' | 'savepoint' | 'release' | 'functionSource' | 'with' | 'commonTableExpr' | 'pragma' | 'collate' | 'primaryKey' | 'notNull' | 'null' | 'unique' | 'check' | 'default' | 'foreignKey' | 'generated' | 'windowFunction' | 'windowDefinition' | 'windowFrame' | 'currentRow' | 'unboundedPreceding' | 'unboundedFollowing' | 'preceding' | 'following' | 'subquerySource' | '
|
|
8
|
+
type: 'literal' | 'identifier' | 'column' | 'binary' | 'unary' | 'function' | 'cast' | 'parameter' | 'subquery' | 'select' | 'insert' | 'update' | 'delete' | 'createTable' | 'createIndex' | 'createView' | 'createMaterializedView' | 'refreshMaterializedView' | 'createAssertion' | 'alterTable' | 'alterView' | 'alterMaterializedView' | 'alterIndex' | 'drop' | 'begin' | 'commit' | 'rollback' | 'table' | 'join' | 'savepoint' | 'release' | 'functionSource' | 'with' | 'commonTableExpr' | 'pragma' | 'collate' | 'primaryKey' | 'notNull' | 'null' | 'unique' | 'check' | 'default' | 'foreignKey' | 'generated' | 'windowFunction' | 'windowDefinition' | 'windowFrame' | 'currentRow' | 'unboundedPreceding' | 'unboundedFollowing' | 'preceding' | 'following' | 'subquerySource' | 'case' | 'in' | 'exists' | 'values' | 'between' | 'declareSchema' | 'declareLens' | 'diffSchema' | 'applySchema' | 'explainSchema' | 'declaredTable' | 'declaredIndex' | 'declaredView' | 'declaredMaterializedView' | 'declaredSeed' | 'declaredAssertion' | 'declareIgnored' | 'upsert' | 'analyze';
|
|
9
9
|
loc?: {
|
|
10
10
|
start: {
|
|
11
11
|
line: number;
|
|
@@ -99,7 +99,7 @@ export interface ParameterExpr extends AstNode {
|
|
|
99
99
|
}
|
|
100
100
|
export interface SubqueryExpr extends AstNode {
|
|
101
101
|
type: 'subquery';
|
|
102
|
-
query:
|
|
102
|
+
query: QueryExpr;
|
|
103
103
|
}
|
|
104
104
|
export interface BetweenExpr extends AstNode {
|
|
105
105
|
type: 'between';
|
|
@@ -112,11 +112,11 @@ export interface InExpr extends AstNode {
|
|
|
112
112
|
type: 'in';
|
|
113
113
|
expr: Expression;
|
|
114
114
|
values?: Expression[];
|
|
115
|
-
subquery?:
|
|
115
|
+
subquery?: QueryExpr;
|
|
116
116
|
}
|
|
117
117
|
export interface ExistsExpr extends AstNode {
|
|
118
118
|
type: 'exists';
|
|
119
|
-
subquery:
|
|
119
|
+
subquery: QueryExpr;
|
|
120
120
|
}
|
|
121
121
|
export interface FunctionSource extends AstNode {
|
|
122
122
|
type: 'functionSource';
|
|
@@ -142,9 +142,21 @@ export interface SelectStmt extends AstNode {
|
|
|
142
142
|
unionAll?: boolean;
|
|
143
143
|
compound?: {
|
|
144
144
|
op: 'union' | 'unionAll' | 'intersect' | 'except' | 'diff';
|
|
145
|
-
select:
|
|
145
|
+
select: QueryExpr;
|
|
146
|
+
existence?: ReadonlyArray<SetOpMembershipColumn>;
|
|
146
147
|
};
|
|
147
148
|
schemaPath?: string[];
|
|
149
|
+
/**
|
|
150
|
+
* Optional trailing `with defaults (col = expr, …)` clause — per-column
|
|
151
|
+
* omitted-insert defaults for view write-through. Binds to the WHOLE compound
|
|
152
|
+
* (like trailing `order by`), so it is parsed only in non-compound-leg
|
|
153
|
+
* position and never lands on a leg. Inert metadata wherever no write path
|
|
154
|
+
* consumes it (a bare top-level select, a VALUES view body); the view INSERT
|
|
155
|
+
* write-through rewrite and `view_info`'s insertability derivation pull it
|
|
156
|
+
* from the stored body AST. See {@link ViewInsertDefault} and
|
|
157
|
+
* docs/view-updateability.md § View defaults.
|
|
158
|
+
*/
|
|
159
|
+
defaults?: ReadonlyArray<ViewInsertDefault>;
|
|
148
160
|
}
|
|
149
161
|
/**
|
|
150
162
|
* UPSERT clause for INSERT statements.
|
|
@@ -173,8 +185,12 @@ export interface InsertStmt extends AstNode {
|
|
|
173
185
|
withClause?: WithClause;
|
|
174
186
|
table: IdentifierExpr;
|
|
175
187
|
columns?: string[];
|
|
176
|
-
|
|
177
|
-
|
|
188
|
+
/**
|
|
189
|
+
* Source rows for the insert — a SELECT, a VALUES, or another DML with
|
|
190
|
+
* RETURNING. Replaces the legacy `values` / `select` pair: bare
|
|
191
|
+
* `INSERT … VALUES (…), (…)` parses as a `ValuesStmt` here.
|
|
192
|
+
*/
|
|
193
|
+
source: QueryExpr;
|
|
178
194
|
/** Legacy conflict resolution (INSERT OR REPLACE, etc.) - mutually exclusive with upsertClauses */
|
|
179
195
|
onConflict?: ConflictResolution;
|
|
180
196
|
/** UPSERT clauses (ON CONFLICT DO ...) - mutually exclusive with onConflict */
|
|
@@ -182,11 +198,32 @@ export interface InsertStmt extends AstNode {
|
|
|
182
198
|
returning?: ResultColumn[];
|
|
183
199
|
contextValues?: ContextAssignment[];
|
|
184
200
|
schemaPath?: string[];
|
|
201
|
+
tags?: Record<string, SqlValue>;
|
|
185
202
|
}
|
|
186
203
|
export interface UpdateStmt extends AstNode {
|
|
187
204
|
type: 'update';
|
|
188
205
|
withClause?: WithClause;
|
|
189
206
|
table: IdentifierExpr;
|
|
207
|
+
/**
|
|
208
|
+
* Inline parenthesized subquery target: `update (select …) as v set …`. Mutually
|
|
209
|
+
* exclusive with a named/CTE `table`. Routes the subquery body through the same
|
|
210
|
+
* view-mutation substrate a named view / CTE target uses (an ephemeral view-like).
|
|
211
|
+
* Its `alias` is the mandatory correlation name (the `where`/`set` reference its
|
|
212
|
+
* columns via `v.col`), and `columns` carries an optional `as v(a,b)` rename list.
|
|
213
|
+
* When set, the parser also fills {@link table} with a synthetic placeholder
|
|
214
|
+
* identifier equal to the alias (so generic `stmt.table.name` reads stay total) and
|
|
215
|
+
* {@link alias} with the same correlation name.
|
|
216
|
+
*/
|
|
217
|
+
targetSource?: SubquerySource;
|
|
218
|
+
/**
|
|
219
|
+
* Correlation name for the target. Synthesised by the view-mutation single-source
|
|
220
|
+
* lowering to give the lowered UPDATE target a collision-proof alias, so a
|
|
221
|
+
* substituted subquery-descent base term qualified with it binds the outer target
|
|
222
|
+
* row even when the user subquery FROM names the same base table. Also carries the
|
|
223
|
+
* user-written alias of an inline subquery target ({@link targetSource}) — the one
|
|
224
|
+
* place `UPDATE … AS x` reaches the AST.
|
|
225
|
+
*/
|
|
226
|
+
alias?: string;
|
|
190
227
|
assignments: {
|
|
191
228
|
column: string;
|
|
192
229
|
value: Expression;
|
|
@@ -195,31 +232,91 @@ export interface UpdateStmt extends AstNode {
|
|
|
195
232
|
returning?: ResultColumn[];
|
|
196
233
|
contextValues?: ContextAssignment[];
|
|
197
234
|
schemaPath?: string[];
|
|
235
|
+
tags?: Record<string, SqlValue>;
|
|
198
236
|
}
|
|
199
237
|
export interface DeleteStmt extends AstNode {
|
|
200
238
|
type: 'delete';
|
|
201
239
|
withClause?: WithClause;
|
|
202
240
|
table: IdentifierExpr;
|
|
241
|
+
/**
|
|
242
|
+
* Inline parenthesized subquery target: `delete from (select …) as v where …`.
|
|
243
|
+
* Mutually exclusive with a named/CTE `table`. Routes the subquery body through the
|
|
244
|
+
* same view-mutation substrate a named view / CTE target uses (an ephemeral
|
|
245
|
+
* view-like). Its `alias` is the mandatory correlation name (the `where` references
|
|
246
|
+
* its columns via `v.col`), and `columns` carries an optional `as v(a,b)` rename
|
|
247
|
+
* list. When set, the parser also fills {@link table} with a synthetic placeholder
|
|
248
|
+
* identifier equal to the alias and {@link alias} with the same correlation name.
|
|
249
|
+
*/
|
|
250
|
+
targetSource?: SubquerySource;
|
|
251
|
+
/**
|
|
252
|
+
* Correlation name for the target. Synthesised by the view-mutation single-source
|
|
253
|
+
* lowering to give the lowered DELETE target a collision-proof alias, so a
|
|
254
|
+
* substituted subquery-descent base term qualified with it binds the outer target
|
|
255
|
+
* row even when the user subquery FROM names the same base table. Also carries the
|
|
256
|
+
* user-written alias of an inline subquery target ({@link targetSource}) — the one
|
|
257
|
+
* place `DELETE FROM … AS x` reaches the AST.
|
|
258
|
+
*/
|
|
259
|
+
alias?: string;
|
|
203
260
|
where?: Expression;
|
|
204
261
|
returning?: ResultColumn[];
|
|
205
262
|
contextValues?: ContextAssignment[];
|
|
206
263
|
schemaPath?: string[];
|
|
264
|
+
tags?: Record<string, SqlValue>;
|
|
207
265
|
}
|
|
208
266
|
export interface ValuesStmt extends AstNode {
|
|
209
267
|
type: 'values';
|
|
210
268
|
values: Expression[][];
|
|
211
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Query expression — anything that produces a relation. The orthogonal shape
|
|
272
|
+
* accepted everywhere a relation is allowed (top-level statement, FROM
|
|
273
|
+
* subquery source, scalar / IN / EXISTS subquery, compound-set legs, CTE
|
|
274
|
+
* body, view body).
|
|
275
|
+
*
|
|
276
|
+
* DML forms (INSERT/UPDATE/DELETE) qualify only when they carry a RETURNING
|
|
277
|
+
* clause; the parser enforces this at non-top-level positions. DML in
|
|
278
|
+
* scalar / IN / EXISTS / compound-leg / CTE-body / FROM-source positions
|
|
279
|
+
* executes with full-drain + run-once semantics (see `docs/runtime.md`).
|
|
280
|
+
* DML as a view body is rejected at view-creation time — a view body
|
|
281
|
+
* re-evaluates on every reference and re-driving the write per read is
|
|
282
|
+
* incoherent.
|
|
283
|
+
*/
|
|
284
|
+
export type QueryExpr = SelectStmt | ValuesStmt | InsertStmt | UpdateStmt | DeleteStmt;
|
|
285
|
+
/**
|
|
286
|
+
* The `maintained [(columns)] as <body>` clause of a CREATE TABLE — declares the
|
|
287
|
+
* table as a **maintained table** (the canonical table form of a materialized
|
|
288
|
+
* view): the declared column/PK shape is the frozen basis and the body must
|
|
289
|
+
* derive exactly that shape. The optional `(columns)` is the explicit
|
|
290
|
+
* output-column rename list (see `columns` below). Any omitted-insert defaults
|
|
291
|
+
* ride inside the body select's trailing `with defaults (…)` clause
|
|
292
|
+
* ({@link SelectStmt.defaults}). Clause order:
|
|
293
|
+
* `(columns) → using → maintained [(columns)] as <body … with defaults> → with tags`.
|
|
294
|
+
* `maintained` is contextual (no new reserved word).
|
|
295
|
+
*/
|
|
296
|
+
export interface MaintainedClause {
|
|
297
|
+
/**
|
|
298
|
+
* Explicit output-column rename list (`maintained (a, b) as …`) — the lossless
|
|
299
|
+
* table-form encoding of the MV-sugar rename list. Absent ⇒ implicit: the body
|
|
300
|
+
* follows its source shape, so a widened `select *` reshapes on reopen instead
|
|
301
|
+
* of arity-erroring against a stale declared list.
|
|
302
|
+
*/
|
|
303
|
+
columns?: ReadonlyArray<string>;
|
|
304
|
+
/** Derivation body — any relation-producing QueryExpr. Carries its own
|
|
305
|
+
* `with defaults (…)` clause when present ({@link SelectStmt.defaults}). */
|
|
306
|
+
select: QueryExpr;
|
|
307
|
+
}
|
|
212
308
|
export interface CreateTableStmt extends AstNode {
|
|
213
309
|
type: 'createTable';
|
|
214
310
|
table: IdentifierExpr;
|
|
215
311
|
ifNotExists: boolean;
|
|
216
312
|
columns: ColumnDef[];
|
|
217
313
|
constraints: TableConstraint[];
|
|
218
|
-
isTemporary?: boolean;
|
|
219
314
|
moduleName?: string;
|
|
220
315
|
moduleArgs?: Record<string, SqlValue>;
|
|
221
316
|
contextDefinitions?: MutationContextVar[];
|
|
222
317
|
tags?: Record<string, SqlValue>;
|
|
318
|
+
/** Optional `maintained as <body>` clause — declares a maintained table (declared-shape form). */
|
|
319
|
+
maintained?: MaintainedClause;
|
|
223
320
|
}
|
|
224
321
|
export interface CreateIndexStmt extends AstNode {
|
|
225
322
|
type: 'createIndex';
|
|
@@ -236,23 +333,92 @@ export interface CreateAssertionStmt extends AstNode {
|
|
|
236
333
|
name: string;
|
|
237
334
|
check: Expression;
|
|
238
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* One entry of a select body's `with defaults (col = expr, …)` clause: a
|
|
338
|
+
* per-column default supplied when an insert through the view omits the column.
|
|
339
|
+
* The column may name a base column the view projects away or a base-lineage
|
|
340
|
+
* view column. Stored on {@link SelectStmt.defaults}.
|
|
341
|
+
*/
|
|
342
|
+
export interface ViewInsertDefault {
|
|
343
|
+
column: string;
|
|
344
|
+
expr: Expression;
|
|
345
|
+
}
|
|
239
346
|
export interface CreateViewStmt extends AstNode {
|
|
240
347
|
type: 'createView';
|
|
241
348
|
view: IdentifierExpr;
|
|
242
349
|
ifNotExists: boolean;
|
|
243
350
|
columns?: string[];
|
|
244
|
-
|
|
245
|
-
|
|
351
|
+
/** View body — any relation-producing form. Bare `VALUES (...)` is permitted.
|
|
352
|
+
* Carries its own trailing `with defaults (…)` clause when present
|
|
353
|
+
* ({@link SelectStmt.defaults}). */
|
|
354
|
+
select: QueryExpr;
|
|
355
|
+
tags?: Record<string, SqlValue>;
|
|
356
|
+
}
|
|
357
|
+
export interface CreateMaterializedViewStmt extends AstNode {
|
|
358
|
+
type: 'createMaterializedView';
|
|
359
|
+
view: IdentifierExpr;
|
|
360
|
+
ifNotExists: boolean;
|
|
361
|
+
columns?: string[];
|
|
362
|
+
/** View body — any relation-producing form. Bare `VALUES (...)` is permitted. */
|
|
363
|
+
select: QueryExpr;
|
|
364
|
+
/** Optional backing-module name from a `USING mod(...)` clause. v1 only accepts `memory`. */
|
|
365
|
+
moduleName?: string;
|
|
366
|
+
/** Optional backing-module arguments (forward-compatible; ignored in v1). */
|
|
367
|
+
moduleArgs?: Record<string, SqlValue>;
|
|
246
368
|
tags?: Record<string, SqlValue>;
|
|
247
369
|
}
|
|
370
|
+
export interface RefreshMaterializedViewStmt extends AstNode {
|
|
371
|
+
type: 'refreshMaterializedView';
|
|
372
|
+
name: IdentifierExpr;
|
|
373
|
+
}
|
|
248
374
|
export interface AlterTableStmt extends AstNode {
|
|
249
375
|
type: 'alterTable';
|
|
250
376
|
table: IdentifierExpr;
|
|
251
377
|
action: AlterTableAction;
|
|
252
378
|
}
|
|
379
|
+
/**
|
|
380
|
+
* ALTER VIEW / ALTER MATERIALIZED VIEW / ALTER INDEX … {SET|ADD|DROP} TAGS —
|
|
381
|
+
* a metadata-tag mutation on the named object itself (the object is the
|
|
382
|
+
* statement's own `name`, not a sub-site, so unlike the ALTER TABLE union there
|
|
383
|
+
* is no `target` field). Mirrors the ALTER TABLE tag-mutation semantics:
|
|
384
|
+
* - `setTags` with `mode:'replace'` (SET TAGS): whole-set replacement; `tags`
|
|
385
|
+
* is the complete desired set and an empty record clears all tags.
|
|
386
|
+
* - `setTags` with `mode:'merge'` (ADD TAGS): per-key merge; set/overwrite the
|
|
387
|
+
* listed keys and keep the rest. An empty list is a no-op (it does NOT
|
|
388
|
+
* clear — that distinguishes `ADD TAGS ()` from `SET TAGS ()`).
|
|
389
|
+
* - `dropTags` (DROP TAGS): per-key deletion. Atomic — every listed key must
|
|
390
|
+
* currently be present, else a NOTFOUND error names the missing key(s) and
|
|
391
|
+
* nothing is dropped. Dropping the last key(s) leaves `tags IS NULL`. An
|
|
392
|
+
* empty list is a no-op. Key matching is verbatim (case-sensitive). DROP
|
|
393
|
+
* does NO value validation — dropping a reserved `quereus.*` key is legit.
|
|
394
|
+
* All forms are catalog-only (no module / data round-trip, no re-materialize).
|
|
395
|
+
*/
|
|
396
|
+
export type AlterObjectTagsAction = {
|
|
397
|
+
type: 'setTags';
|
|
398
|
+
mode: 'replace' | 'merge';
|
|
399
|
+
tags: Record<string, SqlValue>;
|
|
400
|
+
} | {
|
|
401
|
+
type: 'dropTags';
|
|
402
|
+
keys: string[];
|
|
403
|
+
};
|
|
404
|
+
export interface AlterViewStmt extends AstNode {
|
|
405
|
+
type: 'alterView';
|
|
406
|
+
name: IdentifierExpr;
|
|
407
|
+
action: AlterObjectTagsAction;
|
|
408
|
+
}
|
|
409
|
+
export interface AlterMaterializedViewStmt extends AstNode {
|
|
410
|
+
type: 'alterMaterializedView';
|
|
411
|
+
name: IdentifierExpr;
|
|
412
|
+
action: AlterObjectTagsAction;
|
|
413
|
+
}
|
|
414
|
+
export interface AlterIndexStmt extends AstNode {
|
|
415
|
+
type: 'alterIndex';
|
|
416
|
+
name: IdentifierExpr;
|
|
417
|
+
action: AlterObjectTagsAction;
|
|
418
|
+
}
|
|
253
419
|
export interface DropStmt extends AstNode {
|
|
254
420
|
type: 'drop';
|
|
255
|
-
objectType: 'table' | 'view' | 'index' | 'trigger' | 'assertion';
|
|
421
|
+
objectType: 'table' | 'view' | 'materializedView' | 'index' | 'trigger' | 'assertion';
|
|
256
422
|
name: IdentifierExpr;
|
|
257
423
|
ifExists: boolean;
|
|
258
424
|
}
|
|
@@ -274,32 +440,72 @@ export interface ReleaseStmt extends AstNode {
|
|
|
274
440
|
type: 'release';
|
|
275
441
|
savepoint?: string;
|
|
276
442
|
}
|
|
443
|
+
/**
|
|
444
|
+
* One assignment of a result column's `with inverse (col = expr, …)` clause: an
|
|
445
|
+
* authored write-back expression computing a FROM-source base column from the
|
|
446
|
+
* written view row (referenced via `new.<output-col>`). Inert metadata until the
|
|
447
|
+
* view write path consumes it; shape mirrors {@link ViewInsertDefault}.
|
|
448
|
+
* See docs/view-updateability.md § Authored inverses.
|
|
449
|
+
*/
|
|
450
|
+
export interface ResultColumnInverse {
|
|
451
|
+
column: string;
|
|
452
|
+
expr: Expression;
|
|
453
|
+
}
|
|
277
454
|
export type ResultColumnExpr = {
|
|
278
455
|
type: 'column';
|
|
279
456
|
expr: Expression;
|
|
280
457
|
alias?: string;
|
|
458
|
+
/** Optional `with inverse (col = expr, …)` clause — authored write-back expressions for view write-through. */
|
|
459
|
+
inverse?: ReadonlyArray<ResultColumnInverse>;
|
|
281
460
|
};
|
|
282
461
|
export type ResultColumn = {
|
|
283
462
|
type: 'all';
|
|
284
463
|
table?: string;
|
|
285
464
|
} | ResultColumnExpr;
|
|
286
|
-
export type FromClause = TableSource | JoinClause | FunctionSource | SubquerySource
|
|
465
|
+
export type FromClause = TableSource | JoinClause | FunctionSource | SubquerySource;
|
|
287
466
|
export interface TableSource extends AstNode {
|
|
288
467
|
type: 'table';
|
|
289
468
|
table: IdentifierExpr;
|
|
290
469
|
alias?: string;
|
|
291
470
|
}
|
|
471
|
+
/**
|
|
472
|
+
* Subquery source in FROM clause: `(SELECT/VALUES/INSERT/UPDATE/DELETE …) AS alias`.
|
|
473
|
+
* The body is any `QueryExpr`. When the body is a DML statement it must carry
|
|
474
|
+
* RETURNING (enforced at parse time outside top-level position). The planner
|
|
475
|
+
* dispatches on `subquery.type` to choose the read vs mutating pipeline.
|
|
476
|
+
*/
|
|
292
477
|
export interface SubquerySource extends AstNode {
|
|
293
478
|
type: 'subquerySource';
|
|
294
|
-
subquery:
|
|
479
|
+
subquery: QueryExpr;
|
|
295
480
|
alias: string;
|
|
296
481
|
columns?: string[];
|
|
297
482
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
483
|
+
/**
|
|
484
|
+
* One `exists [<side>] as <name>` existence-column clause on a join (Dataphor
|
|
485
|
+
* `include rowexists`). The flag reifies whether the non-preserved `side`
|
|
486
|
+
* matched the current row — a clean `{true,false}` boolean derived at the
|
|
487
|
+
* combinator (NOT a null-extended constant). `side` is the resolved
|
|
488
|
+
* non-preserved side (the parser resolves the elided form against the join
|
|
489
|
+
* type), so it is always explicit in the AST and round-trips unambiguously.
|
|
490
|
+
*/
|
|
491
|
+
export interface JoinExistenceColumn {
|
|
492
|
+
side: 'left' | 'right';
|
|
493
|
+
name: string;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* One `<setop> exists <branch> as <name>` membership-column clause on a compound
|
|
497
|
+
* set operation (the vertical/row analogue of {@link JoinExistenceColumn}). The
|
|
498
|
+
* flag reifies whether the result tuple is a member of the named immediate
|
|
499
|
+
* `branch` of the binary combinator — a clean `{true,false}` boolean derived AT
|
|
500
|
+
* THE COMBINATOR by a per-branch semijoin probe (NOT a stored operand column,
|
|
501
|
+
* which would re-enter the union schema and dedup). `branch` is `left` (the leg
|
|
502
|
+
* before the operator) or `right` (the operand after the clause). Read-only in
|
|
503
|
+
* this half (`set-op-membership-read`); the write half flips the column to a
|
|
504
|
+
* branch insert/delete. Rejected on `diff` (ambiguous over its two `except`s).
|
|
505
|
+
*/
|
|
506
|
+
export interface SetOpMembershipColumn {
|
|
507
|
+
branch: 'left' | 'right';
|
|
508
|
+
name: string;
|
|
303
509
|
}
|
|
304
510
|
export interface JoinClause extends AstNode {
|
|
305
511
|
type: 'join';
|
|
@@ -310,6 +516,8 @@ export interface JoinClause extends AstNode {
|
|
|
310
516
|
columns?: string[];
|
|
311
517
|
/** Right side is a LATERAL (correlated) subquery — the left's columns are visible inside. */
|
|
312
518
|
isLateral?: boolean;
|
|
519
|
+
/** `exists [<side>] as <name>` existence columns derived at the combinator (read-only here). */
|
|
520
|
+
existence?: ReadonlyArray<JoinExistenceColumn>;
|
|
313
521
|
}
|
|
314
522
|
export interface OrderByClause {
|
|
315
523
|
expr: Expression;
|
|
@@ -361,6 +569,7 @@ export interface TableConstraint extends AstNode {
|
|
|
361
569
|
}
|
|
362
570
|
export interface ForeignKeyClause {
|
|
363
571
|
table: string;
|
|
572
|
+
schema?: string;
|
|
364
573
|
columns?: string[];
|
|
365
574
|
onDelete?: ForeignKeyAction;
|
|
366
575
|
onUpdate?: ForeignKeyAction;
|
|
@@ -390,6 +599,13 @@ export type AlterTableAction = {
|
|
|
390
599
|
} | {
|
|
391
600
|
type: 'addConstraint';
|
|
392
601
|
constraint: TableConstraint;
|
|
602
|
+
} | {
|
|
603
|
+
type: 'dropConstraint';
|
|
604
|
+
name: string;
|
|
605
|
+
} | {
|
|
606
|
+
type: 'renameConstraint';
|
|
607
|
+
oldName: string;
|
|
608
|
+
newName: string;
|
|
393
609
|
} | {
|
|
394
610
|
type: 'alterPrimaryKey';
|
|
395
611
|
columns: Array<{
|
|
@@ -406,6 +622,80 @@ export type AlterTableAction = {
|
|
|
406
622
|
setNotNull?: boolean;
|
|
407
623
|
setDataType?: string;
|
|
408
624
|
setDefault?: Expression | null;
|
|
625
|
+
setCollation?: string;
|
|
626
|
+
} | {
|
|
627
|
+
/**
|
|
628
|
+
* ALTER TABLE … SET TAGS / ADD TAGS — metadata-tag mutation on the table
|
|
629
|
+
* itself, one of its columns, or one of its named table-level constraints.
|
|
630
|
+
* `mode` selects the semantics:
|
|
631
|
+
* - `'replace'` (SET TAGS): whole-set replacement; `tags` is the complete
|
|
632
|
+
* desired tag set and an empty record clears all tags.
|
|
633
|
+
* - `'merge'` (ADD TAGS): per-key merge; set/overwrite the listed keys and
|
|
634
|
+
* keep the rest. An empty list is a no-op (it does NOT clear — that
|
|
635
|
+
* distinguishes `ADD TAGS ()` from `SET TAGS ()`).
|
|
636
|
+
* Tags are catalog-only metadata (no stored-row / physical effect), so this
|
|
637
|
+
* never round-trips through `module.alterTable`.
|
|
638
|
+
*/
|
|
639
|
+
type: 'setTags';
|
|
640
|
+
target: {
|
|
641
|
+
kind: 'table';
|
|
642
|
+
} | {
|
|
643
|
+
kind: 'column';
|
|
644
|
+
columnName: string;
|
|
645
|
+
} | {
|
|
646
|
+
kind: 'constraint';
|
|
647
|
+
constraintName: string;
|
|
648
|
+
};
|
|
649
|
+
mode: 'replace' | 'merge';
|
|
650
|
+
tags: Record<string, SqlValue>;
|
|
651
|
+
} | {
|
|
652
|
+
/**
|
|
653
|
+
* ALTER TABLE … DROP TAGS — per-key deletion of the metadata tags on the
|
|
654
|
+
* table itself, one of its columns, or one of its named table-level
|
|
655
|
+
* constraints. `keys` is the bare list of tag keys to remove (no `= value`).
|
|
656
|
+
* Atomic: every listed key must currently be present, else a NOTFOUND error
|
|
657
|
+
* names the missing key(s) and nothing is dropped. Dropping the last
|
|
658
|
+
* remaining key(s) leaves `tags IS NULL`. An empty list is a no-op. Key
|
|
659
|
+
* matching is verbatim (case-sensitive). Catalog-only like SET/ADD TAGS, with
|
|
660
|
+
* no value validation — dropping a reserved `quereus.*` key is legitimate.
|
|
661
|
+
*/
|
|
662
|
+
type: 'dropTags';
|
|
663
|
+
target: {
|
|
664
|
+
kind: 'table';
|
|
665
|
+
} | {
|
|
666
|
+
kind: 'column';
|
|
667
|
+
columnName: string;
|
|
668
|
+
} | {
|
|
669
|
+
kind: 'constraint';
|
|
670
|
+
constraintName: string;
|
|
671
|
+
};
|
|
672
|
+
keys: string[];
|
|
673
|
+
} | {
|
|
674
|
+
/**
|
|
675
|
+
* ALTER TABLE … SET MAINTAINED [(cols)] AS <body> — attach (or, on an
|
|
676
|
+
* already-maintained table, atomically replace) a derivation. Any
|
|
677
|
+
* omitted-insert defaults ride inside the body select's trailing
|
|
678
|
+
* `with defaults (…)` clause ({@link SelectStmt.defaults}). The optional
|
|
679
|
+
* `(cols)` is the explicit output-column rename list (the differ's lossless
|
|
680
|
+
* encoding of an MV-sugar `(a, c)` rename):
|
|
681
|
+
* present ⇒ the body outputs are renamed positionally to it, the list is
|
|
682
|
+
* recorded as `derivation.columns`, and a same-arity name drift reshapes
|
|
683
|
+
* (renames) the backing in place; absent ⇒ the implicit form (the body's
|
|
684
|
+
* natural names, may reshape the backing to follow the body). Attach
|
|
685
|
+
* reconciles the table's current contents against the derived contents by
|
|
686
|
+
* keyed diff (derived content wins). There is deliberately no `using`
|
|
687
|
+
* clause — the module is the table's identity and never changes via attach.
|
|
688
|
+
*/
|
|
689
|
+
type: 'setMaintained';
|
|
690
|
+
columns?: ReadonlyArray<string>;
|
|
691
|
+
select: QueryExpr;
|
|
692
|
+
} | {
|
|
693
|
+
/**
|
|
694
|
+
* ALTER TABLE … DROP MAINTAINED — detach the derivation. Nothing physical
|
|
695
|
+
* changes: the table keeps its rows, row-time maintenance stops, and the
|
|
696
|
+
* table becomes an ordinary user-writable table.
|
|
697
|
+
*/
|
|
698
|
+
type: 'dropMaintained';
|
|
409
699
|
};
|
|
410
700
|
export interface PragmaStmt extends AstNode {
|
|
411
701
|
type: 'pragma';
|
|
@@ -432,7 +722,8 @@ export interface CommonTableExpr extends AstNode {
|
|
|
432
722
|
type: 'commonTableExpr';
|
|
433
723
|
name: string;
|
|
434
724
|
columns?: string[];
|
|
435
|
-
|
|
725
|
+
/** CTE body — any relation-producing form. DML bodies must carry RETURNING. */
|
|
726
|
+
query: QueryExpr;
|
|
436
727
|
materializationHint?: 'materialized' | 'not_materialized';
|
|
437
728
|
}
|
|
438
729
|
/**
|
|
@@ -454,7 +745,7 @@ export interface CaseExpr extends AstNode {
|
|
|
454
745
|
whenThenClauses: CaseExprWhenThenClause[];
|
|
455
746
|
elseExpr?: Expression;
|
|
456
747
|
}
|
|
457
|
-
export type Statement = SelectStmt | InsertStmt | UpdateStmt | DeleteStmt | ValuesStmt | CreateTableStmt | CreateIndexStmt | CreateViewStmt | CreateAssertionStmt | DropStmt | AlterTableStmt | BeginStmt | CommitStmt | RollbackStmt | SavepointStmt | ReleaseStmt | PragmaStmt | AnalyzeStmt | DeclareSchemaStmt | DiffSchemaStmt | ApplySchemaStmt | ExplainSchemaStmt;
|
|
748
|
+
export type Statement = SelectStmt | InsertStmt | UpdateStmt | DeleteStmt | ValuesStmt | CreateTableStmt | CreateIndexStmt | CreateViewStmt | CreateMaterializedViewStmt | RefreshMaterializedViewStmt | CreateAssertionStmt | DropStmt | AlterTableStmt | AlterViewStmt | AlterMaterializedViewStmt | AlterIndexStmt | BeginStmt | CommitStmt | RollbackStmt | SavepointStmt | ReleaseStmt | PragmaStmt | AnalyzeStmt | DeclareSchemaStmt | DeclareLensStmt | DiffSchemaStmt | ApplySchemaStmt | ExplainSchemaStmt;
|
|
458
749
|
export interface DeclareSchemaStmt extends AstNode {
|
|
459
750
|
type: 'declareSchema';
|
|
460
751
|
schemaName?: string;
|
|
@@ -464,8 +755,16 @@ export interface DeclareSchemaStmt extends AstNode {
|
|
|
464
755
|
defaultVtabArgs?: string;
|
|
465
756
|
};
|
|
466
757
|
items: readonly DeclareItem[];
|
|
758
|
+
/**
|
|
759
|
+
* `declare logical schema X { ... }` — a design-only schema (`Schema.kind`
|
|
760
|
+
* becomes `'logical'` at apply). Logical tables declare columns + logical
|
|
761
|
+
* constraints only; module association / indexes / materialized views are
|
|
762
|
+
* rejected at apply. See `docs/lens.md` § Schema Kinds. Omitted/false for an
|
|
763
|
+
* ordinary physical schema.
|
|
764
|
+
*/
|
|
765
|
+
isLogical?: boolean;
|
|
467
766
|
}
|
|
468
|
-
export type DeclareItem = DeclaredTable | DeclaredIndex | DeclaredView | DeclaredSeed | DeclaredAssertion | DeclareIgnoredItem;
|
|
767
|
+
export type DeclareItem = DeclaredTable | DeclaredIndex | DeclaredView | DeclaredMaterializedView | DeclaredSeed | DeclaredAssertion | DeclareIgnoredItem;
|
|
469
768
|
export interface DeclaredTable extends AstNode {
|
|
470
769
|
type: 'declaredTable';
|
|
471
770
|
tableStmt: CreateTableStmt;
|
|
@@ -478,6 +777,10 @@ export interface DeclaredView extends AstNode {
|
|
|
478
777
|
type: 'declaredView';
|
|
479
778
|
viewStmt: CreateViewStmt;
|
|
480
779
|
}
|
|
780
|
+
export interface DeclaredMaterializedView extends AstNode {
|
|
781
|
+
type: 'declaredMaterializedView';
|
|
782
|
+
viewStmt: CreateMaterializedViewStmt;
|
|
783
|
+
}
|
|
481
784
|
export interface DeclaredSeed extends AstNode {
|
|
482
785
|
type: 'declaredSeed';
|
|
483
786
|
tableName: string;
|
|
@@ -515,4 +818,33 @@ export interface ExplainSchemaStmt extends AstNode {
|
|
|
515
818
|
schemaName?: string;
|
|
516
819
|
version?: string;
|
|
517
820
|
}
|
|
821
|
+
/**
|
|
822
|
+
* `declare lens for X over Y { view T as <select> ... }` — the
|
|
823
|
+
* lens authoring surface (sibling of `declare schema`, NOT a variant of it).
|
|
824
|
+
*
|
|
825
|
+
* Binds a logical schema (`for X`) to a basis schema (`over Y`) and supplies
|
|
826
|
+
* per-logical-table sparse overrides. The basis binding lives on the lens, not
|
|
827
|
+
* the logical schema, which is what keeps the logical design embodiment-free
|
|
828
|
+
* (one logical schema can target different bases across deployments). See
|
|
829
|
+
* `docs/lens.md` § Sparse Overrides / Syntax.
|
|
830
|
+
*/
|
|
831
|
+
export interface DeclareLensStmt extends AstNode {
|
|
832
|
+
type: 'declareLens';
|
|
833
|
+
/** The logical schema this lens binds (`for X`). */
|
|
834
|
+
logicalSchema: string;
|
|
835
|
+
/** The basis schema the lens aligns over (`over Y`) — the explicit basis. */
|
|
836
|
+
basisSchema: string;
|
|
837
|
+
/** Per-logical-table sparse overrides. */
|
|
838
|
+
overrides: readonly LensOverride[];
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* One `view T as <select>` entry inside a {@link DeclareLensStmt}.
|
|
842
|
+
* `select` is the authored override body.
|
|
843
|
+
*/
|
|
844
|
+
export interface LensOverride {
|
|
845
|
+
/** The logical table this override targets. */
|
|
846
|
+
table: string;
|
|
847
|
+
/** The authored override body (a relation-producing SELECT). */
|
|
848
|
+
select: SelectStmt;
|
|
849
|
+
}
|
|
518
850
|
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/parser/ast.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/parser/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './ast.js';
|
|
2
2
|
export * from './parser.js';
|
|
3
3
|
export * from './lexer.js';
|
|
4
|
-
import type { Statement, SelectStmt, InsertStmt } from './ast.js';
|
|
4
|
+
import type { Statement, SelectStmt, InsertStmt, Expression } from './ast.js';
|
|
5
5
|
/**
|
|
6
6
|
* Parse a single SQL statement into an AST node.
|
|
7
7
|
*
|
|
@@ -26,6 +26,19 @@ export declare function parseAll(sql: string): Statement[];
|
|
|
26
26
|
* @throws ParseError if the SQL is invalid or not a SELECT statement
|
|
27
27
|
*/
|
|
28
28
|
export declare function parseSelect(sql: string): SelectStmt;
|
|
29
|
+
/**
|
|
30
|
+
* Parse a single scalar SQL expression into an {@link Expression} AST.
|
|
31
|
+
*
|
|
32
|
+
* Wraps the expression in a `select <expr>` and extracts the projected column's
|
|
33
|
+
* expression — the established pattern for one-off expression parsing (see the
|
|
34
|
+
* parser/emit specs). Used to lower synthesized SQL fragments (e.g. the
|
|
35
|
+
* view-mutation presence predicates) into AST nodes.
|
|
36
|
+
*
|
|
37
|
+
* @param exprSql A SQL scalar expression (e.g. `epoch_ms('now')`, `42`)
|
|
38
|
+
* @returns The parsed expression AST
|
|
39
|
+
* @throws ParseError if the text is not a single parseable expression
|
|
40
|
+
*/
|
|
41
|
+
export declare function parseExpressionString(exprSql: string): Expression;
|
|
29
42
|
/**
|
|
30
43
|
* Parse a SQL INSERT statement
|
|
31
44
|
*
|