@quereus/quereus 0.6.4 → 0.6.6
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 +19 -1
- package/dist/src/common/logger.d.ts +59 -0
- package/dist/src/common/logger.d.ts.map +1 -1
- package/dist/src/common/logger.js +68 -0
- package/dist/src/common/logger.js.map +1 -1
- package/dist/src/func/builtins/datetime.d.ts.map +1 -1
- package/dist/src/func/builtins/datetime.js +10 -5
- package/dist/src/func/builtins/datetime.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
- package/dist/src/planner/building/constraint-builder.js +4 -0
- package/dist/src/planner/building/constraint-builder.js.map +1 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +2 -1
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +4 -1
- 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 +4 -2
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.d.ts +8 -2
- package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.js +11 -2
- package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
- package/dist/src/planner/validation/determinism-validator.d.ts +47 -0
- package/dist/src/planner/validation/determinism-validator.d.ts.map +1 -0
- package/dist/src/planner/validation/determinism-validator.js +63 -0
- package/dist/src/planner/validation/determinism-validator.js.map +1 -0
- package/dist/src/runtime/async-util.d.ts.map +1 -1
- package/dist/src/runtime/async-util.js +4 -3
- package/dist/src/runtime/async-util.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +3 -0
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +84 -8
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emitters.d.ts.map +1 -1
- package/dist/src/runtime/emitters.js +2 -1
- package/dist/src/runtime/emitters.js.map +1 -1
- package/dist/src/runtime/types.d.ts +1 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/runtime/utils.d.ts +14 -0
- package/dist/src/runtime/utils.d.ts.map +1 -1
- package/dist/src/runtime/utils.js +40 -1
- package/dist/src/runtime/utils.js.map +1 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +50 -0
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/util/ast-stringify.d.ts.map +1 -1
- package/dist/src/util/ast-stringify.js +14 -1
- package/dist/src/util/ast-stringify.js.map +1 -1
- package/dist/src/util/mutation-statement.d.ts +16 -0
- package/dist/src/util/mutation-statement.d.ts.map +1 -0
- package/dist/src/util/mutation-statement.js +92 -0
- package/dist/src/util/mutation-statement.js.map +1 -0
- package/dist/src/util/sql-literal.d.ts +11 -0
- package/dist/src/util/sql-literal.d.ts.map +1 -0
- package/dist/src/util/sql-literal.js +18 -0
- package/dist/src/util/sql-literal.js.map +1 -0
- package/dist/src/vtab/memory/table.d.ts +1 -2
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +3 -3
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/table.d.ts +23 -5
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js +6 -0
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +1 -1
- package/src/common/logger.ts +75 -1
- package/src/func/builtins/datetime.ts +10 -5
- package/src/index.ts +4 -1
- package/src/planner/building/constraint-builder.ts +178 -173
- package/src/planner/building/delete.ts +5 -1
- package/src/planner/building/insert.ts +8 -1
- package/src/planner/building/update.ts +10 -2
- package/src/planner/nodes/dml-executor-node.ts +8 -2
- package/src/planner/validation/determinism-validator.ts +104 -0
- package/src/runtime/async-util.ts +4 -3
- package/src/runtime/emit/add-constraint.ts +3 -0
- package/src/runtime/emit/dml-executor.ts +105 -9
- package/src/runtime/emitters.ts +2 -1
- package/src/runtime/types.ts +3 -0
- package/src/runtime/utils.ts +41 -1
- package/src/schema/manager.ts +800 -742
- package/src/util/ast-stringify.ts +24 -1
- package/src/util/hash.ts +90 -90
- package/src/util/mutation-statement.ts +129 -0
- package/src/util/plugin-helper.ts +110 -110
- package/src/util/sql-literal.ts +22 -0
- package/src/vtab/memory/table.ts +3 -8
- package/src/vtab/table.ts +25 -10
|
@@ -172,7 +172,8 @@ export function buildUpdateStmt(ctx, stmt) {
|
|
|
172
172
|
// For returning, we still need to execute the update before projecting
|
|
173
173
|
// Always inject ConstraintCheckNode for UPDATE operations (provides required metadata)
|
|
174
174
|
const constraintCheckNode = new ConstraintCheckNode(updateCtx.scope, updateNodeWithDescriptor, tableReference, RowOpFlag.UPDATE, oldRowDescriptor, newRowDescriptor, flatRowDescriptor, constraintChecks, mutationContextValues.size > 0 ? mutationContextValues : undefined, contextAttributes.length > 0 ? contextAttributes : undefined, contextDescriptor);
|
|
175
|
-
const updateExecutorNode = new DmlExecutorNode(updateCtx.scope, constraintCheckNode, tableReference, 'update'
|
|
175
|
+
const updateExecutorNode = new DmlExecutorNode(updateCtx.scope, constraintCheckNode, tableReference, 'update', undefined, // onConflict not used for UPDATE
|
|
176
|
+
mutationContextValues.size > 0 ? mutationContextValues : undefined, contextAttributes.length > 0 ? contextAttributes : undefined, contextDescriptor);
|
|
176
177
|
// Return the RETURNING results from the executed update
|
|
177
178
|
return new ReturningNode(updateCtx.scope, updateExecutorNode, returningProjections);
|
|
178
179
|
}
|
|
@@ -181,7 +182,8 @@ export function buildUpdateStmt(ctx, stmt) {
|
|
|
181
182
|
const updateNode = new UpdateNode(updateCtx.scope, tableReference, assignments, sourceNode, stmt.onConflict, oldRowDescriptor, newRowDescriptor, flatRowDescriptor, mutationContextValues.size > 0 ? mutationContextValues : undefined, contextAttributes.length > 0 ? contextAttributes : undefined, contextDescriptor);
|
|
182
183
|
// Step 2: inject constraint checking AFTER update row generation
|
|
183
184
|
const constraintCheckNode = new ConstraintCheckNode(updateCtx.scope, updateNode, tableReference, RowOpFlag.UPDATE, oldRowDescriptor, newRowDescriptor, flatRowDescriptor, constraintChecks, mutationContextValues.size > 0 ? mutationContextValues : undefined, contextAttributes.length > 0 ? contextAttributes : undefined, contextDescriptor);
|
|
184
|
-
const updateExecutorNode = new DmlExecutorNode(updateCtx.scope, constraintCheckNode, tableReference, 'update'
|
|
185
|
+
const updateExecutorNode = new DmlExecutorNode(updateCtx.scope, constraintCheckNode, tableReference, 'update', undefined, // onConflict not used for UPDATE
|
|
186
|
+
mutationContextValues.size > 0 ? mutationContextValues : undefined, contextAttributes.length > 0 ? contextAttributes : undefined, contextDescriptor);
|
|
185
187
|
return new SinkNode(updateCtx.scope, updateExecutorNode, 'update');
|
|
186
188
|
}
|
|
187
189
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/planner/building/update.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/planner/building/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Scope } from '../scopes/scope.js';
|
|
2
|
-
import { PlanNode, type RelationalPlanNode, type Attribute, type PhysicalProperties } from './plan-node.js';
|
|
2
|
+
import { PlanNode, type RelationalPlanNode, type Attribute, type PhysicalProperties, type ScalarPlanNode, type RowDescriptor } from './plan-node.js';
|
|
3
3
|
import { PlanNodeType } from './plan-node-type.js';
|
|
4
4
|
import type { TableReferenceNode } from './reference.js';
|
|
5
5
|
import type { RelationType } from '../../common/datatype.js';
|
|
@@ -15,8 +15,14 @@ export declare class DmlExecutorNode extends PlanNode implements RelationalPlanN
|
|
|
15
15
|
readonly table: TableReferenceNode;
|
|
16
16
|
readonly operation: RowOp;
|
|
17
17
|
readonly onConflict?: ConflictResolution | undefined;
|
|
18
|
+
readonly mutationContextValues?: Map<string, ScalarPlanNode> | undefined;
|
|
19
|
+
readonly contextAttributes?: Attribute[] | undefined;
|
|
20
|
+
readonly contextDescriptor?: RowDescriptor | undefined;
|
|
18
21
|
readonly nodeType = PlanNodeType.UpdateExecutor;
|
|
19
|
-
constructor(scope: Scope, source: RelationalPlanNode, table: TableReferenceNode, operation: RowOp, onConflict?: ConflictResolution | undefined
|
|
22
|
+
constructor(scope: Scope, source: RelationalPlanNode, table: TableReferenceNode, operation: RowOp, onConflict?: ConflictResolution | undefined, // Used for INSERT operations
|
|
23
|
+
mutationContextValues?: Map<string, ScalarPlanNode> | undefined, // Mutation context value expressions
|
|
24
|
+
contextAttributes?: Attribute[] | undefined, // Mutation context attributes
|
|
25
|
+
contextDescriptor?: RowDescriptor | undefined);
|
|
20
26
|
getType(): RelationType;
|
|
21
27
|
getAttributes(): readonly Attribute[];
|
|
22
28
|
getRelations(): readonly [RelationalPlanNode, TableReferenceNode];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dml-executor-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/dml-executor-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,KAAK,kBAAkB,EAAoB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dml-executor-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/dml-executor-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AACvK,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,QAAS,YAAW,kBAAkB;aAKvD,MAAM,EAAE,kBAAkB;aAC1B,KAAK,EAAE,kBAAkB;aACzB,SAAS,EAAE,KAAK;aAChB,UAAU,CAAC,EAAE,kBAAkB;aAC/B,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;aACnD,iBAAiB,CAAC,EAAE,SAAS,EAAE;aAC/B,iBAAiB,CAAC,EAAE,aAAa;IAVnD,SAAkB,QAAQ,+BAA+B;gBAGvD,KAAK,EAAE,KAAK,EACI,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,KAAK,EAChB,UAAU,CAAC,EAAE,kBAAkB,YAAA,EAAE,6BAA6B;IAC9D,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,YAAA,EAAE,qCAAqC;IAC1F,iBAAiB,CAAC,EAAE,SAAS,EAAE,YAAA,EAAE,8BAA8B;IAC/D,iBAAiB,CAAC,EAAE,aAAa,YAAA;IAKnD,OAAO,IAAI,YAAY;IAIvB,aAAa,IAAI,SAAS,SAAS,EAAE;IAIrC,YAAY,IAAI,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAIjE,WAAW,IAAI,SAAS,QAAQ,EAAE;IAIlC,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IA8BxD,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAEQ,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAcxD,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAM/C"}
|
|
@@ -10,13 +10,22 @@ export class DmlExecutorNode extends PlanNode {
|
|
|
10
10
|
table;
|
|
11
11
|
operation;
|
|
12
12
|
onConflict;
|
|
13
|
+
mutationContextValues;
|
|
14
|
+
contextAttributes;
|
|
15
|
+
contextDescriptor;
|
|
13
16
|
nodeType = PlanNodeType.UpdateExecutor;
|
|
14
|
-
constructor(scope, source, table, operation, onConflict
|
|
17
|
+
constructor(scope, source, table, operation, onConflict, // Used for INSERT operations
|
|
18
|
+
mutationContextValues, // Mutation context value expressions
|
|
19
|
+
contextAttributes, // Mutation context attributes
|
|
20
|
+
contextDescriptor) {
|
|
15
21
|
super(scope);
|
|
16
22
|
this.source = source;
|
|
17
23
|
this.table = table;
|
|
18
24
|
this.operation = operation;
|
|
19
25
|
this.onConflict = onConflict;
|
|
26
|
+
this.mutationContextValues = mutationContextValues;
|
|
27
|
+
this.contextAttributes = contextAttributes;
|
|
28
|
+
this.contextDescriptor = contextDescriptor;
|
|
20
29
|
}
|
|
21
30
|
getType() {
|
|
22
31
|
return this.source.getType();
|
|
@@ -44,7 +53,7 @@ export class DmlExecutorNode extends PlanNode {
|
|
|
44
53
|
return this;
|
|
45
54
|
}
|
|
46
55
|
// Create new instance
|
|
47
|
-
return new DmlExecutorNode(this.scope, newSource, this.table, this.operation, this.onConflict);
|
|
56
|
+
return new DmlExecutorNode(this.scope, newSource, this.table, this.operation, this.onConflict, this.mutationContextValues, this.contextAttributes, this.contextDescriptor);
|
|
48
57
|
}
|
|
49
58
|
get estimatedRows() {
|
|
50
59
|
return this.source.estimatedRows;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dml-executor-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/dml-executor-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"dml-executor-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/dml-executor-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ScalarPlanNode } from '../nodes/plan-node.js';
|
|
2
|
+
/**
|
|
3
|
+
* Result of determinism validation. If valid, `error` is undefined.
|
|
4
|
+
* If invalid, contains the information needed to construct an error message.
|
|
5
|
+
*/
|
|
6
|
+
export interface DeterminismValidationResult {
|
|
7
|
+
/** True if the expression is deterministic */
|
|
8
|
+
valid: boolean;
|
|
9
|
+
/** String representation of the offending expression (if invalid) */
|
|
10
|
+
expression?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Checks if an expression is deterministic (suitable for constraints and defaults).
|
|
14
|
+
* Returns a result object instead of throwing, allowing the caller to decide how to handle.
|
|
15
|
+
*
|
|
16
|
+
* @param expr The expression plan node to check
|
|
17
|
+
* @returns Validation result indicating if deterministic
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkDeterministic(expr: ScalarPlanNode): DeterminismValidationResult;
|
|
20
|
+
/**
|
|
21
|
+
* Validates that an expression is deterministic (suitable for constraints and defaults).
|
|
22
|
+
* Non-deterministic expressions must be passed via mutation context instead.
|
|
23
|
+
*
|
|
24
|
+
* @param expr The expression plan node to validate
|
|
25
|
+
* @param context Description of where the expression is used (e.g., "DEFAULT for column 'created_at'")
|
|
26
|
+
* @throws QuereusError if the expression is non-deterministic
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateDeterministicExpression(expr: ScalarPlanNode, context: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Validates that a CHECK constraint expression is deterministic.
|
|
31
|
+
*
|
|
32
|
+
* @param expr The constraint expression plan node
|
|
33
|
+
* @param constraintName The name of the constraint (for error messages)
|
|
34
|
+
* @param tableName The name of the table (for error messages)
|
|
35
|
+
* @throws QuereusError if the expression is non-deterministic
|
|
36
|
+
*/
|
|
37
|
+
export declare function validateDeterministicConstraint(expr: ScalarPlanNode, constraintName: string, tableName: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Validates that a DEFAULT expression is deterministic.
|
|
40
|
+
*
|
|
41
|
+
* @param expr The default value expression plan node
|
|
42
|
+
* @param columnName The name of the column (for error messages)
|
|
43
|
+
* @param tableName The name of the table (for error messages)
|
|
44
|
+
* @throws QuereusError if the expression is non-deterministic
|
|
45
|
+
*/
|
|
46
|
+
export declare function validateDeterministicDefault(expr: ScalarPlanNode, columnName: string, tableName: string): void;
|
|
47
|
+
//# sourceMappingURL=determinism-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"determinism-validator.d.ts","sourceRoot":"","sources":["../../../../src/planner/validation/determinism-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC3C,8CAA8C;IAC9C,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,2BAA2B,CAYpF;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,GACb,IAAI,CAeN;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GACf,IAAI,CAKN;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GACf,IAAI,CAKN"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { QuereusError } from '../../common/errors.js';
|
|
2
|
+
import { StatusCode } from '../../common/types.js';
|
|
3
|
+
import { createLogger } from '../../common/logger.js';
|
|
4
|
+
const log = createLogger('planner:validation:determinism');
|
|
5
|
+
/**
|
|
6
|
+
* Checks if an expression is deterministic (suitable for constraints and defaults).
|
|
7
|
+
* Returns a result object instead of throwing, allowing the caller to decide how to handle.
|
|
8
|
+
*
|
|
9
|
+
* @param expr The expression plan node to check
|
|
10
|
+
* @returns Validation result indicating if deterministic
|
|
11
|
+
*/
|
|
12
|
+
export function checkDeterministic(expr) {
|
|
13
|
+
const physical = expr.physical;
|
|
14
|
+
if (physical.deterministic === false) {
|
|
15
|
+
log('Non-deterministic expression detected: %s', expr.toString());
|
|
16
|
+
return {
|
|
17
|
+
valid: false,
|
|
18
|
+
expression: expr.toString()
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return { valid: true };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validates that an expression is deterministic (suitable for constraints and defaults).
|
|
25
|
+
* Non-deterministic expressions must be passed via mutation context instead.
|
|
26
|
+
*
|
|
27
|
+
* @param expr The expression plan node to validate
|
|
28
|
+
* @param context Description of where the expression is used (e.g., "DEFAULT for column 'created_at'")
|
|
29
|
+
* @throws QuereusError if the expression is non-deterministic
|
|
30
|
+
*/
|
|
31
|
+
export function validateDeterministicExpression(expr, context) {
|
|
32
|
+
log('Validating determinism for: %s', context);
|
|
33
|
+
const result = checkDeterministic(expr);
|
|
34
|
+
if (!result.valid) {
|
|
35
|
+
throw new QuereusError(`Non-deterministic expression not allowed in ${context}. ` +
|
|
36
|
+
`Expression: ${result.expression}. ` +
|
|
37
|
+
`Use mutation context to pass non-deterministic values (e.g., WITH CONTEXT (timestamp = datetime('now'))).`, StatusCode.ERROR);
|
|
38
|
+
}
|
|
39
|
+
log('Expression is deterministic: %s', expr.toString());
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validates that a CHECK constraint expression is deterministic.
|
|
43
|
+
*
|
|
44
|
+
* @param expr The constraint expression plan node
|
|
45
|
+
* @param constraintName The name of the constraint (for error messages)
|
|
46
|
+
* @param tableName The name of the table (for error messages)
|
|
47
|
+
* @throws QuereusError if the expression is non-deterministic
|
|
48
|
+
*/
|
|
49
|
+
export function validateDeterministicConstraint(expr, constraintName, tableName) {
|
|
50
|
+
validateDeterministicExpression(expr, `CHECK constraint '${constraintName}' on table '${tableName}'`);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Validates that a DEFAULT expression is deterministic.
|
|
54
|
+
*
|
|
55
|
+
* @param expr The default value expression plan node
|
|
56
|
+
* @param columnName The name of the column (for error messages)
|
|
57
|
+
* @param tableName The name of the table (for error messages)
|
|
58
|
+
* @throws QuereusError if the expression is non-deterministic
|
|
59
|
+
*/
|
|
60
|
+
export function validateDeterministicDefault(expr, columnName, tableName) {
|
|
61
|
+
validateDeterministicExpression(expr, `DEFAULT for column '${columnName}' in table '${tableName}'`);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=determinism-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"determinism-validator.js","sourceRoot":"","sources":["../../../../src/planner/validation/determinism-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,GAAG,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;AAa3D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAoB;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE/B,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QACtC,GAAG,CAAC,2CAA2C,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE;SAC3B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC9C,IAAoB,EACpB,OAAe;IAEf,GAAG,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,YAAY,CACrB,+CAA+C,OAAO,IAAI;YAC1D,eAAe,MAAM,CAAC,UAAU,IAAI;YACpC,2GAA2G,EAC3G,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,iCAAiC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC9C,IAAoB,EACpB,cAAsB,EACtB,SAAiB;IAEjB,+BAA+B,CAC9B,IAAI,EACJ,qBAAqB,cAAc,eAAe,SAAS,GAAG,CAC9D,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC3C,IAAoB,EACpB,UAAkB,EAClB,SAAiB;IAEjB,+BAA+B,CAC9B,IAAI,EACJ,uBAAuB,UAAU,eAAe,SAAS,GAAG,CAC5D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-util.d.ts","sourceRoot":"","sources":["../../../src/runtime/async-util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"async-util.d.ts","sourceRoot":"","sources":["../../../src/runtime/async-util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAM5D;;GAEG;AACH,wBAAuB,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAC9C,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GACf,aAAa,CAAC,CAAC,CAAC,CAIlB;AAED;;GAEG;AACH,wBAAuB,UAAU,CAAC,CAAC,EAClC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,GACrC,aAAa,CAAC,CAAC,CAAC,CAOlB;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CA2ElF;AAED;;GAEG;AACH,wBAAuB,QAAQ,CAAC,CAAC,EAChC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,SAAS,EAAE,MAAM,GACf,aAAa,CAAC,CAAC,CAAC,CAuClB;AAED;;GAEG;AACH,wBAAuB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAOrF;AAED;;GAEG;AACH,wBAAuB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CASrF;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrE;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAMpE;AAED;;;GAGG;AACH,wBAAuB,KAAK,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CA0BhF;AAED;;GAEG;AACH,wBAAuB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAIzE;AAED;;GAEG;AACH,wBAAuB,MAAM,CAAC,CAAC,EAC9B,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAC7C,aAAa,CAAC,CAAC,CAAC,CAmBlB"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Used by CacheNode emitter, NestedLoopJoin inner side, and other streaming operations
|
|
4
4
|
*/
|
|
5
5
|
import { createLogger } from '../common/logger.js';
|
|
6
|
+
import { getAsyncIterator } from './utils.js';
|
|
6
7
|
const log = createLogger('runtime:async-util');
|
|
7
8
|
/**
|
|
8
9
|
* Transform rows using a mapping function
|
|
@@ -38,7 +39,7 @@ export function tee(src) {
|
|
|
38
39
|
return;
|
|
39
40
|
}
|
|
40
41
|
if (!srcIterator) {
|
|
41
|
-
srcIterator = src
|
|
42
|
+
srcIterator = getAsyncIterator(src);
|
|
42
43
|
}
|
|
43
44
|
while (buffer.length <= targetIndex && !srcDone) {
|
|
44
45
|
const result = await srcIterator.next();
|
|
@@ -99,7 +100,7 @@ export function tee(src) {
|
|
|
99
100
|
*/
|
|
100
101
|
export async function* buffered(src, maxBuffer) {
|
|
101
102
|
const buffer = [];
|
|
102
|
-
const srcIterator = src
|
|
103
|
+
const srcIterator = getAsyncIterator(src);
|
|
103
104
|
let srcDone = false;
|
|
104
105
|
let fillPromise = null;
|
|
105
106
|
// Fill buffer in background
|
|
@@ -183,7 +184,7 @@ export async function collect(src) {
|
|
|
183
184
|
* Items are yielded as soon as they become available from any source
|
|
184
185
|
*/
|
|
185
186
|
export async function* merge(...sources) {
|
|
186
|
-
const iterators = sources.map(src => src
|
|
187
|
+
const iterators = sources.map(src => getAsyncIterator(src));
|
|
187
188
|
const pending = new Map();
|
|
188
189
|
// Start initial reads
|
|
189
190
|
for (let i = 0; i < iterators.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-util.js","sourceRoot":"","sources":["../../../src/runtime/async-util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"async-util.js","sourceRoot":"","sources":["../../../src/runtime/async-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-constraint.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"add-constraint.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAkE7F"}
|
|
@@ -15,6 +15,9 @@ export function emitAddConstraint(plan, _ctx) {
|
|
|
15
15
|
throw new QuereusError('CHECK constraint requires an expression', StatusCode.ERROR);
|
|
16
16
|
}
|
|
17
17
|
// Create the constraint schema object
|
|
18
|
+
// Note: We don't validate determinism here because constraints may reference NEW/OLD
|
|
19
|
+
// which require special scoping. Determinism is validated at INSERT/UPDATE plan time
|
|
20
|
+
// in constraint-builder.ts when the constraint is actually checked.
|
|
18
21
|
const constraintSchema = {
|
|
19
22
|
name: constraint.name || `check_${tableSchema.checkConstraints.length}`,
|
|
20
23
|
expr: constraint.expr,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-constraint.js","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAY,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,GAAG,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,IAAuB,EAAE,IAAqB;IAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAE3C,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,2DAA2D;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CACrB,kBAAkB,UAAU,CAAC,IAAI,yBAAyB,EAC1D,UAAU,CAAC,WAAW,CACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,YAAY,CACrB,yCAAyC,EACzC,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,gBAAgB,GAAwB;YAC7C,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,SAAS,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE;YACvE,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,sCAAsC;YACpF,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,KAAK;YAC1C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;SAC/C,CAAC;QAEF,gFAAgF;QAChF,MAAM,kBAAkB,GAAG,CAAC,GAAG,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAC/E,MAAM,kBAAkB,GAAgB;YACvC,GAAG,WAAW;YACd,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;SACnD,CAAC;QAEF,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAErE,0DAA0D;QAC1D,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEpC,6DAA6D;QAC7D,aAAa,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC;YAC9C,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,kBAAkB;SAC7B,CAAC,CAAC;QAEH,GAAG,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAE3G,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,iBAAiB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,SAAS,GAAG;KAC3F,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"add-constraint.js","sourceRoot":"","sources":["../../../../src/runtime/emit/add-constraint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAY,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,GAAG,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,IAAuB,EAAE,IAAqB;IAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAE3C,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,2DAA2D;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CACrB,kBAAkB,UAAU,CAAC,IAAI,yBAAyB,EAC1D,UAAU,CAAC,WAAW,CACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,YAAY,CACrB,yCAAyC,EACzC,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,qFAAqF;QACrF,qFAAqF;QACrF,oEAAoE;QACpE,MAAM,gBAAgB,GAAwB;YAC7C,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,SAAS,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE;YACvE,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,sCAAsC;YACpF,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,KAAK;YAC1C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;SAC/C,CAAC;QAEF,gFAAgF;QAChF,MAAM,kBAAkB,GAAG,CAAC,GAAG,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAC/E,MAAM,kBAAkB,GAAgB;YACvC,GAAG,WAAW;YACd,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;SACnD,CAAC;QAEF,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAErE,0DAA0D;QAC1D,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEpC,6DAA6D;QAC7D,aAAa,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC;YAC9C,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,kBAAkB;SAC7B,CAAC,CAAC;QAEH,GAAG,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAE3G,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,iBAAiB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,SAAS,GAAG;KAC3F,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,
|
|
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;AAM5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAyLxF"}
|
|
@@ -1,21 +1,55 @@
|
|
|
1
|
-
import { emitPlanNode } from '../emitters.js';
|
|
1
|
+
import { emitPlanNode, emitCallFromPlan } from '../emitters.js';
|
|
2
2
|
import { QuereusError } from '../../common/errors.js';
|
|
3
3
|
import { StatusCode } from '../../common/types.js';
|
|
4
4
|
import { getVTable, disconnectVTable } from '../utils.js';
|
|
5
5
|
import { ConflictResolution } from '../../common/constants.js';
|
|
6
6
|
import { extractOldRowFromFlat, extractNewRowFromFlat } from '../../util/row-descriptor.js';
|
|
7
|
+
import { buildInsertStatement, buildUpdateStatement, buildDeleteStatement } from '../../util/mutation-statement.js';
|
|
7
8
|
export function emitDmlExecutor(plan, ctx) {
|
|
8
9
|
const tableSchema = plan.table.tableSchema;
|
|
9
10
|
// Pre-calculate primary key column indices from schema (needed for update/delete)
|
|
10
11
|
const pkColumnIndicesInSchema = tableSchema.primaryKeyDefinition.map(pkColDef => pkColDef.index);
|
|
12
|
+
// Emit mutation context evaluators if present
|
|
13
|
+
const contextEvaluatorInstructions = [];
|
|
14
|
+
if (plan.mutationContextValues && plan.contextAttributes) {
|
|
15
|
+
for (const attr of plan.contextAttributes) {
|
|
16
|
+
const valueNode = plan.mutationContextValues.get(attr.name);
|
|
17
|
+
if (!valueNode) {
|
|
18
|
+
throw new QuereusError(`Missing mutation context value for '${attr.name}'`, StatusCode.INTERNAL);
|
|
19
|
+
}
|
|
20
|
+
const instruction = emitCallFromPlan(valueNode, ctx);
|
|
21
|
+
contextEvaluatorInstructions.push(instruction);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
11
24
|
// --- Operation-specific run generators ------------------------------------
|
|
12
25
|
// INSERT ----------------------------------------------------
|
|
13
|
-
async function* runInsert(ctx, rows) {
|
|
26
|
+
async function* runInsert(ctx, rows, ...contextEvaluators) {
|
|
14
27
|
const vtab = await getVTable(ctx, tableSchema);
|
|
28
|
+
// Evaluate mutation context once per statement
|
|
29
|
+
let contextRow;
|
|
30
|
+
if (contextEvaluators.length > 0) {
|
|
31
|
+
contextRow = [];
|
|
32
|
+
for (const evaluator of contextEvaluators) {
|
|
33
|
+
const value = await evaluator(ctx);
|
|
34
|
+
contextRow.push(value);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
15
37
|
try {
|
|
16
38
|
for await (const flatRow of rows) {
|
|
17
39
|
const newRow = extractNewRowFromFlat(flatRow, tableSchema.columns.length);
|
|
18
|
-
|
|
40
|
+
// Build mutation statement if logging is enabled
|
|
41
|
+
let mutationStatement;
|
|
42
|
+
if (vtab.wantStatements) {
|
|
43
|
+
mutationStatement = buildInsertStatement(tableSchema, newRow, contextRow);
|
|
44
|
+
}
|
|
45
|
+
const args = {
|
|
46
|
+
operation: 'insert',
|
|
47
|
+
values: newRow,
|
|
48
|
+
oldKeyValues: undefined,
|
|
49
|
+
onConflict: plan.onConflict ?? ConflictResolution.ABORT,
|
|
50
|
+
mutationStatement
|
|
51
|
+
};
|
|
52
|
+
await vtab.update(args);
|
|
19
53
|
// Track change (INSERT): record NEW primary key
|
|
20
54
|
const pkValues = tableSchema.primaryKeyDefinition.map(def => newRow[def.index]);
|
|
21
55
|
ctx.db._recordInsert(`${tableSchema.schemaName}.${tableSchema.name}`, pkValues);
|
|
@@ -27,8 +61,17 @@ export function emitDmlExecutor(plan, ctx) {
|
|
|
27
61
|
}
|
|
28
62
|
}
|
|
29
63
|
// UPDATE ----------------------------------------------------
|
|
30
|
-
async function* runUpdate(ctx, rows) {
|
|
64
|
+
async function* runUpdate(ctx, rows, ...contextEvaluators) {
|
|
31
65
|
const vtab = await getVTable(ctx, tableSchema);
|
|
66
|
+
// Evaluate mutation context once per statement
|
|
67
|
+
let contextRow;
|
|
68
|
+
if (contextEvaluators.length > 0) {
|
|
69
|
+
contextRow = [];
|
|
70
|
+
for (const evaluator of contextEvaluators) {
|
|
71
|
+
const value = await evaluator(ctx);
|
|
72
|
+
contextRow.push(value);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
32
75
|
try {
|
|
33
76
|
for await (const flatRow of rows) {
|
|
34
77
|
const oldRow = extractOldRowFromFlat(flatRow, tableSchema.columns.length);
|
|
@@ -40,7 +83,19 @@ export function emitDmlExecutor(plan, ctx) {
|
|
|
40
83
|
}
|
|
41
84
|
return oldRow[pkColIdx];
|
|
42
85
|
});
|
|
43
|
-
|
|
86
|
+
// Build mutation statement if logging is enabled
|
|
87
|
+
let mutationStatement;
|
|
88
|
+
if (vtab.wantStatements) {
|
|
89
|
+
mutationStatement = buildUpdateStatement(tableSchema, newRow, keyValues, contextRow);
|
|
90
|
+
}
|
|
91
|
+
const args = {
|
|
92
|
+
operation: 'update',
|
|
93
|
+
values: newRow,
|
|
94
|
+
oldKeyValues: keyValues,
|
|
95
|
+
onConflict: ConflictResolution.ABORT,
|
|
96
|
+
mutationStatement
|
|
97
|
+
};
|
|
98
|
+
await vtab.update(args);
|
|
44
99
|
// Track change (UPDATE): record OLD and NEW primary keys
|
|
45
100
|
const newKeyValues = tableSchema.primaryKeyDefinition.map(pkColDef => newRow[pkColDef.index]);
|
|
46
101
|
ctx.db._recordUpdate(`${tableSchema.schemaName}.${tableSchema.name}`, keyValues, newKeyValues);
|
|
@@ -52,8 +107,17 @@ export function emitDmlExecutor(plan, ctx) {
|
|
|
52
107
|
}
|
|
53
108
|
}
|
|
54
109
|
// DELETE ----------------------------------------------------
|
|
55
|
-
async function* runDelete(ctx, rows) {
|
|
110
|
+
async function* runDelete(ctx, rows, ...contextEvaluators) {
|
|
56
111
|
const vtab = await getVTable(ctx, tableSchema);
|
|
112
|
+
// Evaluate mutation context once per statement
|
|
113
|
+
let contextRow;
|
|
114
|
+
if (contextEvaluators.length > 0) {
|
|
115
|
+
contextRow = [];
|
|
116
|
+
for (const evaluator of contextEvaluators) {
|
|
117
|
+
const value = await evaluator(ctx);
|
|
118
|
+
contextRow.push(value);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
57
121
|
try {
|
|
58
122
|
for await (const flatRow of rows) {
|
|
59
123
|
const oldRow = extractOldRowFromFlat(flatRow, tableSchema.columns.length);
|
|
@@ -63,7 +127,19 @@ export function emitDmlExecutor(plan, ctx) {
|
|
|
63
127
|
}
|
|
64
128
|
return oldRow[pkColIdx];
|
|
65
129
|
});
|
|
66
|
-
|
|
130
|
+
// Build mutation statement if logging is enabled
|
|
131
|
+
let mutationStatement;
|
|
132
|
+
if (vtab.wantStatements) {
|
|
133
|
+
mutationStatement = buildDeleteStatement(tableSchema, keyValues, contextRow);
|
|
134
|
+
}
|
|
135
|
+
const args = {
|
|
136
|
+
operation: 'delete',
|
|
137
|
+
values: undefined,
|
|
138
|
+
oldKeyValues: keyValues,
|
|
139
|
+
onConflict: ConflictResolution.ABORT,
|
|
140
|
+
mutationStatement
|
|
141
|
+
};
|
|
142
|
+
await vtab.update(args);
|
|
67
143
|
// Track change (DELETE): record OLD primary key
|
|
68
144
|
ctx.db._recordDelete(`${tableSchema.schemaName}.${tableSchema.name}`, keyValues);
|
|
69
145
|
yield flatRow;
|
|
@@ -90,7 +166,7 @@ export function emitDmlExecutor(plan, ctx) {
|
|
|
90
166
|
}
|
|
91
167
|
const sourceInstruction = emitPlanNode(plan.source, ctx);
|
|
92
168
|
return {
|
|
93
|
-
params: [sourceInstruction],
|
|
169
|
+
params: [sourceInstruction, ...contextEvaluatorInstructions],
|
|
94
170
|
run,
|
|
95
171
|
note: `execute${plan.operation}(${plan.table.tableSchema.name})`
|
|
96
172
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dml-executor.js","sourceRoot":"","sources":["../../../../src/runtime/emit/dml-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dml-executor.js","sourceRoot":"","sources":["../../../../src/runtime/emit/dml-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitters.d.ts","sourceRoot":"","sources":["../../../src/runtime/emitters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAC;AAI9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"emitters.d.ts","sourceRoot":"","sources":["../../../src/runtime/emitters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAC;AAI9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,KAAK,WAAW,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAYD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,GAAE,WAAgB,GAAG,IAAI,CAG1G;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS,CAG9E;AAgDD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAW9E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAavD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,GAAG,WAAW,CAG1F;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,WAAW,EAAE,EACrB,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,eAAe,EAC5B,IAAI,CAAC,EAAE,MAAM,GACX,WAAW,CAoBb"}
|
|
@@ -3,6 +3,7 @@ import { QuereusError } from "../common/errors.js";
|
|
|
3
3
|
import { StatusCode } from '../common/types.js';
|
|
4
4
|
import { createLogger } from '../common/logger.js';
|
|
5
5
|
import { Scheduler } from "./scheduler.js";
|
|
6
|
+
import { isAsyncIterable } from "./utils.js";
|
|
6
7
|
const log = createLogger('emitters');
|
|
7
8
|
const emitters = new Map();
|
|
8
9
|
export function registerEmitter(nodeType, emitter, meta = {}) {
|
|
@@ -34,7 +35,7 @@ function instrumentRunForTracing(plan, originalRun) {
|
|
|
34
35
|
throw err;
|
|
35
36
|
}
|
|
36
37
|
// If the result is an async iterable, defer the pop until iteration completes
|
|
37
|
-
if (result
|
|
38
|
+
if (isAsyncIterable(result)) {
|
|
38
39
|
const iterable = result;
|
|
39
40
|
// Wrap iterable to pop stack in a finally block once iteration ends
|
|
40
41
|
return (async function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitters.js","sourceRoot":"","sources":["../../../src/runtime/emitters.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAAE,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"emitters.js","sourceRoot":"","sources":["../../../src/runtime/emitters.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import type { Scheduler } from "./scheduler.js";
|
|
|
6
6
|
import type { EmissionContext } from "./emission-context.js";
|
|
7
7
|
import type { VirtualTableConnection } from "../vtab/connection.js";
|
|
8
8
|
import type { PlanNode } from '../planner/nodes/plan-node.js';
|
|
9
|
+
export type { OutputValue };
|
|
9
10
|
export type RuntimeContext = {
|
|
10
11
|
db: Database;
|
|
11
12
|
stmt: Statement | undefined;
|