@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,507 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed registry for the reserved `quereus.*` tag namespace.
|
|
3
|
+
*
|
|
4
|
+
* Free-form user tags (`display_name = '...'`, `audit = true`) are untouched —
|
|
5
|
+
* only keys under the `quereus.` prefix are governed here. The namespace is a
|
|
6
|
+
* precise mini-language designed across the docs:
|
|
7
|
+
*
|
|
8
|
+
* - `quereus.lens.ack.<code>[:<target>]`, `quereus.lens.access.<col>`
|
|
9
|
+
* — lens advisory acknowledgments / access-pattern hints (`docs/lens.md`
|
|
10
|
+
* § Acknowledging advisories).
|
|
11
|
+
* - `quereus.id` / `quereus.previous_name`
|
|
12
|
+
* — declarative-differ rename hints (docs/schema.md § Rename Detection).
|
|
13
|
+
* - `quereus.sync.replicate`
|
|
14
|
+
* — per-table opt-in that records a maintained table / materialized view's
|
|
15
|
+
* maintenance writes in the sync change log (`docs/migration.md` § Synced vs.
|
|
16
|
+
* local derived tables). Engine-global spec, behaviorally store-only.
|
|
17
|
+
*
|
|
18
|
+
* No reserved tag carries *behavior* — view-mutation semantics moved to
|
|
19
|
+
* first-class constructs (write routing to per-row presence/membership columns;
|
|
20
|
+
* omitted-insert defaults to the body select's `with defaults (col = expr, …)`
|
|
21
|
+
* clause, which retired the last `quereus.update.*` key, `default_for.<column>`).
|
|
22
|
+
*
|
|
23
|
+
* This module is the single shape/site validation entry point those keys flow
|
|
24
|
+
* through. It is **additive and behavior-neutral**: it reads no reserved tag's
|
|
25
|
+
* *semantics* (ack fingerprinting, escalation policy stay in their owning
|
|
26
|
+
* tickets); it only proves that a `quereus.*` key is spelled correctly (matches
|
|
27
|
+
* a {@link ReservedTagSpec}), sits where it is legal ({@link TagSite}), and
|
|
28
|
+
* carries a well-shaped value ({@link TagValueSchema}) — surfacing a sited
|
|
29
|
+
* {@link TagDiagnostic} otherwise.
|
|
30
|
+
*
|
|
31
|
+
* Downstream consumers (e.g. the lens prover's reserved-tag parser) read
|
|
32
|
+
* through {@link getReservedTag} / {@link getReservedTagByTemplate} rather than
|
|
33
|
+
* re-parsing the namespace at scattered sites.
|
|
34
|
+
*/
|
|
35
|
+
/** The reserved namespace prefix. Keys not starting with this are user tags. */
|
|
36
|
+
export const RESERVED_TAG_NAMESPACE = 'quereus.';
|
|
37
|
+
/** Closed value set for `quereus.lens.decomp.role.<id>` (docs/lens.md § The Default Mapper). */
|
|
38
|
+
export const DECOMP_ROLE_VALUES = ['primary-storage', 'auxiliary-access'];
|
|
39
|
+
/** Closed value set for `quereus.lens.decomp.presence.<id>`. */
|
|
40
|
+
export const DECOMP_PRESENCE_VALUES = ['mandatory', 'optional'];
|
|
41
|
+
/** Closed value set for `quereus.lens.decomp.keykind.<id>`. */
|
|
42
|
+
export const DECOMP_KEYKIND_VALUES = ['surrogate', 'logical-tuple'];
|
|
43
|
+
/**
|
|
44
|
+
* The per-logical-column writable-intent signal (docs/lens.md § Computed and
|
|
45
|
+
* Generated Columns). Exported so the lens prover keys off this single constant
|
|
46
|
+
* rather than re-spelling the literal. `= true` declares the column must have a
|
|
47
|
+
* faithful write path, turning an opaque / non-invertible body into a deploy
|
|
48
|
+
* error (`lens.non-invertible`); `= false` / absent preserves the conservative
|
|
49
|
+
* admit-as-read-only behaviour.
|
|
50
|
+
*/
|
|
51
|
+
export const LENS_WRITABLE_INTENT_TAG = 'quereus.lens.writable';
|
|
52
|
+
/**
|
|
53
|
+
* The per-table sync-replication opt-in (docs/migration.md § Synced vs. local
|
|
54
|
+
* derived tables). `= true` records this maintained table / materialized view's
|
|
55
|
+
* maintenance writes in the sync change log — the store backing host queues a
|
|
56
|
+
* module `DataChangeEvent` per realized `BackingRowChange`, so the sync layer
|
|
57
|
+
* records column versions / HLC stamps / tombstones exactly as for an ordinary
|
|
58
|
+
* table write. Default off (a privileged maintenance write emits no module data
|
|
59
|
+
* events otherwise). Exported so the store host keys off this single constant
|
|
60
|
+
* rather than re-spelling the literal; the host reads `=== true`.
|
|
61
|
+
*/
|
|
62
|
+
export const SYNC_REPLICATE_TAG = 'quereus.sync.replicate';
|
|
63
|
+
/**
|
|
64
|
+
* The per-table basis-eviction override (docs/migration.md § 4 Contract). On a
|
|
65
|
+
* basis table whose physical storage lingers after detach, this tag overrides the
|
|
66
|
+
* global `SyncConfig.basisEviction` mode for that one table: `'never'` opts it out
|
|
67
|
+
* of auto-reclamation, `'immediate'` reclaims on the first sweep after detach, and
|
|
68
|
+
* a non-negative number is a custom retention horizon in milliseconds. The sync
|
|
69
|
+
* layer captures the value into its lifecycle record at lens-deploy time (the tag
|
|
70
|
+
* is gone once the table detaches). Sited like {@link SYNC_REPLICATE_TAG} (the two
|
|
71
|
+
* authoring forms of a basis/migration table). Exported so the sync recorder keys
|
|
72
|
+
* off this single constant rather than re-spelling the literal.
|
|
73
|
+
*/
|
|
74
|
+
export const SYNC_EVICT_TAG = 'quereus.sync.evict';
|
|
75
|
+
/**
|
|
76
|
+
* The reserved-tag spec table — deeply frozen (the array, each spec entry, and
|
|
77
|
+
* each entry's `sites` list are immutable, so this shared module singleton can
|
|
78
|
+
* never be mutated by a consumer), transcribed directly from the doc tables.
|
|
79
|
+
* Each entry cites its doc source. The two downstream tickets
|
|
80
|
+
* (`3-lens-prover-and-constraint-attachment` Phase C, `view-mutation-plan-node-substrate`
|
|
81
|
+
* Phase 2) consume this rather than re-declaring the namespace.
|
|
82
|
+
*/
|
|
83
|
+
const RESERVED_TAG_SPECS = [
|
|
84
|
+
// --- rename hints : stable-identity / previous-name for the declarative differ ---
|
|
85
|
+
// Read by `schema-differ.ts` (`readQuereusHint`) to pair a declared object with
|
|
86
|
+
// an existing actual across a rename. They are first-class specs (not a
|
|
87
|
+
// differ-local allow-list) so the differ can validate every declared object's
|
|
88
|
+
// tags through this registry with hard-error-on-unknown. valueSchema is
|
|
89
|
+
// `'string'` (NOT csv-of-identifiers): the differ never value-validated these,
|
|
90
|
+
// and a real id may carry a hyphen (`'tbl-thing'`) or name a quoted identifier
|
|
91
|
+
// — tightening would falsely reject existing schemas. See docs/schema.md
|
|
92
|
+
// § Rename Detection. A future ticket may add a dedicated `csv-of-names` schema.
|
|
93
|
+
{
|
|
94
|
+
key: 'quereus.id',
|
|
95
|
+
sites: siteSet('physical-table', 'physical-column', 'view-ddl', 'physical-index', 'physical-constraint'),
|
|
96
|
+
valueSchema: 'string',
|
|
97
|
+
description: 'Stable identity of a declared object; the differ pairs it across a rename (preferred over previous_name).',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: 'quereus.previous_name',
|
|
101
|
+
sites: siteSet('physical-table', 'physical-column', 'view-ddl', 'physical-index', 'physical-constraint'),
|
|
102
|
+
valueSchema: 'string',
|
|
103
|
+
description: 'Comma-separated former name(s) of a declared object; the differ pairs it across a rename when no id matches.',
|
|
104
|
+
},
|
|
105
|
+
// --- quereus.expose_implicit_index : catalog-visibility opt-in on a UNIQUE constraint ---
|
|
106
|
+
// A declared/inline UNIQUE constraint's enforcement BTree (its implicit covering
|
|
107
|
+
// structure) is hidden from the catalog / export_schema by default; this boolean tag
|
|
108
|
+
// surfaces it under the constraint name. Read by `catalog.ts`
|
|
109
|
+
// (`implicitCoveringIndexExposure`) and treated as real (compared) schema state by the
|
|
110
|
+
// differ (`schema-differ.ts` § RENAME_HINT_KEYS). It is a constraint-only physical tag,
|
|
111
|
+
// so it is legal solely at the physical-constraint site — the position shared by the
|
|
112
|
+
// direct CREATE TABLE named constraint, the `ALTER TABLE … ALTER CONSTRAINT … SET TAGS`
|
|
113
|
+
// target, and the declarative differ's declared constraint. (First-class spec rather
|
|
114
|
+
// than a catalog-local string so a typo — `expose_implicit_indx` — fails loudly on every
|
|
115
|
+
// one of those paths, the same posture the rest of the namespace has.)
|
|
116
|
+
{
|
|
117
|
+
key: 'quereus.expose_implicit_index',
|
|
118
|
+
sites: siteSet('physical-constraint'),
|
|
119
|
+
valueSchema: 'boolean',
|
|
120
|
+
description: 'Surface a UNIQUE constraint\'s implicit covering structure in the catalog / export_schema (boolean; default hidden).',
|
|
121
|
+
},
|
|
122
|
+
// --- quereus.sync.replicate : per-table maintenance-write change-log opt-in ---
|
|
123
|
+
// docs/migration.md § Synced vs. local derived tables. `= true` records a
|
|
124
|
+
// maintained table / materialized view's maintenance writes in the sync change
|
|
125
|
+
// log (the store backing host queues a DataChangeEvent per realized
|
|
126
|
+
// BackingRowChange — column versions / HLC stamps / tombstones, like an ordinary
|
|
127
|
+
// table write — on the row-time maintenance path AND the create-fill / refresh
|
|
128
|
+
// path, the latter as the minimal keyed diff so a value-identical re-fill
|
|
129
|
+
// suppresses). Boolean (the host reads `=== true`), default off. Sited at
|
|
130
|
+
// view-ddl (the `create materialized view … with tags (…)` authoring form) and
|
|
131
|
+
// physical-table (the canonical `create table … using store() maintained as …`
|
|
132
|
+
// form) — the two authoring forms of a migration target. NOT a logical-* site:
|
|
133
|
+
// the tag governs a physical backing, not a lens column. Engine-global spec,
|
|
134
|
+
// behaviorally store-only (the memory host stays event-free — see
|
|
135
|
+
// quereus-store/src/common/backing-host.ts).
|
|
136
|
+
{
|
|
137
|
+
key: SYNC_REPLICATE_TAG,
|
|
138
|
+
sites: siteSet('view-ddl', 'physical-table'),
|
|
139
|
+
valueSchema: 'boolean',
|
|
140
|
+
description: 'Opt this maintained table / materialized view\'s maintenance writes into the sync change log '
|
|
141
|
+
+ '(the backing host records column versions / tombstones for each derivation write). Default off.',
|
|
142
|
+
},
|
|
143
|
+
// --- quereus.sync.evict : per-table basis-eviction override ---
|
|
144
|
+
// docs/migration.md § 4 Contract. Overrides the global SyncConfig.basisEviction
|
|
145
|
+
// mode for one basis table: 'never' (keep storage forever), 'immediate' (reclaim
|
|
146
|
+
// on the first sweep after detach), or a non-negative number of milliseconds (a
|
|
147
|
+
// custom retention horizon). The sync layer captures it into its lifecycle record
|
|
148
|
+
// at lens-deploy time. Sited like quereus.sync.replicate — the two authoring forms
|
|
149
|
+
// of a basis table (the `create materialized view … with tags` form and the
|
|
150
|
+
// canonical `create table … using store()` form). Engine-global spec, consumed by
|
|
151
|
+
// the sync layer (the engine attaches no eviction behavior).
|
|
152
|
+
{
|
|
153
|
+
key: SYNC_EVICT_TAG,
|
|
154
|
+
sites: siteSet('view-ddl', 'physical-table'),
|
|
155
|
+
valueSchema: 'eviction-policy',
|
|
156
|
+
description: 'Per-table basis-eviction override: \'never\', \'immediate\', or a non-negative retention horizon in milliseconds.',
|
|
157
|
+
},
|
|
158
|
+
// --- quereus.lens.* : lens advisory acknowledgments / access hints ---
|
|
159
|
+
// (The former quereus.update.* family is gone: routing became per-row
|
|
160
|
+
// presence/membership columns; default_for.<column> became the first-class
|
|
161
|
+
// `with defaults (col = expr, …)` body-select clause.)
|
|
162
|
+
{
|
|
163
|
+
// docs/lens.md:176, 190 — code is <code>[:<target>]; remainder captured whole.
|
|
164
|
+
key: { template: 'quereus.lens.ack.<code>' },
|
|
165
|
+
sites: siteSet('logical-table', 'logical-constraint'),
|
|
166
|
+
valueSchema: 'required-nonempty-rationale',
|
|
167
|
+
description: 'Acknowledge a lens advisory; the value is a required rationale.',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
// docs/lens.md:166, 176
|
|
171
|
+
key: { template: 'quereus.lens.access.<col>' },
|
|
172
|
+
sites: siteSet('logical-table'),
|
|
173
|
+
valueSchema: 'string',
|
|
174
|
+
description: 'Declare an expected lookup/ordering access pattern on a column.',
|
|
175
|
+
},
|
|
176
|
+
// --- quereus.lens.writable : per-logical-column writable-intent signal ---
|
|
177
|
+
// docs/lens.md § Computed and Generated Columns. `= true` asserts the column
|
|
178
|
+
// must be faithfully writable (an opaque / non-invertible body carrying it is a
|
|
179
|
+
// deploy error via the round-trip prover); `= false` / absent is the
|
|
180
|
+
// conservative read-only-derived admit. Boolean (the prover reads `=== true`),
|
|
181
|
+
// logical-column site only.
|
|
182
|
+
{
|
|
183
|
+
key: LENS_WRITABLE_INTENT_TAG,
|
|
184
|
+
sites: siteSet('logical-column'),
|
|
185
|
+
valueSchema: 'boolean',
|
|
186
|
+
description: 'Assert a logical column must have a faithful write path; an opaque/non-invertible body carrying it is a deploy error.',
|
|
187
|
+
},
|
|
188
|
+
// --- quereus.lens.policy.* : per-(logical-table) advisory escalation policy ---
|
|
189
|
+
// A comma-separated list of advisory codes (e.g. `lens.no-backing-index`) the
|
|
190
|
+
// project promotes beyond advisory. Codes carry dots and hyphens, so the value
|
|
191
|
+
// is `string` (free CSV) rather than `csv-of-identifiers`. Read by the ack
|
|
192
|
+
// governance (`lens-ack.ts`) after the prover runs; default-empty when absent.
|
|
193
|
+
// See `docs/lens.md` § Acknowledging advisories (Escalation policy).
|
|
194
|
+
{
|
|
195
|
+
key: 'quereus.lens.policy.error-on',
|
|
196
|
+
sites: siteSet('logical-table'),
|
|
197
|
+
valueSchema: 'string',
|
|
198
|
+
description: 'CSV of advisory codes that are always a hard error; an ack cannot suppress them.',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
key: 'quereus.lens.policy.require-ack',
|
|
202
|
+
sites: siteSet('logical-table'),
|
|
203
|
+
valueSchema: 'string',
|
|
204
|
+
description: 'CSV of advisory codes whose un-acknowledged instances are a hard error (a valid ack clears).',
|
|
205
|
+
},
|
|
206
|
+
// --- quereus.lens.decomp.* : module mapping-advertisement facts on basis tables ---
|
|
207
|
+
// A generic module (memory/store) assembles a MappingAdvertisement from these
|
|
208
|
+
// reserved tags on its basis tables via `buildAdvertisementsFromTags`
|
|
209
|
+
// (docs/lens.md § The Default Mapper). Each decomposition `<id>`'s facts are
|
|
210
|
+
// distributed across its member basis tables. The facet leads the key so each
|
|
211
|
+
// is a single-placeholder template the registry validates (shape/site only —
|
|
212
|
+
// the builder does the id/facet sub-parsing and the resolver does structural
|
|
213
|
+
// validation). All sit at the `physical-table` site.
|
|
214
|
+
{
|
|
215
|
+
key: { template: 'quereus.lens.decomp.logical.<id>' },
|
|
216
|
+
sites: siteSet('physical-table'),
|
|
217
|
+
valueSchema: 'string',
|
|
218
|
+
description: 'Logical table the decomposition <id> backs (declared on each member; resolver checks consistency).',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
key: { template: 'quereus.lens.decomp.role.<id>' },
|
|
222
|
+
sites: siteSet('physical-table'),
|
|
223
|
+
valueSchema: { enum: DECOMP_ROLE_VALUES },
|
|
224
|
+
description: 'Role of decomposition <id>: primary-storage (drives put) or auxiliary-access (read-path only).',
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
key: { template: 'quereus.lens.decomp.anchor.<id>' },
|
|
228
|
+
sites: siteSet('physical-table'),
|
|
229
|
+
valueSchema: 'string',
|
|
230
|
+
description: 'Existence-anchor relationId of decomposition <id> (must equal the advertisement id and be a member).',
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
key: { template: 'quereus.lens.decomp.member.<id>' },
|
|
234
|
+
sites: siteSet('physical-table'),
|
|
235
|
+
valueSchema: 'string',
|
|
236
|
+
description: 'This table\'s member relationId within decomposition <id> (defaults to the table name when absent).',
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
key: { template: 'quereus.lens.decomp.presence.<id>' },
|
|
240
|
+
sites: siteSet('physical-table'),
|
|
241
|
+
valueSchema: { enum: DECOMP_PRESENCE_VALUES },
|
|
242
|
+
description: 'This member\'s presence in decomposition <id>: mandatory (inner-join) or optional (outer-join).',
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
key: { template: 'quereus.lens.decomp.keykind.<id>' },
|
|
246
|
+
sites: siteSet('physical-table'),
|
|
247
|
+
valueSchema: { enum: DECOMP_KEYKIND_VALUES },
|
|
248
|
+
description: 'Shared-key kind of decomposition <id>: surrogate (its value comes from the anchor key column\'s declared DEFAULT) or logical-tuple (the supplied logical PK).',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
key: { template: 'quereus.lens.decomp.key.<id>' },
|
|
252
|
+
sites: siteSet('physical-table'),
|
|
253
|
+
valueSchema: 'csv-of-identifiers',
|
|
254
|
+
description: 'This member\'s shared-key column(s) within decomposition <id> (the equi-join columns).',
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
// Remainder captured whole as `<id>.<logicalColumn>`; the builder sub-parses it.
|
|
258
|
+
key: { template: 'quereus.lens.decomp.col.<id_dot_column>' },
|
|
259
|
+
sites: siteSet('physical-table'),
|
|
260
|
+
valueSchema: 'string',
|
|
261
|
+
description: 'Basis column on THIS member backing logical column <logicalColumn> of decomposition <id>.',
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
// Remainder captured whole as `<id>.<entity|attribute|value>`.
|
|
265
|
+
key: { template: 'quereus.lens.decomp.pivot.<id_dot_facet>' },
|
|
266
|
+
sites: siteSet('physical-table'),
|
|
267
|
+
valueSchema: 'string',
|
|
268
|
+
description: 'EAV pivot column (entity/attribute/value) on THIS member for decomposition <id>.',
|
|
269
|
+
},
|
|
270
|
+
];
|
|
271
|
+
export const RESERVED_TAGS = Object.freeze(RESERVED_TAG_SPECS.map(spec => Object.freeze(spec)));
|
|
272
|
+
/**
|
|
273
|
+
* Validates every `quereus.*` key in `tags` against the registry for the given
|
|
274
|
+
* {@link TagSite}, returning a (possibly empty) list of {@link TagDiagnostic}.
|
|
275
|
+
*
|
|
276
|
+
* Per key: not in the namespace → skipped (free-form user tag); in the namespace
|
|
277
|
+
* with no matching spec → `unknown-reserved-tag` (error); spec matches but the
|
|
278
|
+
* site is illegal → `tag-not-allowed-here` (error); site OK but the value fails
|
|
279
|
+
* its schema → `invalid-tag-value` (severity per {@link TagValueSchema} — an
|
|
280
|
+
* empty ack rationale is a warning, all other value failures are errors).
|
|
281
|
+
*
|
|
282
|
+
* This function is policy-free: it never throws and never decides whether a
|
|
283
|
+
* warning blocks. The caller (lens compile, the future escalation-policy parser)
|
|
284
|
+
* owns that decision.
|
|
285
|
+
*/
|
|
286
|
+
export function validateReservedTags(tags, site) {
|
|
287
|
+
if (!tags)
|
|
288
|
+
return [];
|
|
289
|
+
const diagnostics = [];
|
|
290
|
+
for (const [key, value] of Object.entries(tags)) {
|
|
291
|
+
if (!key.startsWith(RESERVED_TAG_NAMESPACE))
|
|
292
|
+
continue;
|
|
293
|
+
const matched = matchSpec(key);
|
|
294
|
+
if (!matched) {
|
|
295
|
+
diagnostics.push(unknownReservedTag(key, site));
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
if (!matched.spec.sites.includes(site)) {
|
|
299
|
+
diagnostics.push(tagNotAllowedHere(key, site, matched.spec));
|
|
300
|
+
continue;
|
|
301
|
+
}
|
|
302
|
+
const valueDiag = validateTagValue(key, value, site, matched.spec.valueSchema);
|
|
303
|
+
if (valueDiag)
|
|
304
|
+
diagnostics.push(valueDiag);
|
|
305
|
+
}
|
|
306
|
+
return diagnostics;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Typed read of one reserved tag by its **exact** key. Does no validation —
|
|
310
|
+
* callers run {@link validateReservedTags} first. Returns undefined when the key
|
|
311
|
+
* is absent or null. For templated key families use
|
|
312
|
+
* {@link getReservedTagByTemplate}.
|
|
313
|
+
*/
|
|
314
|
+
export function getReservedTag(tags, key) {
|
|
315
|
+
const value = tags?.[key];
|
|
316
|
+
return value == null ? undefined : value;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Enumerates every instance of a templated reserved key family. For
|
|
320
|
+
* `'quereus.lens.ack.<code>'`, a `tags` carrying
|
|
321
|
+
* `quereus.lens.ack.no-backing-index:vin` yields one instance with
|
|
322
|
+
* `segment === 'no-backing-index:vin'`. Like {@link getReservedTag}, this does
|
|
323
|
+
* no validation; non-TEXT values are coerced to string so a mis-typed tag does
|
|
324
|
+
* not crash enumeration (validate first to reject it).
|
|
325
|
+
*/
|
|
326
|
+
export function getReservedTagByTemplate(tags, template) {
|
|
327
|
+
if (!tags)
|
|
328
|
+
return [];
|
|
329
|
+
const prefix = templatePrefix(template);
|
|
330
|
+
const result = [];
|
|
331
|
+
for (const [key, value] of Object.entries(tags)) {
|
|
332
|
+
if (!key.startsWith(prefix))
|
|
333
|
+
continue;
|
|
334
|
+
const segment = key.slice(prefix.length);
|
|
335
|
+
if (segment.length === 0)
|
|
336
|
+
continue; // empty remainder is not an instance
|
|
337
|
+
result.push({ segment, value: value == null ? '' : String(value) });
|
|
338
|
+
}
|
|
339
|
+
return result;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Finds the spec a reserved key matches. Exact specs are tried first, then
|
|
343
|
+
* single-placeholder templates (remainder captured whole, including any
|
|
344
|
+
* `:target` refinement — sub-parsing is the consumer's job). A template whose
|
|
345
|
+
* remainder would be empty does not match (so `quereus.lens.ack.` with no code
|
|
346
|
+
* is an unknown key).
|
|
347
|
+
*/
|
|
348
|
+
function matchSpec(key) {
|
|
349
|
+
for (const spec of RESERVED_TAGS) {
|
|
350
|
+
if (typeof spec.key === 'string' && spec.key === key)
|
|
351
|
+
return { spec };
|
|
352
|
+
}
|
|
353
|
+
for (const spec of RESERVED_TAGS) {
|
|
354
|
+
if (typeof spec.key === 'string')
|
|
355
|
+
continue;
|
|
356
|
+
const prefix = templatePrefix(spec.key.template);
|
|
357
|
+
if (key.startsWith(prefix) && key.length > prefix.length) {
|
|
358
|
+
return { spec, segment: key.slice(prefix.length) };
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
return undefined;
|
|
362
|
+
}
|
|
363
|
+
/** The literal prefix of a template, up to its `<placeholder>`. */
|
|
364
|
+
function templatePrefix(template) {
|
|
365
|
+
const idx = template.indexOf('<');
|
|
366
|
+
return idx < 0 ? template : template.slice(0, idx);
|
|
367
|
+
}
|
|
368
|
+
/** A frozen, genuinely-immutable list of legal sites for one spec. */
|
|
369
|
+
function siteSet(...sites) {
|
|
370
|
+
return Object.freeze(sites);
|
|
371
|
+
}
|
|
372
|
+
// === internal: value-schema validation ===
|
|
373
|
+
const IDENTIFIER_RE = /^[A-Za-z_][A-Za-z0-9_$.]*$/;
|
|
374
|
+
/** TEXT predicate — reserved tag values that must be strings. */
|
|
375
|
+
function isText(value) {
|
|
376
|
+
return typeof value === 'string';
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Validates one value against its {@link TagValueSchema}. Returns a diagnostic
|
|
380
|
+
* on failure, or undefined when the value is well-shaped. Severity follows the
|
|
381
|
+
* doc rule: an empty `required-nonempty-rationale` is a warning; all other value
|
|
382
|
+
* failures are errors.
|
|
383
|
+
*/
|
|
384
|
+
function validateTagValue(key, value, site, schema) {
|
|
385
|
+
if (typeof schema === 'object') {
|
|
386
|
+
return validateEnum(key, value, site, schema.enum);
|
|
387
|
+
}
|
|
388
|
+
switch (schema) {
|
|
389
|
+
case 'string':
|
|
390
|
+
return isText(value)
|
|
391
|
+
? undefined
|
|
392
|
+
: invalidValue(key, site, `must be a text value`, 'error');
|
|
393
|
+
case 'boolean':
|
|
394
|
+
return typeof value === 'boolean'
|
|
395
|
+
? undefined
|
|
396
|
+
: invalidValue(key, site, `must be a boolean value`, 'error');
|
|
397
|
+
case 'csv-of-identifiers':
|
|
398
|
+
return validateCsvOfIdentifiers(key, value, site);
|
|
399
|
+
case 'required-nonempty-rationale':
|
|
400
|
+
return validateRationale(key, value, site);
|
|
401
|
+
case 'eviction-policy':
|
|
402
|
+
return validateEvictionPolicy(key, value, site);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* A `quereus.sync.evict` value: the keyword `'never'` / `'immediate'`
|
|
407
|
+
* (case-insensitive), or a non-negative number of milliseconds (a numeric value
|
|
408
|
+
* or a numeric string). Anything else is an error. Structural only — the sync
|
|
409
|
+
* layer re-parses the accepted shapes into its {@link EvictPolicy}.
|
|
410
|
+
*/
|
|
411
|
+
function validateEvictionPolicy(key, value, site) {
|
|
412
|
+
if (typeof value === 'string') {
|
|
413
|
+
const v = value.trim().toLowerCase();
|
|
414
|
+
if (v === 'never' || v === 'immediate')
|
|
415
|
+
return undefined;
|
|
416
|
+
const n = Number(v);
|
|
417
|
+
if (v.length > 0 && Number.isFinite(n) && n >= 0)
|
|
418
|
+
return undefined;
|
|
419
|
+
}
|
|
420
|
+
else if (typeof value === 'number') {
|
|
421
|
+
if (Number.isFinite(value) && value >= 0)
|
|
422
|
+
return undefined;
|
|
423
|
+
}
|
|
424
|
+
else if (typeof value === 'bigint') {
|
|
425
|
+
if (value >= 0n)
|
|
426
|
+
return undefined;
|
|
427
|
+
}
|
|
428
|
+
return invalidValue(key, site, `must be 'never', 'immediate', or a non-negative number of milliseconds`, 'error');
|
|
429
|
+
}
|
|
430
|
+
function validateEnum(key, value, site, allowed) {
|
|
431
|
+
if (isText(value) && allowed.includes(value))
|
|
432
|
+
return undefined;
|
|
433
|
+
return invalidValue(key, site, `has invalid value ${formatValue(value)}; expected one of: ${allowed.join(', ')}`, 'error');
|
|
434
|
+
}
|
|
435
|
+
function validateCsvOfIdentifiers(key, value, site) {
|
|
436
|
+
if (!isText(value) || value.trim().length === 0) {
|
|
437
|
+
return invalidValue(key, site, `must be a non-empty comma-separated list of identifiers`, 'error');
|
|
438
|
+
}
|
|
439
|
+
const segments = value.split(',');
|
|
440
|
+
for (const seg of segments) {
|
|
441
|
+
const token = seg.trim();
|
|
442
|
+
if (token.length === 0 || !IDENTIFIER_RE.test(token)) {
|
|
443
|
+
return invalidValue(key, site, `must be a comma-separated list of identifiers (offending segment: ${formatValue(token)})`, 'error');
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
return undefined;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* A `quereus.lens.ack.*` rationale. An empty / missing / whitespace / non-TEXT
|
|
450
|
+
* value is a **warning** (docs/lens.md:176 — "an empty or missing rationale is
|
|
451
|
+
* itself a warning"); the ack never hard-blocks a deploy.
|
|
452
|
+
*/
|
|
453
|
+
function validateRationale(key, value, site) {
|
|
454
|
+
if (isText(value) && value.trim().length > 0)
|
|
455
|
+
return undefined;
|
|
456
|
+
return invalidValue(key, site, `has an empty or missing acknowledgment rationale; provide a non-empty justification`, 'warning', `set ${JSON.stringify(key)} = '<why this advisory is accepted>'`);
|
|
457
|
+
}
|
|
458
|
+
// === internal: diagnostic constructors ===
|
|
459
|
+
function unknownReservedTag(key, site) {
|
|
460
|
+
return {
|
|
461
|
+
reason: 'unknown-reserved-tag',
|
|
462
|
+
severity: 'error',
|
|
463
|
+
key,
|
|
464
|
+
site,
|
|
465
|
+
message: `Unknown reserved tag ${formatValue(key)} on ${siteLabel(site)}: no such key in the reserved 'quereus.*' namespace`,
|
|
466
|
+
suggestion: `Recognized keys: quereus.{id, previous_name}, quereus.expose_implicit_index, quereus.sync.replicate, quereus.sync.evict, quereus.lens.ack.<code>, quereus.lens.access.<col>, quereus.lens.writable, quereus.lens.policy.{error-on, require-ack}, quereus.lens.decomp.{logical,role,anchor,member,presence,keykind,key}.<id>, quereus.lens.decomp.{col,pivot}.<id>.<...>`,
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
function tagNotAllowedHere(key, site, spec) {
|
|
470
|
+
const allowed = spec.sites.map(siteLabel).join(', ');
|
|
471
|
+
return {
|
|
472
|
+
reason: 'tag-not-allowed-here',
|
|
473
|
+
severity: 'error',
|
|
474
|
+
key,
|
|
475
|
+
site,
|
|
476
|
+
message: `Reserved tag ${formatValue(key)} is not allowed on ${siteLabel(site)}; it is valid only on: ${allowed}`,
|
|
477
|
+
};
|
|
478
|
+
}
|
|
479
|
+
function invalidValue(key, site, detail, severity, suggestion) {
|
|
480
|
+
return {
|
|
481
|
+
reason: 'invalid-tag-value',
|
|
482
|
+
severity,
|
|
483
|
+
key,
|
|
484
|
+
site,
|
|
485
|
+
message: `Reserved tag ${formatValue(key)} on ${siteLabel(site)} ${detail}`,
|
|
486
|
+
suggestion,
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
/** Human label for a {@link TagSite}, for sited messages. */
|
|
490
|
+
function siteLabel(site) {
|
|
491
|
+
switch (site) {
|
|
492
|
+
case 'view-ddl': return 'a view declaration';
|
|
493
|
+
case 'dml-stmt': return 'a DML statement';
|
|
494
|
+
case 'logical-table': return 'a logical table';
|
|
495
|
+
case 'logical-constraint': return 'a logical constraint';
|
|
496
|
+
case 'logical-column': return 'a logical column';
|
|
497
|
+
case 'physical-table': return 'a basis table';
|
|
498
|
+
case 'physical-column': return 'a physical column';
|
|
499
|
+
case 'physical-index': return 'a physical index';
|
|
500
|
+
case 'physical-constraint': return 'a physical constraint';
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
/** Render a tag key/value for a message: quote strings, stringify the rest. */
|
|
504
|
+
function formatValue(value) {
|
|
505
|
+
return typeof value === 'string' ? `'${value}'` : String(value);
|
|
506
|
+
}
|
|
507
|
+
//# sourceMappingURL=reserved-tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserved-tags.js","sourceRoot":"","sources":["../../../src/schema/reserved-tags.ts"],"names":[],"mappings":"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"}
|