@quereus/quereus 4.4.0 → 4.4.1
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 +5 -0
- package/dist/src/common/types.d.ts +9 -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-events.d.ts +49 -0
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +148 -0
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-materialized-views-plan-builders.d.ts +2 -1
- package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-plan-builders.js +26 -5
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
- package/dist/src/core/database-materialized-views-plans.d.ts +6 -3
- package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.d.ts +3 -2
- package/dist/src/core/database-materialized-views.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.js +26 -5
- package/dist/src/core/database-materialized-views.js.map +1 -1
- package/dist/src/core/database.d.ts +5 -0
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +21 -1
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/internal-statement-cache.d.ts +18 -0
- package/dist/src/core/internal-statement-cache.d.ts.map +1 -0
- package/dist/src/core/internal-statement-cache.js +211 -0
- package/dist/src/core/internal-statement-cache.js.map +1 -0
- package/dist/src/func/builtins/aggregate.d.ts +13 -12
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +45 -67
- 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 +63 -48
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/registration.d.ts +14 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +25 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +8 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/parser.d.ts +6 -0
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +45 -34
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.d.ts +2 -0
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +1 -1
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.js +29 -0
- package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +6 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +11 -2
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
- package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
- package/dist/src/planner/analysis/sat-checker.js +43 -4
- package/dist/src/planner/analysis/sat-checker.js.map +1 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +10 -3
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +87 -6
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts +44 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.js +54 -0
- package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +9 -12
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/update.d.ts.map +1 -1
- package/dist/src/planner/building/update.js +13 -4
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/framework/pass.js +3 -3
- package/dist/src/planner/nodes/dml-executor-node.d.ts +0 -9
- package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +26 -3
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +5 -12
- package/dist/src/planner/optimizer.js.map +1 -1
- 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 +43 -18
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +23 -4
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +10 -8
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +10 -8
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +8 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +4 -0
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +10 -0
- package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
- package/dist/src/runtime/emit/aggregate-setup.d.ts +49 -0
- package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -0
- package/dist/src/runtime/emit/aggregate-setup.js +99 -0
- package/dist/src/runtime/emit/aggregate-setup.js.map +1 -0
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +4 -69
- package/dist/src/runtime/emit/aggregate.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +348 -165
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/asof-scan.js +6 -0
- package/dist/src/runtime/emit/asof-scan.js.map +1 -1
- package/dist/src/runtime/emit/between.d.ts.map +1 -1
- package/dist/src/runtime/emit/between.js +32 -3
- 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 +22 -2
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/bloom-join.js +24 -3
- package/dist/src/runtime/emit/bloom-join.js.map +1 -1
- package/dist/src/runtime/emit/cast.d.ts.map +1 -1
- package/dist/src/runtime/emit/cast.js +10 -23
- package/dist/src/runtime/emit/cast.js.map +1 -1
- package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
- package/dist/src/runtime/emit/constraint-check.js +41 -44
- package/dist/src/runtime/emit/constraint-check.js.map +1 -1
- package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-view.js +6 -0
- package/dist/src/runtime/emit/create-view.js.map +1 -1
- package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
- package/dist/src/runtime/emit/distinct.js +6 -3
- package/dist/src/runtime/emit/distinct.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +182 -81
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.js +16 -65
- package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
- package/dist/src/runtime/emit/insert.d.ts.map +1 -1
- package/dist/src/runtime/emit/insert.js +18 -7
- package/dist/src/runtime/emit/insert.js.map +1 -1
- package/dist/src/runtime/emit/join.js +5 -0
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +14 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +33 -3
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view.js +47 -6
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/merge-join.js +18 -8
- package/dist/src/runtime/emit/merge-join.js.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.d.ts +8 -0
- package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.js +8 -0
- package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
- package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-operation.js +7 -4
- package/dist/src/runtime/emit/set-operation.js.map +1 -1
- package/dist/src/runtime/emit/sort.d.ts.map +1 -1
- package/dist/src/runtime/emit/sort.js +5 -2
- package/dist/src/runtime/emit/sort.js.map +1 -1
- package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
- package/dist/src/runtime/emit/subquery.js +113 -13
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts +7 -0
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.js +15 -7
- package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
- package/dist/src/runtime/emit/update.d.ts.map +1 -1
- package/dist/src/runtime/emit/update.js +44 -3
- package/dist/src/runtime/emit/update.js.map +1 -1
- package/dist/src/runtime/emit/window.d.ts.map +1 -1
- package/dist/src/runtime/emit/window.js +72 -55
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/foreign-key-actions.d.ts +36 -1
- package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
- package/dist/src/runtime/foreign-key-actions.js +238 -116
- package/dist/src/runtime/foreign-key-actions.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +6 -1
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +7 -1
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/types.d.ts +18 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/catalog-persistability.d.ts +58 -0
- package/dist/src/schema/catalog-persistability.d.ts.map +1 -0
- package/dist/src/schema/catalog-persistability.js +87 -0
- package/dist/src/schema/catalog-persistability.js.map +1 -0
- package/dist/src/schema/catalog.d.ts +17 -1
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +25 -3
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/constraint-builder.d.ts +20 -22
- package/dist/src/schema/constraint-builder.d.ts.map +1 -1
- package/dist/src/schema/constraint-builder.js +43 -36
- package/dist/src/schema/constraint-builder.js.map +1 -1
- package/dist/src/schema/ddl-generator.d.ts +23 -0
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +27 -0
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/function.d.ts +30 -1
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/manager.d.ts +28 -0
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +82 -14
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +51 -12
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +31 -0
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +37 -1
- package/dist/src/schema/unique-enforcement.js.map +1 -1
- package/dist/src/schema/window-function.d.ts +30 -10
- package/dist/src/schema/window-function.d.ts.map +1 -1
- package/dist/src/schema/window-function.js +20 -16
- package/dist/src/schema/window-function.js.map +1 -1
- package/dist/src/types/cast-semantics.d.ts +43 -0
- package/dist/src/types/cast-semantics.d.ts.map +1 -0
- package/dist/src/types/cast-semantics.js +59 -0
- package/dist/src/types/cast-semantics.js.map +1 -0
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/json-type.d.ts.map +1 -1
- package/dist/src/types/json-type.js +31 -10
- package/dist/src/types/json-type.js.map +1 -1
- package/dist/src/types/logical-type.d.ts +22 -0
- package/dist/src/types/logical-type.d.ts.map +1 -1
- package/dist/src/types/logical-type.js.map +1 -1
- package/dist/src/types/temporal-types.d.ts.map +1 -1
- package/dist/src/types/temporal-types.js +33 -11
- package/dist/src/types/temporal-types.js.map +1 -1
- package/dist/src/types/validation.d.ts +39 -1
- package/dist/src/types/validation.d.ts.map +1 -1
- package/dist/src/types/validation.js +60 -0
- package/dist/src/types/validation.js.map +1 -1
- package/dist/src/util/ast-spine-clone.d.ts +23 -0
- package/dist/src/util/ast-spine-clone.d.ts.map +1 -0
- package/dist/src/util/ast-spine-clone.js +41 -0
- package/dist/src/util/ast-spine-clone.js.map +1 -0
- package/dist/src/util/coercion.d.ts +13 -0
- package/dist/src/util/coercion.d.ts.map +1 -1
- package/dist/src/util/coercion.js +10 -1
- package/dist/src/util/coercion.js.map +1 -1
- package/dist/src/util/comparison.d.ts +89 -0
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +156 -27
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/vtab/manifest.d.ts +7 -0
- package/dist/src/vtab/manifest.d.ts.map +1 -1
- package/dist/src/vtab/memory/connection.d.ts +14 -1
- package/dist/src/vtab/memory/connection.d.ts.map +1 -1
- package/dist/src/vtab/memory/connection.js +20 -2
- package/dist/src/vtab/memory/connection.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +6 -1
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +14 -5
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/connection.d.ts +17 -0
- package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/connection.js +26 -0
- package/dist/src/vtab/memory/layer/connection.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +96 -13
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +595 -119
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.d.ts +41 -20
- package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.js +57 -27
- package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.d.ts +21 -0
- package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -0
- package/dist/src/vtab/memory/layer/row-convert.js +30 -0
- package/dist/src/vtab/memory/layer/row-convert.js.map +1 -0
- package/dist/src/vtab/memory/layer/scan-layer.d.ts +6 -3
- package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.js +48 -34
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +127 -13
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +214 -65
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +9 -2
- 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 +3 -2
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/memory/types.d.ts +27 -1
- package/dist/src/vtab/memory/types.d.ts.map +1 -1
- package/dist/src/vtab/memory/types.js +16 -1
- package/dist/src/vtab/memory/types.js.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.d.ts +9 -0
- package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.js +11 -0
- package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
- package/dist/src/vtab/module.d.ts +63 -0
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +24 -6
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +0 -26
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +0 -1
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +0 -66
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
|
@@ -3,7 +3,8 @@ import { emitCallFromPlan, emitPlanNode } from '../emitters.js';
|
|
|
3
3
|
import { createLogger } from '../../common/logger.js';
|
|
4
4
|
import { buildRowDescriptor } from '../../util/row-descriptor.js';
|
|
5
5
|
import { createRowSlot } from '../context-helpers.js';
|
|
6
|
-
import { serializeRowKey } from '../../util/key-serializer.js';
|
|
6
|
+
import { serializeKey, serializeRowKey } from '../../util/key-serializer.js';
|
|
7
|
+
import { semanticKeyTransform } from '../../util/comparison.js';
|
|
7
8
|
import { effectiveCollationOfTypes, hashKeyCollationName } from '../../planner/analysis/comparison-collation.js';
|
|
8
9
|
import { joinOutputRow } from './join-output.js';
|
|
9
10
|
const log = createLogger('runtime:emit:bloom-join');
|
|
@@ -44,6 +45,26 @@ export function emitBloomJoin(plan, ctx) {
|
|
|
44
45
|
const collationName = effectiveCollationOfTypes(leftType, rightType);
|
|
45
46
|
keyNormalizers.push(ctx.resolveKeyNormalizer(hashKeyCollationName(collationName, [leftType, rightType])));
|
|
46
47
|
}
|
|
48
|
+
// Hash-key canonicalizers for semantic-ordering key types: the serialized key IS
|
|
49
|
+
// the join match (no re-verify), so values `=` treats as equal (TIMESPAN
|
|
50
|
+
// 'PT1H' ≡ 'PT60M') must serialize identically. Mirrors GROUP BY in
|
|
51
|
+
// hash-aggregate.ts; per equi-pair, active only when both sides declare the same
|
|
52
|
+
// semantic-ordering logical type with a groupKey hook.
|
|
53
|
+
const keyCanonicalizers = plan.equiPairs.map((_pair, i) => {
|
|
54
|
+
const leftLogical = leftAttributes[leftIndices[i]].type.logicalType;
|
|
55
|
+
const rightLogical = rightAttributes[rightIndices[i]].type.logicalType;
|
|
56
|
+
return leftLogical === rightLogical ? semanticKeyTransform(leftLogical) : undefined;
|
|
57
|
+
});
|
|
58
|
+
const hasKeyCanonicalizer = keyCanonicalizers.some(c => c !== undefined);
|
|
59
|
+
const extractKey = (row, indices) => {
|
|
60
|
+
if (!hasKeyCanonicalizer)
|
|
61
|
+
return serializeRowKey(row, indices, keyNormalizers);
|
|
62
|
+
const values = indices.map((idx, i) => {
|
|
63
|
+
const v = row[idx];
|
|
64
|
+
return keyCanonicalizers[i] ? keyCanonicalizers[i](v) : v;
|
|
65
|
+
});
|
|
66
|
+
return serializeKey(values, keyNormalizers);
|
|
67
|
+
};
|
|
47
68
|
const rightColCount = rightAttributes.length;
|
|
48
69
|
// The residual sub-program is a param only when `plan.residualCondition` is set,
|
|
49
70
|
// so `run` is called with two or three args. Declared as a trailing rest tuple
|
|
@@ -68,7 +89,7 @@ export function emitBloomJoin(plan, ctx) {
|
|
|
68
89
|
// === Build phase: materialize right side into hash map ===
|
|
69
90
|
const hashMap = new Map();
|
|
70
91
|
for await (const rightRow of rightSource) {
|
|
71
|
-
const key =
|
|
92
|
+
const key = extractKey(rightRow, rightIndices);
|
|
72
93
|
if (key === null)
|
|
73
94
|
continue; // null keys can't match
|
|
74
95
|
const bucket = hashMap.get(key);
|
|
@@ -87,7 +108,7 @@ export function emitBloomJoin(plan, ctx) {
|
|
|
87
108
|
break;
|
|
88
109
|
const leftRow = next.value;
|
|
89
110
|
leftSlot.set(leftRow);
|
|
90
|
-
const key =
|
|
111
|
+
const key = extractKey(leftRow, leftIndices);
|
|
91
112
|
let matched = false;
|
|
92
113
|
if (key !== null) {
|
|
93
114
|
const bucket = hashMap.get(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bloom-join.js","sourceRoot":"","sources":["../../../../src/runtime/emit/bloom-join.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"bloom-join.js","sourceRoot":"","sources":["../../../../src/runtime/emit/bloom-join.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/cast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/cast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAkC1E"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { asRun } from '../types.js';
|
|
2
2
|
import { emitPlanNode } from '../emitters.js';
|
|
3
|
-
import {
|
|
3
|
+
import { castFallback } from '../../types/cast-semantics.js';
|
|
4
4
|
export function emitCast(plan, ctx) {
|
|
5
|
-
|
|
5
|
+
// The node's own resolved target type — never re-resolve the name here, or the
|
|
6
|
+
// plan can advertise a type the emitter does not produce.
|
|
7
|
+
const logicalType = plan.getType().logicalType;
|
|
6
8
|
function run(_runtimeCtx, operandValue) {
|
|
7
9
|
if (operandValue === null)
|
|
8
10
|
return null;
|
|
@@ -13,9 +15,14 @@ export function emitCast(plan, ctx) {
|
|
|
13
15
|
catch {
|
|
14
16
|
// CAST failures in SQL return 0 for numeric targets, '' for text, etc.
|
|
15
17
|
// This matches SQLite's lenient CAST behavior.
|
|
16
|
-
return castFallback(operandValue, logicalType
|
|
18
|
+
return castFallback(operandValue, logicalType);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
21
|
+
// NOTE: a type with no `parse` defines no conversion, so the operand passes
|
|
22
|
+
// through while the cast still advertises the target type — the very shape
|
|
23
|
+
// castFallback exists to prevent. Unreachable today: NULL is the only builtin
|
|
24
|
+
// without `parse`, and the parser rejects it as a CAST target. If a plugin
|
|
25
|
+
// ever registers a parse-less type, validate here too.
|
|
19
26
|
return operandValue;
|
|
20
27
|
}
|
|
21
28
|
return {
|
|
@@ -24,24 +31,4 @@ export function emitCast(plan, ctx) {
|
|
|
24
31
|
note: `cast(${plan.expression.targetType})`
|
|
25
32
|
};
|
|
26
33
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Fallback for when LogicalType.parse throws on invalid input.
|
|
29
|
-
* CAST in SQL is lenient: non-numeric strings cast to integer yield 0, etc.
|
|
30
|
-
*/
|
|
31
|
-
function castFallback(value, typeName) {
|
|
32
|
-
switch (typeName) {
|
|
33
|
-
case 'INTEGER':
|
|
34
|
-
return 0;
|
|
35
|
-
case 'REAL':
|
|
36
|
-
return 0.0;
|
|
37
|
-
case 'NUMERIC':
|
|
38
|
-
return 0;
|
|
39
|
-
case 'TEXT':
|
|
40
|
-
return String(value);
|
|
41
|
-
case 'BLOB':
|
|
42
|
-
return new TextEncoder().encode(String(value));
|
|
43
|
-
default:
|
|
44
|
-
return value;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
34
|
//# sourceMappingURL=cast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast.js","sourceRoot":"","sources":["../../../../src/runtime/emit/cast.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cast.js","sourceRoot":"","sources":["../../../../src/runtime/emit/cast.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAoB;IAC5D,+EAA+E;IAC/E,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC;IAE/C,SAAS,GAAG,CACX,WAA2B,EAC3B,YAAsB;QAEtB,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvC,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACJ,OAAO,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACR,uEAAuE;gBACvE,+CAA+C;gBAC/C,OAAO,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,8EAA8E;QAC9E,2EAA2E;QAC3E,uDAAuD;QACvD,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,OAAO;QACN,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,QAAQ,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG;KAC3C,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint-check.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAuC,MAAM,8CAA8C,CAAC;AAC7H,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"constraint-check.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAuC,MAAM,8CAA8C,CAAC;AAC7H,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAuE9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAiKhG"}
|
|
@@ -56,6 +56,11 @@ export function emitConstraintCheck(plan, ctx) {
|
|
|
56
56
|
// Emit evaluators for NOT NULL DEFAULT substitution (used by REPLACE).
|
|
57
57
|
const notNullDefaultPlans = plan.notNullDefaults ?? [];
|
|
58
58
|
const notNullDefaultInstructions = notNullDefaultPlans.map(d => emitCallFromPlan(d.defaultNode, ctx));
|
|
59
|
+
// Which substitutions need conversion — the emitters' static-type rule
|
|
60
|
+
// applied to the DEFAULT expression (see NotNullDefaultRuntime.coerceColumn).
|
|
61
|
+
const notNullDefaultCoercions = notNullDefaultPlans.map(d => d.defaultNode.getType().logicalType !== tableSchema.columns[d.columnIndex].logicalType
|
|
62
|
+
? tableSchema.columns[d.columnIndex]
|
|
63
|
+
: undefined);
|
|
59
64
|
const constraintMetadata = plan.constraintChecks.map((check, idx) => {
|
|
60
65
|
const evaluatorInstruction = checkEvaluators[idx];
|
|
61
66
|
const constraintName = check.constraint.name ?? generateDefaultConstraintName(tableSchema, check.constraint);
|
|
@@ -105,6 +110,7 @@ export function emitConstraintCheck(plan, ctx) {
|
|
|
105
110
|
const defaultsRuntime = notNullDefaultPlans.map((d, i) => ({
|
|
106
111
|
columnIndex: d.columnIndex,
|
|
107
112
|
evaluator: defaultEvalFunctions[i],
|
|
113
|
+
coerceColumn: notNullDefaultCoercions[i],
|
|
108
114
|
}));
|
|
109
115
|
// Pre-compute the combined descriptor (constant across rows)
|
|
110
116
|
const combinedDescriptor = contextDescriptor && contextRow
|
|
@@ -113,9 +119,15 @@ export function emitConstraintCheck(plan, ctx) {
|
|
|
113
119
|
try {
|
|
114
120
|
for await (const inputRow of inputRows) {
|
|
115
121
|
let flatRow = inputRow;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
122
|
+
// The row expressions see through `combinedDescriptor`. The getter is
|
|
123
|
+
// called lazily per lookup, so checkConstraints can swap it mid-row:
|
|
124
|
+
// after a REPLACE NOT NULL DEFAULT substitution, CHECK / FK must read
|
|
125
|
+
// the row AS SUBSTITUTED. The row arrives already converted to declared
|
|
126
|
+
// column types (the DML emitters convert the NEW section up front), so
|
|
127
|
+
// no separate coerced view exists — the substituted row IS what flows
|
|
128
|
+
// downstream.
|
|
129
|
+
let visibleRow = flatRow;
|
|
130
|
+
const evaluation = await withAsyncRowContext(rctx, combinedDescriptor, () => contextRow ? [...contextRow, ...visibleRow] : visibleRow, () => checkConstraints(rctx, plan, tableSchema, flatRow, constraintMetadata, constraintEvalFunctions, stmtOR, defaultsRuntime, row => { visibleRow = row; }));
|
|
119
131
|
if (evaluation.skip)
|
|
120
132
|
continue;
|
|
121
133
|
if (evaluation.replacedRow) {
|
|
@@ -138,15 +150,21 @@ export function emitConstraintCheck(plan, ctx) {
|
|
|
138
150
|
note: `constraintCheck(${plan.operation}, ${contextEvaluatorInstructions.length} ctx, ${plan.constraintChecks.length} checks, ${notNullDefaultInstructions.length} defaults)`
|
|
139
151
|
};
|
|
140
152
|
}
|
|
141
|
-
async function checkConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions, stmtOR, notNullDefaults) {
|
|
142
|
-
//
|
|
153
|
+
async function checkConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions, stmtOR, notNullDefaults, showRow) {
|
|
154
|
+
// The row arrives with its NEW section already converted to declared column
|
|
155
|
+
// types (the DML emitters convert up front, driven by static types), so both
|
|
156
|
+
// passes read declared-form values. NOT NULL runs first: under OR REPLACE it
|
|
157
|
+
// may substitute a column's DEFAULT (converting that one injected value —
|
|
158
|
+
// see NotNullDefaultRuntime.coerceColumn), and CHECK / FK then read the row
|
|
159
|
+
// AS FINALLY SUBSTITUTED, which is also what flows on downstream.
|
|
143
160
|
const nnResult = await checkNotNullConstraints(rctx, plan, tableSchema, row, stmtOR, notNullDefaults);
|
|
144
161
|
if (nnResult.skip)
|
|
145
162
|
return { skip: true };
|
|
146
163
|
if (nnResult.replacedRow)
|
|
147
164
|
row = nnResult.replacedRow;
|
|
165
|
+
showRow(row);
|
|
148
166
|
// CHECK constraints (and synthetic FK existence checks built as RowConstraintSchema).
|
|
149
|
-
const ckResult = await checkCheckConstraints(rctx, plan, tableSchema,
|
|
167
|
+
const ckResult = await checkCheckConstraints(rctx, plan, tableSchema, constraintMetadata, evaluatorFunctions, stmtOR, row);
|
|
150
168
|
if (ckResult.skip)
|
|
151
169
|
return { skip: true };
|
|
152
170
|
return { skip: false, replacedRow: nnResult.replacedRow };
|
|
@@ -186,11 +204,21 @@ async function checkNotNullConstraints(rctx, plan, tableSchema, flatRow, stmtOR,
|
|
|
186
204
|
// No DEFAULT available — REPLACE cannot recover.
|
|
187
205
|
throw new ConstraintError(message);
|
|
188
206
|
}
|
|
189
|
-
|
|
207
|
+
let defaultValue = await defaultEntry.evaluator(rctx);
|
|
190
208
|
if (defaultValue === null || defaultValue === undefined) {
|
|
191
209
|
// DEFAULT itself is NULL — substitution does not satisfy NOT NULL.
|
|
192
210
|
throw new ConstraintError(message);
|
|
193
211
|
}
|
|
212
|
+
if (defaultEntry.coerceColumn) {
|
|
213
|
+
// The substituted value is injected AFTER the emitters' conversion
|
|
214
|
+
// pass, so convert it here by the same static-type rule. Conversion
|
|
215
|
+
// itself can produce NULL (JSON's text 'null'), which still violates
|
|
216
|
+
// NOT NULL.
|
|
217
|
+
defaultValue = validateAndParse(defaultValue, defaultEntry.coerceColumn.logicalType, defaultEntry.coerceColumn.name);
|
|
218
|
+
if (defaultValue === null) {
|
|
219
|
+
throw new ConstraintError(message);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
194
222
|
if (!mutableRow)
|
|
195
223
|
mutableRow = [...flatRow];
|
|
196
224
|
mutableRow[newValueIndex] = defaultValue;
|
|
@@ -201,7 +229,7 @@ async function checkNotNullConstraints(rctx, plan, tableSchema, flatRow, stmtOR,
|
|
|
201
229
|
}
|
|
202
230
|
return { skip: false, replacedRow: mutableRow };
|
|
203
231
|
}
|
|
204
|
-
async function checkCheckConstraints(rctx, plan, tableSchema,
|
|
232
|
+
async function checkCheckConstraints(rctx, plan, tableSchema, constraintMetadata, evaluatorFunctions, stmtOR, flatRow) {
|
|
205
233
|
for (let i = 0; i < constraintMetadata.length; i++) {
|
|
206
234
|
const metadata = constraintMetadata[i];
|
|
207
235
|
const evaluator = evaluatorFunctions[i] ?? metadata.evaluator;
|
|
@@ -219,11 +247,13 @@ async function checkCheckConstraints(rctx, plan, tableSchema, row, constraintMet
|
|
|
219
247
|
if (plan.operation === RowOpFlag.UPDATE &&
|
|
220
248
|
metadata.kind === 'fk-parent' &&
|
|
221
249
|
metadata.referencedColumnIndices) {
|
|
250
|
+
// Both halves are in stored (declared) form: OLD comes from the scan, NEW
|
|
251
|
+
// was converted by the DML emitter — so plain identity is the right test.
|
|
222
252
|
const numCols = tableSchema.columns.length;
|
|
223
253
|
let anyChanged = false;
|
|
224
254
|
for (const colIdx of metadata.referencedColumnIndices) {
|
|
225
|
-
const oldVal =
|
|
226
|
-
const newVal =
|
|
255
|
+
const oldVal = flatRow[colIdx]; // OLD section: 0..n-1
|
|
256
|
+
const newVal = flatRow[numCols + colIdx]; // NEW section: n..2n-1
|
|
227
257
|
if (!sqlValueIdentical(oldVal, newVal)) {
|
|
228
258
|
anyChanged = true;
|
|
229
259
|
break;
|
|
@@ -238,7 +268,7 @@ async function checkCheckConstraints(rctx, plan, tableSchema, row, constraintMet
|
|
|
238
268
|
const mustEvaluateNow = effectiveAction !== ConflictResolution.ABORT;
|
|
239
269
|
if (metadata.shouldDefer && !mustEvaluateNow) {
|
|
240
270
|
const activeConnectionId = rctx.activeConnection?.connectionId;
|
|
241
|
-
rctx.db._queueDeferredConstraintRow(metadata.baseTable, metadata.constraintName,
|
|
271
|
+
rctx.db._queueDeferredConstraintRow(metadata.baseTable, metadata.constraintName, flatRow, metadata.flatRowDescriptor, evaluator, activeConnectionId, metadata.contextRow, metadata.contextDescriptor);
|
|
242
272
|
continue;
|
|
243
273
|
}
|
|
244
274
|
// Resolve without a per-row microtask hop (see runtime/async-util.ts).
|
|
@@ -266,39 +296,6 @@ async function checkCheckConstraints(rctx, plan, tableSchema, row, constraintMet
|
|
|
266
296
|
}
|
|
267
297
|
return { skip: false };
|
|
268
298
|
}
|
|
269
|
-
/**
|
|
270
|
-
* Snapshot the flat OLD/NEW row for deferred evaluation, coercing the NEW
|
|
271
|
-
* section (indices n..2n-1) to the declared column logical types.
|
|
272
|
-
*
|
|
273
|
-
* The insert pipeline defers type conversion to the storage layer's
|
|
274
|
-
* validateAndParse, so the row reaching this node still holds raw NEW values.
|
|
275
|
-
* Deferred CHECK subqueries compare these against already-coerced stored rows
|
|
276
|
-
* in other tables, so we coerce NEW here to keep coerced-vs-coerced equality at
|
|
277
|
-
* commit time (GitHub #25).
|
|
278
|
-
*
|
|
279
|
-
* OLD values (0..n-1) are NULL on INSERT or read from already-coerced stored
|
|
280
|
-
* rows on UPDATE, so they are left untouched. A per-cell parse failure falls
|
|
281
|
-
* back to the raw value, preserving the existing error semantics — the row's
|
|
282
|
-
* own performInsert remains the authoritative place that throws MISMATCH.
|
|
283
|
-
*/
|
|
284
|
-
function coerceNewSection(row, tableSchema) {
|
|
285
|
-
const numCols = tableSchema.columns.length;
|
|
286
|
-
const snapshot = row.slice();
|
|
287
|
-
for (let i = 0; i < numCols; i++) {
|
|
288
|
-
const newIndex = numCols + i;
|
|
289
|
-
if (newIndex >= snapshot.length)
|
|
290
|
-
break;
|
|
291
|
-
const column = tableSchema.columns[i];
|
|
292
|
-
const value = snapshot[newIndex];
|
|
293
|
-
try {
|
|
294
|
-
snapshot[newIndex] = validateAndParse(value, column.logicalType, column.name);
|
|
295
|
-
}
|
|
296
|
-
catch {
|
|
297
|
-
// Keep the raw value; downstream performInsert reports the error as today.
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
return snapshot;
|
|
301
|
-
}
|
|
302
299
|
function generateDefaultConstraintName(tableSchema, constraint) {
|
|
303
300
|
// Find the index of this constraint in the original array to get the correct constraint number
|
|
304
301
|
const originalIndex = tableSchema.checkConstraints.findIndex((c) => c === constraint);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint-check.js","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constraint-check.js","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-view.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-view.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAsEvF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { QuereusError } from '../../common/errors.js';
|
|
2
2
|
import { StatusCode } from '../../common/types.js';
|
|
3
|
+
import { assertCatalogObjectPersistable } from '../../schema/catalog-persistability.js';
|
|
3
4
|
export function emitCreateView(plan, _ctx) {
|
|
4
5
|
async function run(rctx) {
|
|
5
6
|
// Ensure we're in a transaction before DDL (lazy/JIT transaction start)
|
|
@@ -28,6 +29,11 @@ export function emitCreateView(plan, _ctx) {
|
|
|
28
29
|
if (!schema) {
|
|
29
30
|
throw new QuereusError(`Schema '${plan.schemaName}' does not exist`, StatusCode.ERROR);
|
|
30
31
|
}
|
|
32
|
+
// Refuse up front if a registered module could not durably persist this
|
|
33
|
+
// definition — the persistence itself is fire-and-forget (see
|
|
34
|
+
// assertCatalogObjectPersistable), so this is the only place the failure can
|
|
35
|
+
// reach the statement. Nothing has been mutated yet, so a throw is a clean no-op.
|
|
36
|
+
assertCatalogObjectPersistable(rctx.db, 'view', viewSchema);
|
|
31
37
|
schema.addView(viewSchema);
|
|
32
38
|
// Fire view_added so a store-backed catalog can persist this view. Fired
|
|
33
39
|
// here (not from Schema.addView) so only user/declarative DDL views are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-view.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAiB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-view.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAExF,MAAM,UAAU,cAAc,CAAC,IAAoB,EAAE,IAAqB;IACzE,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,wEAAwE;QACxE,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAEnC,+BAA+B;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnF,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,YAAY,CACrB,SAAS,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,kBAAkB,EAC3D,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,IAAI,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,kEAAkE;YAClE,OAAO,IAAI,CAAC;QACb,CAAC;QAED,+DAA+D;QAC/D,0EAA0E;QAC1E,MAAM,UAAU,GAAe;YAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;QAEF,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,YAAY,CACrB,WAAW,IAAI,CAAC,UAAU,kBAAkB,EAC5C,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,8DAA8D;QAC9D,6EAA6E;QAC7E,kFAAkF;QAClF,8BAA8B,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3B,yEAAyE;QACzE,wEAAwE;QACxE,4EAA4E;QAC5E,2EAA2E;QAC3E,eAAe;QACf,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC;YACtD,IAAI,EAAE,YAAY;YAClB,kDAAkD;YAClD,0EAA0E;YAC1E,4EAA4E;YAC5E,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,SAAS,EAAE,UAAU;SACrB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,wDAAwD;IACtE,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG;QACH,IAAI,EAAE,cAAc,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG;KACvD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distinct.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/distinct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"distinct.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/distinct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA6ClF"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { asRun } from '../types.js';
|
|
2
2
|
import { emitPlanNode } from '../emitters.js';
|
|
3
|
-
import {
|
|
3
|
+
import { createSemanticRowComparator, BINARY_COLLATION } from '../../util/comparison.js';
|
|
4
4
|
import { BTree } from 'inheritree';
|
|
5
5
|
import { buildRowDescriptor } from '../../util/row-descriptor.js';
|
|
6
6
|
import { createRowSlot } from '../context-helpers.js';
|
|
7
7
|
export function emitDistinct(plan, ctx) {
|
|
8
8
|
// Create row descriptor for output attributes (same as source since DISTINCT preserves attributes)
|
|
9
9
|
const outputRowDescriptor = buildRowDescriptor(plan.getAttributes());
|
|
10
|
-
// Pre-resolve
|
|
10
|
+
// Pre-resolve the row-identity comparator (safe for mixed-type rows). Columns whose
|
|
11
|
+
// declared logical type has semantic ordering (TIMESPAN, JSON) compare through the
|
|
12
|
+
// type's compare so DISTINCT identity agrees with `=` (TIMESPAN 'PT1H' ≡ 'PT60M'
|
|
13
|
+
// collapses to one row); all other columns keep storage-class + collation identity.
|
|
11
14
|
const attributes = plan.getAttributes();
|
|
12
|
-
const collationRowComparator =
|
|
15
|
+
const collationRowComparator = createSemanticRowComparator(attributes.map(attr => attr.type.logicalType), attributes.map(attr => attr.type.collationName ? ctx.resolveCollation(attr.type.collationName) : BINARY_COLLATION));
|
|
13
16
|
async function* run(rctx, source) {
|
|
14
17
|
// Create BTree to efficiently track distinct rows using pre-resolved typed comparator
|
|
15
18
|
const distinctTree = new BTree((row) => row, collationRowComparator);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../../../src/runtime/emit/distinct.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../../../src/runtime/emit/distinct.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,YAAY,CAAC,IAAkB,EAAE,GAAoB;IACpE,mGAAmG;IACnG,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAErE,oFAAoF;IACpF,mFAAmF;IACnF,iFAAiF;IACjF,oFAAoF;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACxC,MAAM,sBAAsB,GAAG,2BAA2B,CACzD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAC7C,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAClH,CAAC;IAEF,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,IAAoB,EAAE,MAA0B;QACnE,sFAAsF;QACtF,MAAM,YAAY,GAAG,IAAI,KAAK,CAC7B,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,EACjB,sBAAsB,CACtB,CAAC;QAEF,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC5D,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;gBACtC,yDAAyD;gBACzD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAE/C,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;oBAChB,2DAA2D;oBAC3D,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC1B,MAAM,SAAS,CAAC;gBACjB,CAAC;YACF,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzD,OAAO;QACN,MAAM,EAAE,CAAC,iBAAiB,CAAC;QAC3B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,4BAA4B;KAClC,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dml-executor.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/dml-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAA+C,MAAM,aAAa,CAAC;AAO5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"dml-executor.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/dml-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAA+C,MAAM,aAAa,CAAC;AAO5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA+QzD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAQ7E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAu+BxF"}
|