@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraint-builder.js","sourceRoot":"","sources":["../../../src/schema/constraint-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,94 @@
|
|
|
17
17
|
* - per-column NULL / NOT NULL annotation (db.options.default_column_nullability)
|
|
18
18
|
*/
|
|
19
19
|
import type { Database } from '../core/database.js';
|
|
20
|
-
import type { TableSchema, IndexSchema } from './table.js';
|
|
20
|
+
import type { TableSchema, IndexSchema, RowConstraintSchema, UniqueConstraintSchema, ForeignKeyConstraintSchema, NamedConstraintClass } from './table.js';
|
|
21
|
+
import type { ViewSchema } from './view.js';
|
|
22
|
+
import type { MaintainedTableSchema } from './derivation.js';
|
|
23
|
+
import type { SqlValue } from '../common/types.js';
|
|
21
24
|
/** Generate canonical DDL for a table from its schema. */
|
|
22
25
|
export declare function generateTableDDL(tableSchema: TableSchema, db?: Database): string;
|
|
26
|
+
/**
|
|
27
|
+
* Generate canonical DDL for a **maintained table** (a `TableSchema` carrying a
|
|
28
|
+
* {@link import('./derivation.js').TableDerivation}) — the table form:
|
|
29
|
+
*
|
|
30
|
+
* `create table <schema>.<name> (<declared shape>) [using <module>(args)]
|
|
31
|
+
* maintained as <body … [with defaults (…)]> [with tags (…)]`
|
|
32
|
+
*
|
|
33
|
+
* This is the one canonical comparison/persistence surface for every maintained
|
|
34
|
+
* table regardless of authoring form (`create table … maintained as` or the
|
|
35
|
+
* `create materialized view` sugar). The declared column list is the live
|
|
36
|
+
* backing shape (the frozen basis), so a re-import verifies the body still
|
|
37
|
+
* derives exactly that shape. The `using` clause is re-derived from the table's
|
|
38
|
+
* own `vtabModuleName`/`vtabArgs` through `normalizeBackingModule`, so the
|
|
39
|
+
* memory default stays clause-free while a non-default host module round-trips.
|
|
40
|
+
* Current `tags` are read live, so a tag-only swap round-trips. Always emitted
|
|
41
|
+
* fully-qualified / fully-annotated (no session elision) — safe to persist and
|
|
42
|
+
* re-parse in any session.
|
|
43
|
+
*/
|
|
44
|
+
export declare function generateMaintainedTableDDL(table: MaintainedTableSchema): string;
|
|
23
45
|
/** Generate canonical DDL for an index from its schema. */
|
|
24
46
|
export declare function generateIndexDDL(indexSchema: IndexSchema, tableSchema: TableSchema, db?: Database): string;
|
|
47
|
+
/**
|
|
48
|
+
* Generate canonical DDL for a (non-materialized) view from its schema.
|
|
49
|
+
*
|
|
50
|
+
* Lifts the stored {@link ViewSchema} back into the equivalent
|
|
51
|
+
* {@link AST.CreateViewStmt} and renders it via the shared `createViewToString`
|
|
52
|
+
* emitter (the same schema→AST-lift strategy {@link generateTableDDL} uses for
|
|
53
|
+
* constraints), so this persistence path and the declarative AST→SQL path cannot
|
|
54
|
+
* drift. The view name is fully qualified (`schema.name`) so a re-parse registers
|
|
55
|
+
* into the correct schema regardless of the session's current schema, and the
|
|
56
|
+
* **current** `tags` are read live — so a `view_modified` (ALTER VIEW … SET TAGS,
|
|
57
|
+
* which swaps the in-memory schema without rewriting the stored `sql`) round-trips.
|
|
58
|
+
* The body is already an AST (`selectAst`), so this is a thin, drift-free wrapper.
|
|
59
|
+
*/
|
|
60
|
+
export declare function generateViewDDL(view: ViewSchema): string;
|
|
61
|
+
/**
|
|
62
|
+
* Canonical `alter index "<schema>"."<name>" set tags (...)` statement applying
|
|
63
|
+
* `tags` as a whole-set replacement — the vehicle a store-backed catalog bundle
|
|
64
|
+
* uses to persist an *exposed implicit index*'s user tags
|
|
65
|
+
* (`UniqueConstraintSchema.exposedIndexTags`), which have no `CREATE INDEX` line
|
|
66
|
+
* to ride (the index is never materialized in store mode). Lifts the equivalent
|
|
67
|
+
* {@link AST.AlterIndexStmt} and renders it via the shared `alterIndexToString`
|
|
68
|
+
* emitter, so the persisted form re-parses to exactly the statement a live
|
|
69
|
+
* `ALTER INDEX … SET TAGS` produces and the two paths cannot drift. Always emits
|
|
70
|
+
* the replace form (canonical whole-set, mirroring the declarative differ's
|
|
71
|
+
* convention); callers skip empty/absent tag records rather than emitting a
|
|
72
|
+
* clearing statement. The emitter renders lowercase (`alter index …`) while the
|
|
73
|
+
* CREATE lines are uppercase — purely cosmetic, both re-parse.
|
|
74
|
+
*/
|
|
75
|
+
export declare function generateIndexTagsDDL(schemaName: string | undefined, indexName: string, tags: Readonly<Record<string, SqlValue>>): string;
|
|
76
|
+
/**
|
|
77
|
+
* Canonical **body** string for a stored index (UNIQUE-ness, column
|
|
78
|
+
* set/order/direction, partial predicate) — the actual-catalog comparison key the
|
|
79
|
+
* declarative differ diffs against the declared-AST body (rendered by the same
|
|
80
|
+
* {@link createIndexBodyToCanonicalString}) to detect a name-matched index whose
|
|
81
|
+
* body changed (→ drop+recreate). The stored {@link IndexSchema} is first lifted
|
|
82
|
+
* into the equivalent minimal {@link AST.CreateIndexStmt} (column indices → names,
|
|
83
|
+
* `unique`, `predicate` → `where`), so both sides share one rendering path and
|
|
84
|
+
* stay byte-comparable — exactly as {@link constraintToCanonicalDDL} does via
|
|
85
|
+
* `schemaConstraintToTableConstraint`. Each lifted column carries its resolved
|
|
86
|
+
* effective collation (stored `IndexColumnSchema.collation`, falling back to the
|
|
87
|
+
* table column's collation; normalized, default BINARY) so the shared renderer
|
|
88
|
+
* elides BINARY and emits a non-BINARY collation explicitly — matching the
|
|
89
|
+
* declared side's pre-resolution (see `createIndexBodyToCanonicalString`).
|
|
90
|
+
* `index` / `table` are placeholder identifiers the body render never reads (it
|
|
91
|
+
* excludes the name and the `on <table>` reference).
|
|
92
|
+
*/
|
|
93
|
+
export declare function indexToCanonicalDDL(indexSchema: IndexSchema, tableSchema: TableSchema): string;
|
|
94
|
+
/**
|
|
95
|
+
* Canonical DDL **body fragment** for a stored named constraint (CHECK / UNIQUE /
|
|
96
|
+
* FOREIGN KEY), excluding its `constraint <name>` prefix and `with tags (...)`
|
|
97
|
+
* suffix. This is the actual-catalog comparison key the declarative differ
|
|
98
|
+
* diffs against the declared-AST fragment (rendered by the same
|
|
99
|
+
* {@link constraintBodyToCanonicalString}) to detect a constraint whose name is
|
|
100
|
+
* unchanged but whose body changed. The schema constraint is first lifted back
|
|
101
|
+
* into the equivalent {@link AST.TableConstraint} (column indices → names,
|
|
102
|
+
* operation mask → `RowOp[]`, `defaultConflict` → `onConflict`, FK actions and
|
|
103
|
+
* deferred resolution mapped over), so both sides share one rendering path and
|
|
104
|
+
* stay byte-comparable. The child schema (`tableSchema.schemaName`) is threaded so
|
|
105
|
+
* the FK parent-schema qualifier folds symmetrically with the declared side — an
|
|
106
|
+
* own-schema qualifier elides, a genuine cross-schema parent survives (the lift
|
|
107
|
+
* already elides a parent == child qualifier, so this pass is idempotent here).
|
|
108
|
+
*/
|
|
109
|
+
export declare function constraintToCanonicalDDL(kind: NamedConstraintClass, constraint: RowConstraintSchema | UniqueConstraintSchema | ForeignKeyConstraintSchema, tableSchema: TableSchema): string;
|
|
25
110
|
//# sourceMappingURL=ddl-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl-generator.d.ts","sourceRoot":"","sources":["../../../src/schema/ddl-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ddl-generator.d.ts","sourceRoot":"","sources":["../../../src/schema/ddl-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG1J,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAuBnD,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAKhF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAkB/E;AAqED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAC/B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,EAAE,CAAC,EAAE,QAAQ,GACX,MAAM,CAiCR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAWxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,GACtC,MAAM,CAOR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAe9F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,mBAAmB,GAAG,sBAAsB,GAAG,0BAA0B,EACrF,WAAW,EAAE,WAAW,GACtB,MAAM,CAER"}
|
|
@@ -16,11 +16,23 @@
|
|
|
16
16
|
* - USING module / args (db.options.default_vtab_module / default_vtab_args)
|
|
17
17
|
* - per-column NULL / NOT NULL annotation (db.options.default_column_nullability)
|
|
18
18
|
*/
|
|
19
|
-
import {
|
|
19
|
+
import { maskToOps, isSynthesizedAllColumnsKey } from './table.js';
|
|
20
|
+
import { normalizeBackingModule } from './view.js';
|
|
21
|
+
import { quoteIdentifier, expressionToString, constraintBodyToCanonicalString, createIndexBodyToCanonicalString, tableConstraintsToString, createViewToString, maintainedClauseToString, alterIndexToString } from '../emit/ast-stringify.js';
|
|
22
|
+
import { normalizeCollationName } from '../util/comparison.js';
|
|
20
23
|
/**
|
|
21
24
|
* Unconditionally double-quote an identifier, escaping internal quotes.
|
|
22
|
-
*
|
|
23
|
-
*
|
|
25
|
+
*
|
|
26
|
+
* This generator deliberately uses two quoting policies:
|
|
27
|
+
* - `quoteName` (here, unconditional) for *structural* names — table, column,
|
|
28
|
+
* schema, index, and primary-key columns — so they always emit quoted.
|
|
29
|
+
* - `quoteIdentifier` (conditional; from `../emit/ast-stringify.js`) for
|
|
30
|
+
* *operand* identifiers — collation name, USING module name, vtab-arg key,
|
|
31
|
+
* and tag key — which stay bare unless they are reserved words / non-bare-
|
|
32
|
+
* valid. This keeps the common forms readable and re-parseable
|
|
33
|
+
* (`USING store`, `COLLATE NOCASE`) while still quoting a reserved-word name
|
|
34
|
+
* (`USING "select"`). Both forms re-parse; the split matches the canonical
|
|
35
|
+
* DDL convention pinned by the quereus-store ddl-generator spec.
|
|
24
36
|
*/
|
|
25
37
|
function quoteName(name) {
|
|
26
38
|
return `"${name.replace(/"/g, '""')}"`;
|
|
@@ -28,31 +40,98 @@ function quoteName(name) {
|
|
|
28
40
|
/** Generate canonical DDL for a table from its schema. */
|
|
29
41
|
export function generateTableDDL(tableSchema, db) {
|
|
30
42
|
const ctx = resolveEmitContext(db);
|
|
43
|
+
// USING clause: emit when vtabModuleName differs from the session default,
|
|
44
|
+
// or always when no db context is provided.
|
|
45
|
+
return generateTableDDLInternal(tableSchema, ctx, formatUsingClause(tableSchema, ctx), null);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generate canonical DDL for a **maintained table** (a `TableSchema` carrying a
|
|
49
|
+
* {@link import('./derivation.js').TableDerivation}) — the table form:
|
|
50
|
+
*
|
|
51
|
+
* `create table <schema>.<name> (<declared shape>) [using <module>(args)]
|
|
52
|
+
* maintained as <body … [with defaults (…)]> [with tags (…)]`
|
|
53
|
+
*
|
|
54
|
+
* This is the one canonical comparison/persistence surface for every maintained
|
|
55
|
+
* table regardless of authoring form (`create table … maintained as` or the
|
|
56
|
+
* `create materialized view` sugar). The declared column list is the live
|
|
57
|
+
* backing shape (the frozen basis), so a re-import verifies the body still
|
|
58
|
+
* derives exactly that shape. The `using` clause is re-derived from the table's
|
|
59
|
+
* own `vtabModuleName`/`vtabArgs` through `normalizeBackingModule`, so the
|
|
60
|
+
* memory default stays clause-free while a non-default host module round-trips.
|
|
61
|
+
* Current `tags` are read live, so a tag-only swap round-trips. Always emitted
|
|
62
|
+
* fully-qualified / fully-annotated (no session elision) — safe to persist and
|
|
63
|
+
* re-parse in any session.
|
|
64
|
+
*/
|
|
65
|
+
export function generateMaintainedTableDDL(table) {
|
|
66
|
+
const ctx = resolveEmitContext(undefined);
|
|
67
|
+
const backing = normalizeBackingModule(table.vtabModuleName, table.vtabArgs);
|
|
68
|
+
let usingClause = null;
|
|
69
|
+
if (backing.storedModuleName) {
|
|
70
|
+
usingClause = `USING ${quoteIdentifier(backing.storedModuleName)}`;
|
|
71
|
+
const args = backing.storedModuleArgs ?? {};
|
|
72
|
+
if (Object.keys(args).length > 0)
|
|
73
|
+
usingClause += ` (${formatVtabArgs(args)})`;
|
|
74
|
+
}
|
|
75
|
+
const maintained = maintainedClauseToString({
|
|
76
|
+
// Emit the rename list only when the derivation carries one (an explicit
|
|
77
|
+
// MV-sugar rename / an attached backing). Its absence is the lossless signal
|
|
78
|
+
// that the body is implicit and must reshape to follow its source on reopen.
|
|
79
|
+
// Any `with defaults (…)` rides inside the body string (selectAst).
|
|
80
|
+
columns: table.derivation.columns,
|
|
81
|
+
select: table.derivation.selectAst,
|
|
82
|
+
});
|
|
83
|
+
return generateTableDDLInternal(table, ctx, usingClause, maintained);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Shared CREATE TABLE body emitter. `usingClause` is pre-resolved by the caller
|
|
87
|
+
* (session-elided for {@link generateTableDDL}, backing-normalized for
|
|
88
|
+
* {@link generateMaintainedTableDDL}); `maintainedClause` is the rendered
|
|
89
|
+
* `maintained as …` clause or null. Clause order matches the parser grammar:
|
|
90
|
+
* `(columns) → using → maintained as … [insert defaults] → with tags`.
|
|
91
|
+
*/
|
|
92
|
+
function generateTableDDLInternal(tableSchema, ctx, usingClause, maintainedClause) {
|
|
31
93
|
const parts = ['CREATE'];
|
|
32
|
-
if (tableSchema.isTemporary)
|
|
33
|
-
parts.push('TEMP');
|
|
34
94
|
parts.push('TABLE', qualifiedName(tableSchema.schemaName, tableSchema.name, ctx.currentSchemaName));
|
|
95
|
+
// A synthesized all-columns key (the no-PK fallback) must NOT round-trip as a
|
|
96
|
+
// named PRIMARY KEY: re-parsing one would force its columns NOT NULL, dropping
|
|
97
|
+
// a nullable declaration. Omit the clause entirely so the re-parse re-synthesizes
|
|
98
|
+
// the key and preserves nullability (see isSynthesizedAllColumnsKey).
|
|
99
|
+
const synthesizedKey = isSynthesizedAllColumnsKey(tableSchema);
|
|
35
100
|
const columnDefs = [];
|
|
36
101
|
for (const col of tableSchema.columns) {
|
|
37
|
-
columnDefs.push(formatColumnDef(col, tableSchema, ctx.defaultNotNull));
|
|
102
|
+
columnDefs.push(formatColumnDef(col, tableSchema, ctx.defaultNotNull, synthesizedKey));
|
|
38
103
|
}
|
|
39
104
|
// Table-level PRIMARY KEY: empty () for singleton, (a, b, ...) for composite.
|
|
40
|
-
// Single-column PK is emitted inline on the column above.
|
|
105
|
+
// Single-column PK is emitted inline on the column above. A synthesized
|
|
106
|
+
// all-columns key emits no clause at all (neither here nor inline). Per-column
|
|
107
|
+
// DESC is emitted so a descending key component (e.g. an ordering-seeded
|
|
108
|
+
// maintained-table backing key) survives the round-trip instead of silently
|
|
109
|
+
// re-keying ascending on re-parse.
|
|
41
110
|
if (tableSchema.primaryKeyDefinition.length === 0) {
|
|
42
111
|
columnDefs.push('PRIMARY KEY ()');
|
|
43
112
|
}
|
|
44
|
-
else if (tableSchema.primaryKeyDefinition.length > 1) {
|
|
113
|
+
else if (!synthesizedKey && tableSchema.primaryKeyDefinition.length > 1) {
|
|
45
114
|
const pkCols = tableSchema.primaryKeyDefinition
|
|
46
|
-
.map(pk => quoteName(tableSchema.columns[pk.index].name))
|
|
115
|
+
.map(pk => quoteName(tableSchema.columns[pk.index].name) + (pk.desc ? ' DESC' : ''))
|
|
47
116
|
.join(', ');
|
|
48
117
|
columnDefs.push(`PRIMARY KEY (${pkCols})`);
|
|
49
118
|
}
|
|
119
|
+
// Table-level CHECK / UNIQUE / FOREIGN KEY constraints. Emitting these is what
|
|
120
|
+
// lets store-backed tables retain (and keep enforcing) their constraints across
|
|
121
|
+
// a closeAll() + reopen + rehydrateCatalog, which re-parses this string. Reuse
|
|
122
|
+
// the AST emitter (tableConstraintsToString) over the schema→AST lift so this
|
|
123
|
+
// persistence path and the declarative AST→SQL path render constraints
|
|
124
|
+
// identically and cannot drift. Emission is independent of the session defaults
|
|
125
|
+
// (constraints have no default-elision), so the no-db and db-context branches
|
|
126
|
+
// agree byte-for-byte.
|
|
127
|
+
const constraintClause = emitTableConstraints(tableSchema);
|
|
128
|
+
if (constraintClause)
|
|
129
|
+
columnDefs.push(constraintClause);
|
|
50
130
|
parts.push(`(${columnDefs.join(', ')})`);
|
|
51
|
-
// USING clause: emit when vtabModuleName differs from the session default,
|
|
52
|
-
// or always when no db context is provided.
|
|
53
|
-
const usingClause = formatUsingClause(tableSchema, ctx);
|
|
54
131
|
if (usingClause)
|
|
55
132
|
parts.push(usingClause);
|
|
133
|
+
if (maintainedClause)
|
|
134
|
+
parts.push(maintainedClause);
|
|
56
135
|
// Table-level WITH TAGS
|
|
57
136
|
if (hasTags(tableSchema.tags)) {
|
|
58
137
|
parts.push(formatTagsClause(tableSchema.tags));
|
|
@@ -62,24 +141,227 @@ export function generateTableDDL(tableSchema, db) {
|
|
|
62
141
|
/** Generate canonical DDL for an index from its schema. */
|
|
63
142
|
export function generateIndexDDL(indexSchema, tableSchema, db) {
|
|
64
143
|
const ctx = resolveEmitContext(db);
|
|
65
|
-
|
|
144
|
+
// Clause order mirrors the parser grammar and the AST emitter
|
|
145
|
+
// `createIndexToString` (ast-stringify.ts): CREATE [UNIQUE] INDEX <name> ON
|
|
146
|
+
// <table> (<cols>) [WHERE <predicate>] [WITH TAGS (...)]. Keeping the order
|
|
147
|
+
// aligned means a UNIQUE / partial index re-parses to the same shape, so the
|
|
148
|
+
// declarative differ (which round-trips the actual catalog DDL) never churns.
|
|
149
|
+
const parts = ['CREATE'];
|
|
150
|
+
if (indexSchema.unique)
|
|
151
|
+
parts.push('UNIQUE');
|
|
152
|
+
parts.push('INDEX');
|
|
66
153
|
parts.push(quoteName(indexSchema.name));
|
|
67
154
|
parts.push('ON');
|
|
68
155
|
parts.push(qualifiedName(tableSchema.schemaName, tableSchema.name, ctx.currentSchemaName));
|
|
69
156
|
const cols = indexSchema.columns.map(col => {
|
|
70
157
|
let colStr = quoteName(tableSchema.columns[col.index].name);
|
|
71
158
|
if (col.collation)
|
|
72
|
-
colStr += ` COLLATE ${col.collation}`;
|
|
159
|
+
colStr += ` COLLATE ${quoteIdentifier(col.collation)}`;
|
|
73
160
|
if (col.desc)
|
|
74
161
|
colStr += ' DESC';
|
|
75
162
|
return colStr;
|
|
76
163
|
});
|
|
77
164
|
parts.push(`(${cols.join(', ')})`);
|
|
165
|
+
// Partial-index predicate. Reuse expressionToString (the same emitter used for
|
|
166
|
+
// DEFAULT / CHECK) so the WHERE clause re-parses to the same AST on import.
|
|
167
|
+
if (indexSchema.predicate) {
|
|
168
|
+
parts.push(`WHERE ${expressionToString(indexSchema.predicate)}`);
|
|
169
|
+
}
|
|
78
170
|
if (hasTags(indexSchema.tags)) {
|
|
79
171
|
parts.push(formatTagsClause(indexSchema.tags));
|
|
80
172
|
}
|
|
81
173
|
return parts.join(' ');
|
|
82
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Generate canonical DDL for a (non-materialized) view from its schema.
|
|
177
|
+
*
|
|
178
|
+
* Lifts the stored {@link ViewSchema} back into the equivalent
|
|
179
|
+
* {@link AST.CreateViewStmt} and renders it via the shared `createViewToString`
|
|
180
|
+
* emitter (the same schema→AST-lift strategy {@link generateTableDDL} uses for
|
|
181
|
+
* constraints), so this persistence path and the declarative AST→SQL path cannot
|
|
182
|
+
* drift. The view name is fully qualified (`schema.name`) so a re-parse registers
|
|
183
|
+
* into the correct schema regardless of the session's current schema, and the
|
|
184
|
+
* **current** `tags` are read live — so a `view_modified` (ALTER VIEW … SET TAGS,
|
|
185
|
+
* which swaps the in-memory schema without rewriting the stored `sql`) round-trips.
|
|
186
|
+
* The body is already an AST (`selectAst`), so this is a thin, drift-free wrapper.
|
|
187
|
+
*/
|
|
188
|
+
export function generateViewDDL(view) {
|
|
189
|
+
const stmt = {
|
|
190
|
+
type: 'createView',
|
|
191
|
+
view: { type: 'identifier', name: view.name, schema: view.schemaName },
|
|
192
|
+
ifNotExists: false,
|
|
193
|
+
columns: view.columns ? [...view.columns] : undefined,
|
|
194
|
+
// Any `with defaults (…)` rides inside the body string (selectAst).
|
|
195
|
+
select: view.selectAst,
|
|
196
|
+
tags: view.tags ? { ...view.tags } : undefined,
|
|
197
|
+
};
|
|
198
|
+
return createViewToString(stmt);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Canonical `alter index "<schema>"."<name>" set tags (...)` statement applying
|
|
202
|
+
* `tags` as a whole-set replacement — the vehicle a store-backed catalog bundle
|
|
203
|
+
* uses to persist an *exposed implicit index*'s user tags
|
|
204
|
+
* (`UniqueConstraintSchema.exposedIndexTags`), which have no `CREATE INDEX` line
|
|
205
|
+
* to ride (the index is never materialized in store mode). Lifts the equivalent
|
|
206
|
+
* {@link AST.AlterIndexStmt} and renders it via the shared `alterIndexToString`
|
|
207
|
+
* emitter, so the persisted form re-parses to exactly the statement a live
|
|
208
|
+
* `ALTER INDEX … SET TAGS` produces and the two paths cannot drift. Always emits
|
|
209
|
+
* the replace form (canonical whole-set, mirroring the declarative differ's
|
|
210
|
+
* convention); callers skip empty/absent tag records rather than emitting a
|
|
211
|
+
* clearing statement. The emitter renders lowercase (`alter index …`) while the
|
|
212
|
+
* CREATE lines are uppercase — purely cosmetic, both re-parse.
|
|
213
|
+
*/
|
|
214
|
+
export function generateIndexTagsDDL(schemaName, indexName, tags) {
|
|
215
|
+
const stmt = {
|
|
216
|
+
type: 'alterIndex',
|
|
217
|
+
name: { type: 'identifier', name: indexName, schema: schemaName },
|
|
218
|
+
action: { type: 'setTags', mode: 'replace', tags: { ...tags } },
|
|
219
|
+
};
|
|
220
|
+
return alterIndexToString(stmt);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Canonical **body** string for a stored index (UNIQUE-ness, column
|
|
224
|
+
* set/order/direction, partial predicate) — the actual-catalog comparison key the
|
|
225
|
+
* declarative differ diffs against the declared-AST body (rendered by the same
|
|
226
|
+
* {@link createIndexBodyToCanonicalString}) to detect a name-matched index whose
|
|
227
|
+
* body changed (→ drop+recreate). The stored {@link IndexSchema} is first lifted
|
|
228
|
+
* into the equivalent minimal {@link AST.CreateIndexStmt} (column indices → names,
|
|
229
|
+
* `unique`, `predicate` → `where`), so both sides share one rendering path and
|
|
230
|
+
* stay byte-comparable — exactly as {@link constraintToCanonicalDDL} does via
|
|
231
|
+
* `schemaConstraintToTableConstraint`. Each lifted column carries its resolved
|
|
232
|
+
* effective collation (stored `IndexColumnSchema.collation`, falling back to the
|
|
233
|
+
* table column's collation; normalized, default BINARY) so the shared renderer
|
|
234
|
+
* elides BINARY and emits a non-BINARY collation explicitly — matching the
|
|
235
|
+
* declared side's pre-resolution (see `createIndexBodyToCanonicalString`).
|
|
236
|
+
* `index` / `table` are placeholder identifiers the body render never reads (it
|
|
237
|
+
* excludes the name and the `on <table>` reference).
|
|
238
|
+
*/
|
|
239
|
+
export function indexToCanonicalDDL(indexSchema, tableSchema) {
|
|
240
|
+
const stmt = {
|
|
241
|
+
type: 'createIndex',
|
|
242
|
+
index: { type: 'identifier', name: indexSchema.name },
|
|
243
|
+
table: { type: 'identifier', name: tableSchema.name },
|
|
244
|
+
ifNotExists: false,
|
|
245
|
+
columns: indexSchema.columns.map(col => ({
|
|
246
|
+
name: tableSchema.columns[col.index].name,
|
|
247
|
+
direction: col.desc ? 'desc' : undefined,
|
|
248
|
+
collation: normalizeCollationName(col.collation ?? tableSchema.columns[col.index].collation ?? 'BINARY'),
|
|
249
|
+
})),
|
|
250
|
+
isUnique: !!indexSchema.unique,
|
|
251
|
+
where: indexSchema.predicate,
|
|
252
|
+
};
|
|
253
|
+
return createIndexBodyToCanonicalString(stmt);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Canonical DDL **body fragment** for a stored named constraint (CHECK / UNIQUE /
|
|
257
|
+
* FOREIGN KEY), excluding its `constraint <name>` prefix and `with tags (...)`
|
|
258
|
+
* suffix. This is the actual-catalog comparison key the declarative differ
|
|
259
|
+
* diffs against the declared-AST fragment (rendered by the same
|
|
260
|
+
* {@link constraintBodyToCanonicalString}) to detect a constraint whose name is
|
|
261
|
+
* unchanged but whose body changed. The schema constraint is first lifted back
|
|
262
|
+
* into the equivalent {@link AST.TableConstraint} (column indices → names,
|
|
263
|
+
* operation mask → `RowOp[]`, `defaultConflict` → `onConflict`, FK actions and
|
|
264
|
+
* deferred resolution mapped over), so both sides share one rendering path and
|
|
265
|
+
* stay byte-comparable. The child schema (`tableSchema.schemaName`) is threaded so
|
|
266
|
+
* the FK parent-schema qualifier folds symmetrically with the declared side — an
|
|
267
|
+
* own-schema qualifier elides, a genuine cross-schema parent survives (the lift
|
|
268
|
+
* already elides a parent == child qualifier, so this pass is idempotent here).
|
|
269
|
+
*/
|
|
270
|
+
export function constraintToCanonicalDDL(kind, constraint, tableSchema) {
|
|
271
|
+
return constraintBodyToCanonicalString(schemaConstraintToTableConstraint(kind, constraint, tableSchema), tableSchema.schemaName);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Lifts a stored named constraint back into the equivalent AST.TableConstraint.
|
|
275
|
+
*
|
|
276
|
+
* **Full-fidelity**: preserves the constraint `name` and `tags`, and (for FK)
|
|
277
|
+
* reconstructs the deferrability clause, so the same lift drives both the
|
|
278
|
+
* persistence emitter ({@link generateTableDDL}, via {@link tableConstraintsToString})
|
|
279
|
+
* and the canonical-body comparison ({@link constraintToCanonicalDDL}). The
|
|
280
|
+
* canonical consumer strips `name`/`tags`/deferrable downstream
|
|
281
|
+
* (`constraintBodyToCanonicalString` does `{ ...tc, name: undefined, tags: undefined }`
|
|
282
|
+
* and `canonicalForeignKeyClause` drops the deferrable clause), so carrying these
|
|
283
|
+
* fields here does NOT change `constraintToCanonicalDDL` output — only the
|
|
284
|
+
* persistence path benefits.
|
|
285
|
+
*/
|
|
286
|
+
function schemaConstraintToTableConstraint(kind, constraint, tableSchema) {
|
|
287
|
+
const colName = (i) => tableSchema.columns[i]?.name ?? String(i);
|
|
288
|
+
switch (kind) {
|
|
289
|
+
case 'check': {
|
|
290
|
+
const c = constraint;
|
|
291
|
+
return { type: 'check', name: c.name, expr: c.expr, operations: maskToOps(c.operations), onConflict: c.defaultConflict, tags: copyTags(c.tags) };
|
|
292
|
+
}
|
|
293
|
+
case 'unique': {
|
|
294
|
+
const c = constraint;
|
|
295
|
+
return { type: 'unique', name: c.name, columns: c.columns.map(i => ({ name: colName(i) })), onConflict: c.defaultConflict, tags: copyTags(c.tags) };
|
|
296
|
+
}
|
|
297
|
+
case 'foreignKey': {
|
|
298
|
+
const c = constraint;
|
|
299
|
+
// The schema collapses every deferrability variant to a single `deferred`
|
|
300
|
+
// boolean (= AST `initiallyDeferred`, see constraint-builder), so the only
|
|
301
|
+
// form distinguishable here is `deferrable initially deferred`; all
|
|
302
|
+
// non-deferred forms reconstruct as no clause (re-parses to deferred=false).
|
|
303
|
+
//
|
|
304
|
+
// Cross-schema FK: emit the `schema.` qualifier ONLY when the parent schema
|
|
305
|
+
// differs from the child's, so a cross-schema parent survives the DDL
|
|
306
|
+
// round-trip while same-schema FK DDL stays byte-identical (no qualifier).
|
|
307
|
+
const crossSchema = c.referencedSchema &&
|
|
308
|
+
c.referencedSchema.toLowerCase() !== tableSchema.schemaName.toLowerCase()
|
|
309
|
+
? c.referencedSchema
|
|
310
|
+
: undefined;
|
|
311
|
+
return {
|
|
312
|
+
type: 'foreignKey',
|
|
313
|
+
name: c.name,
|
|
314
|
+
columns: c.columns.map(i => ({ name: colName(i) })),
|
|
315
|
+
foreignKey: {
|
|
316
|
+
table: c.referencedTable,
|
|
317
|
+
schema: crossSchema,
|
|
318
|
+
columns: c.referencedColumnNames ? [...c.referencedColumnNames] : undefined,
|
|
319
|
+
onDelete: c.onDelete,
|
|
320
|
+
onUpdate: c.onUpdate,
|
|
321
|
+
deferrable: c.deferred ? true : undefined,
|
|
322
|
+
initiallyDeferred: c.deferred ? true : undefined,
|
|
323
|
+
},
|
|
324
|
+
onConflict: c.defaultConflict,
|
|
325
|
+
tags: copyTags(c.tags),
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
/** Mutable shallow copy of a (readonly) tags record, or undefined when absent. */
|
|
331
|
+
function copyTags(tags) {
|
|
332
|
+
return tags ? { ...tags } : undefined;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Renders the table-level CHECK / UNIQUE / FOREIGN KEY constraints of a table as
|
|
336
|
+
* a single comma-joined fragment (or '' when there are none), suitable to append
|
|
337
|
+
* inside the CREATE TABLE column-def paren list.
|
|
338
|
+
*
|
|
339
|
+
* Order is deterministic — CHECK, then UNIQUE, then FOREIGN KEY, each in stored-
|
|
340
|
+
* array order — so the persisted catalog DDL is byte-stable (which the declarative
|
|
341
|
+
* differ and any diff-on-disk rely on).
|
|
342
|
+
*
|
|
343
|
+
* UNIQUE constraints synthesized from a `CREATE UNIQUE INDEX` (`derivedFromIndex`)
|
|
344
|
+
* are skipped: they round-trip via their index, not as a table constraint, so
|
|
345
|
+
* emitting them here would make the declarative differ churn a spurious
|
|
346
|
+
* DROP CONSTRAINT. All CHECKs (including the engine's auto `_check_<col>` names)
|
|
347
|
+
* and every FK are emitted — `_`-prefixed auto-names re-parse stably and stay
|
|
348
|
+
* excluded from the differ's user-addressable `namedConstraints`.
|
|
349
|
+
*/
|
|
350
|
+
function emitTableConstraints(tableSchema) {
|
|
351
|
+
const constraints = [];
|
|
352
|
+
for (const c of tableSchema.checkConstraints ?? []) {
|
|
353
|
+
constraints.push(schemaConstraintToTableConstraint('check', c, tableSchema));
|
|
354
|
+
}
|
|
355
|
+
for (const c of tableSchema.uniqueConstraints ?? []) {
|
|
356
|
+
if (c.derivedFromIndex)
|
|
357
|
+
continue;
|
|
358
|
+
constraints.push(schemaConstraintToTableConstraint('unique', c, tableSchema));
|
|
359
|
+
}
|
|
360
|
+
for (const c of tableSchema.foreignKeys ?? []) {
|
|
361
|
+
constraints.push(schemaConstraintToTableConstraint('foreignKey', c, tableSchema));
|
|
362
|
+
}
|
|
363
|
+
return constraints.length > 0 ? tableConstraintsToString(constraints) : '';
|
|
364
|
+
}
|
|
83
365
|
function resolveEmitContext(db) {
|
|
84
366
|
if (!db) {
|
|
85
367
|
return {
|
|
@@ -107,15 +389,29 @@ function qualifiedName(schemaName, name, currentSchemaName) {
|
|
|
107
389
|
}
|
|
108
390
|
return `${quoteName(schemaName)}.${quotedName}`;
|
|
109
391
|
}
|
|
110
|
-
function formatColumnDef(col, tableSchema, defaultNotNull) {
|
|
392
|
+
function formatColumnDef(col, tableSchema, defaultNotNull, synthesizedKey) {
|
|
111
393
|
let colDef = quoteName(col.name);
|
|
112
394
|
if (col.logicalType)
|
|
113
395
|
colDef += ` ${col.logicalType.name}`;
|
|
114
396
|
const nullAnnotation = nullabilityAnnotation(col.notNull, defaultNotNull);
|
|
115
397
|
if (nullAnnotation)
|
|
116
398
|
colDef += ` ${nullAnnotation}`;
|
|
117
|
-
|
|
118
|
-
|
|
399
|
+
// Column COLLATE: emit only a non-default collation (BINARY / '' are elided),
|
|
400
|
+
// mirroring the index column path (generateIndexDDL). Without this, a re-parse
|
|
401
|
+
// of the canonical DDL (e.g. the @quereus/store persistence round-trip) silently
|
|
402
|
+
// reverts the column to BINARY, changing its comparison / sort / unique semantics.
|
|
403
|
+
// Quote conditionally (quoteIdentifier) so an ordinary collation stays bare
|
|
404
|
+
// (COLLATE NOCASE) and only a reserved-word collation quotes (COLLATE "select").
|
|
405
|
+
// Collation has no session-default elision, so both emit branches agree byte-for-byte.
|
|
406
|
+
if (col.collation && normalizeCollationName(col.collation) !== 'BINARY') {
|
|
407
|
+
colDef += ` COLLATE ${quoteIdentifier(col.collation)}`;
|
|
408
|
+
}
|
|
409
|
+
// Inline column-level PK only for a genuine single-column declared PK. A
|
|
410
|
+
// synthesized single-column key (a one-column no-PK table) emits no PK clause.
|
|
411
|
+
// DESC is emitted so a descending key survives the round-trip (the re-parse
|
|
412
|
+
// would otherwise silently re-key ascending).
|
|
413
|
+
if (col.primaryKey && tableSchema.primaryKeyDefinition.length === 1 && !synthesizedKey) {
|
|
414
|
+
colDef += tableSchema.primaryKeyDefinition[0].desc ? ' PRIMARY KEY DESC' : ' PRIMARY KEY';
|
|
119
415
|
}
|
|
120
416
|
if (col.defaultValue !== null && col.defaultValue !== undefined) {
|
|
121
417
|
colDef += ` DEFAULT ${formatDefaultExpression(col.defaultValue)}`;
|
|
@@ -149,7 +445,7 @@ function formatUsingClause(tableSchema, ctx) {
|
|
|
149
445
|
const hasArgs = Object.keys(args).length > 0;
|
|
150
446
|
// If no db context, always emit both module and args.
|
|
151
447
|
if (ctx.defaultVtabModule === undefined) {
|
|
152
|
-
let clause = `USING ${moduleName}`;
|
|
448
|
+
let clause = `USING ${quoteIdentifier(moduleName)}`;
|
|
153
449
|
if (hasArgs)
|
|
154
450
|
clause += ` (${formatVtabArgs(args)})`;
|
|
155
451
|
return clause;
|
|
@@ -159,14 +455,14 @@ function formatUsingClause(tableSchema, ctx) {
|
|
|
159
455
|
const argsMatch = recordsShallowEqual(args, defaultArgs);
|
|
160
456
|
if (moduleMatches && argsMatch)
|
|
161
457
|
return null;
|
|
162
|
-
let clause = `USING ${moduleName}`;
|
|
458
|
+
let clause = `USING ${quoteIdentifier(moduleName)}`;
|
|
163
459
|
if (hasArgs)
|
|
164
460
|
clause += ` (${formatVtabArgs(args)})`;
|
|
165
461
|
return clause;
|
|
166
462
|
}
|
|
167
463
|
function formatVtabArgs(args) {
|
|
168
464
|
return Object.entries(args)
|
|
169
|
-
.map(([key, value]) => `${key} = ${formatSqlLiteral(value)}`)
|
|
465
|
+
.map(([key, value]) => `${quoteIdentifier(key)} = ${formatSqlLiteral(value)}`)
|
|
170
466
|
.join(', ');
|
|
171
467
|
}
|
|
172
468
|
function formatDefaultExpression(expr) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl-generator.js","sourceRoot":"","sources":["../../../src/schema/ddl-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;;GAIG;AACH,SAAS,SAAS,CAAC,IAAY;IAC9B,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,WAAwB,EAAE,EAAa;IACvE,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAa,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,WAAW,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEpG,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACvC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,8EAA8E;IAC9E,0DAA0D;IAC1D,IAAI,WAAW,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,oBAAoB;aAC7C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;aACxD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,MAAM,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzC,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEzC,wBAAwB;IACxB,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB,CAC/B,WAAwB,EACxB,WAAwB,EACxB,EAAa;IAEb,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAa,CAAC,cAAc,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE3F,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC1C,IAAI,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,SAAS;YAAE,MAAM,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QACzD,IAAI,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,OAAO,CAAC;QAChC,OAAO,MAAM,CAAC;IACf,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAeD,SAAS,kBAAkB,CAAC,EAAa;IACxC,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,OAAO;YACN,iBAAiB,EAAE,SAAS;YAC5B,cAAc,EAAE,SAAS;YACzB,iBAAiB,EAAE,SAAS;YAC5B,eAAe,EAAE,SAAS;SAC1B,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;IAC7E,OAAO;QACN,iBAAiB,EAAE,EAAE,CAAC,aAAa,CAAC,oBAAoB,EAAE;QAC1D,cAAc,EAAE,WAAW,KAAK,UAAU;QAC1C,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC;QACpE,eAAe,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC;KAChE,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,UAA8B,EAAE,IAAY,EAAE,iBAAqC;IACzG,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IACnC,wEAAwE;IACxE,IAAI,iBAAiB,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;QACrG,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,GAAiB,EAAE,WAAwB,EAAE,cAAmC;IACxG,IAAI,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,GAAG,CAAC,WAAW;QAAE,MAAM,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAE1D,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1E,IAAI,cAAc;QAAE,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;IAEnD,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,cAAc,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACjE,MAAM,IAAI,YAAY,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAK,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,OAAgB,EAAE,cAAmC;IACnF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IACD,IAAI,cAAc,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,CAAC,cAAc,IAAI,OAAO;QAAE,OAAO,UAAU,CAAC;IAClD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAwB,EAAE,GAAgB;IACpE,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7C,sDAAsD;IACtD,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,MAAM,GAAG,SAAS,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QACpD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,KAAK,GAAG,CAAC,iBAAiB,CAAC;IAC3D,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEzD,IAAI,aAAa,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5C,IAAI,MAAM,GAAG,SAAS,UAAU,EAAE,CAAC;IACnC,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;IACpD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAA8B;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5D,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAoB;IACpD,8EAA8E;IAC9E,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,SAAS,gBAAgB,CAAC,KAAe;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,kEAAkE;IAClE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAe;IACtC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACvE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAwC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3E,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,cAAc,OAAO,GAAG,CAAC;AACjC,CAAC;AAED,SAAS,OAAO,CAAC,IAAoD;IACpE,OAAO,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAAC,CAA2B,EAAE,CAA2B;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"ddl-generator.js","sourceRoot":"","sources":["../../../src/schema/ddl-generator.ts"],"names":[],"mappings":"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"}
|