@quereus/quereus 4.10.0 → 4.11.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.
Files changed (47) hide show
  1. package/dist/src/planner/building/constraint-builder.d.ts +3 -2
  2. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  3. package/dist/src/planner/building/constraint-builder.js +15 -24
  4. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  5. package/dist/src/planner/building/delete.d.ts.map +1 -1
  6. package/dist/src/planner/building/delete.js +7 -24
  7. package/dist/src/planner/building/delete.js.map +1 -1
  8. package/dist/src/planner/building/foreign-key-builder.d.ts +3 -2
  9. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  10. package/dist/src/planner/building/foreign-key-builder.js +13 -17
  11. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  12. package/dist/src/planner/building/insert.d.ts.map +1 -1
  13. package/dist/src/planner/building/insert.js +16 -32
  14. package/dist/src/planner/building/insert.js.map +1 -1
  15. package/dist/src/planner/building/mutation-context.d.ts +63 -0
  16. package/dist/src/planner/building/mutation-context.d.ts.map +1 -0
  17. package/dist/src/planner/building/mutation-context.js +126 -0
  18. package/dist/src/planner/building/mutation-context.js.map +1 -0
  19. package/dist/src/planner/building/update.d.ts.map +1 -1
  20. package/dist/src/planner/building/update.js +7 -24
  21. package/dist/src/planner/building/update.js.map +1 -1
  22. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  23. package/dist/src/runtime/emit/alter-table.js +11 -2
  24. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  25. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  26. package/dist/src/runtime/emit/constraint-check.js +17 -7
  27. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  28. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  29. package/dist/src/runtime/emit/dml-executor.js +5 -1
  30. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  31. package/dist/src/schema/catalog.d.ts +25 -2
  32. package/dist/src/schema/catalog.d.ts.map +1 -1
  33. package/dist/src/schema/catalog.js +35 -2
  34. package/dist/src/schema/catalog.js.map +1 -1
  35. package/dist/src/schema/constraint-builder.d.ts +15 -2
  36. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  37. package/dist/src/schema/constraint-builder.js +21 -5
  38. package/dist/src/schema/constraint-builder.js.map +1 -1
  39. package/dist/src/schema/manager.d.ts +13 -0
  40. package/dist/src/schema/manager.d.ts.map +1 -1
  41. package/dist/src/schema/manager.js +44 -11
  42. package/dist/src/schema/manager.js.map +1 -1
  43. package/dist/src/schema/table.d.ts +43 -0
  44. package/dist/src/schema/table.d.ts.map +1 -1
  45. package/dist/src/schema/table.js +80 -0
  46. package/dist/src/schema/table.js.map +1 -1
  47. package/package.json +3 -3
@@ -4,11 +4,12 @@ import { RowOpFlag } from '../../schema/table.js';
4
4
  import type { Attribute, RowDescriptor } from '../nodes/plan-node.js';
5
5
  import type { ConstraintCheck, NotNullDefaultPlan } from '../nodes/constraint-check-node.js';
6
6
  import type { Scope } from '../scopes/scope.js';
7
+ import { type MutationContextAttribute } from './mutation-context.js';
7
8
  /**
8
9
  * Builds constraint check expressions at plan time.
9
10
  * This allows the optimizer to see and optimize constraint expressions.
10
11
  */
11
- export declare function buildConstraintChecks(ctx: PlanningContext, tableSchema: TableSchema, operation: RowOpFlag, oldAttributes: Attribute[], newAttributes: Attribute[], _flatRowDescriptor: RowDescriptor, contextAttributes?: Attribute[],
12
+ export declare function buildConstraintChecks(ctx: PlanningContext, tableSchema: TableSchema, operation: RowOpFlag, oldAttributes: Attribute[], newAttributes: Attribute[], _flatRowDescriptor: RowDescriptor, contextAttributes?: ReadonlyArray<MutationContextAttribute>,
12
13
  /**
13
14
  * Extra CHECK constraints to enforce alongside the table's own — already
14
15
  * resolved in this table's column space. The lens layer threads its logical
@@ -36,7 +37,7 @@ additionalConstraints?: ReadonlyArray<RowConstraintSchema>): ConstraintCheck[];
36
37
  * check time in `checkNotNullConstraints` by column index (the first NOT-NULL
37
38
  * column with a NULL effective value), so don't look for it in this builder.
38
39
  */
39
- export declare function buildNotNullDefaults(ctx: PlanningContext, tableSchema: TableSchema, newAttributes: Attribute[], contextAttributes?: Attribute[],
40
+ export declare function buildNotNullDefaults(ctx: PlanningContext, tableSchema: TableSchema, newAttributes: Attribute[], contextAttributes?: ReadonlyArray<MutationContextAttribute>,
40
41
  /**
41
42
  * Parent scope for `new.<col>` resolution, threaded by a synthetic decomposition /
42
43
  * multi-source member insert (see {@link buildInsertStmt}'s `defaultRowContextScope`).
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAA+B,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAqBhD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,kBAAkB,EAAE,aAAa,EACjC,iBAAiB,GAAE,SAAS,EAAO;AACnC;;;;;GAKG;AACH,qBAAqB,GAAE,aAAa,CAAC,mBAAmB,CAAM,GAC7D,eAAe,EAAE,CA4KnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO;AACnC;;;;;;;;GAQG;AACH,sBAAsB,CAAC,EAAE,KAAK,GAC7B,kBAAkB,EAAE,CAqDtB"}
1
+ {"version":3,"file":"constraint-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAA+B,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAYhD,OAAO,EAA2D,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAU/H;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,kBAAkB,EAAE,aAAa,EACjC,iBAAiB,GAAE,aAAa,CAAC,wBAAwB,CAAM;AAC/D;;;;;GAKG;AACH,qBAAqB,GAAE,aAAa,CAAC,mBAAmB,CAAM,GAC7D,eAAe,EAAE,CAsKnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,aAAa,CAAC,wBAAwB,CAAM;AAC/D;;;;;;;;GAQG;AACH,sBAAsB,CAAC,EAAE,KAAK,GAC7B,kBAAkB,EAAE,CA0CtB"}
@@ -9,6 +9,7 @@ import { columnSchemaToScalarType } from '../type-utils.js';
9
9
  import { stripSelfQualifierInCheckExpression } from '../../schema/rename-rewriter.js';
10
10
  import { buildColumnSourceResolver } from '../../schema/column-source-resolver.js';
11
11
  import { cloneExpr } from '../mutation/scope-transform.js';
12
+ import { mutationContextVarNames, registerMutationContextSymbols } from './mutation-context.js';
12
13
  /**
13
14
  * Determines if a constraint should be checked for the given operation
14
15
  */
@@ -47,20 +48,16 @@ additionalConstraints = []) {
47
48
  const applicableConstraints = [...tableSchema.checkConstraints, ...additionalConstraints]
48
49
  .filter(constraint => shouldCheckConstraint(constraint, operation));
49
50
  const resolveColumnInSource = buildColumnSourceResolver(ctx.db);
51
+ // Bare column names a mutation context variable claims. The unqualified form is left
52
+ // to the context variable (the documented WITH CONTEXT precedence); the shadowed
53
+ // column stays reachable as `new.<col>` / `old.<col>`.
54
+ const shadowedByContext = mutationContextVarNames(contextAttributes);
50
55
  // Build expression nodes for each constraint
51
56
  return applicableConstraints.map(constraint => {
52
57
  // Create scope with OLD/NEW column access for constraint evaluation
53
58
  const constraintScope = new RegisteredScope(ctx.scope);
54
59
  // Register mutation context variables FIRST (so they shadow column names if conflicts exist)
55
- contextAttributes.forEach((attr, contextVarIndex) => {
56
- if (contextVarIndex < (tableSchema.mutationContext?.length || 0)) {
57
- const contextVar = tableSchema.mutationContext[contextVarIndex];
58
- const varNameLower = contextVar.name.toLowerCase();
59
- // Register both unqualified and qualified names
60
- constraintScope.registerSymbol(varNameLower, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
61
- constraintScope.registerSymbol(`context.${varNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
62
- }
63
- });
60
+ registerMutationContextSymbols(constraintScope, contextAttributes);
64
61
  // The per-relation write-row correlation for THIS op's target relation — the
65
62
  // decomposition analogue of `NEW`. A lens row-local CHECK rewritten over a multi-member
66
63
  // decomposition qualifies its write-row terms with `writeRowRelationCorrelation(owning
@@ -89,8 +86,9 @@ additionalConstraints = []) {
89
86
  // Relation-qualified write-row correlation (lens decomposition rewrite) — the
90
87
  // `<corr>.<col>` analogue of `new.<col>` for this member relation.
91
88
  constraintScope.registerSymbol(`${writeRowCorr}.${colNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, newColumnType, newAttrId, tableColIndex));
92
- // For INSERT/UPDATE, unqualified column defaults to NEW
93
- if (operation === RowOpFlag.INSERT || operation === RowOpFlag.UPDATE) {
89
+ // For INSERT/UPDATE, unqualified column defaults to NEW — unless a mutation
90
+ // context variable claims the bare name.
91
+ if ((operation === RowOpFlag.INSERT || operation === RowOpFlag.UPDATE) && !shadowedByContext.has(colNameLower)) {
94
92
  constraintScope.registerSymbol(colNameLower, (exp, s) => new ColumnReferenceNode(s, exp, newColumnType, newAttrId, tableColIndex));
95
93
  }
96
94
  }
@@ -101,8 +99,9 @@ additionalConstraints = []) {
101
99
  const oldColumnType = columnSchemaToScalarType(tableColumn, { nullable: true });
102
100
  // OLD.column
103
101
  constraintScope.registerSymbol(`old.${colNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, oldColumnType, oldAttrId, tableColIndex));
104
- // For DELETE, unqualified column defaults to OLD
105
- if (operation === RowOpFlag.DELETE) {
102
+ // For DELETE, unqualified column defaults to OLD — unless a mutation context
103
+ // variable claims the bare name.
104
+ if (operation === RowOpFlag.DELETE && !shadowedByContext.has(colNameLower)) {
106
105
  constraintScope.registerSymbol(colNameLower, (exp, s) => new ColumnReferenceNode(s, exp, oldColumnType, oldAttrId, tableColIndex));
107
106
  }
108
107
  }
@@ -197,6 +196,8 @@ export function buildNotNullDefaults(ctx, tableSchema, newAttributes, contextAtt
197
196
  */
198
197
  defaultRowContextScope) {
199
198
  const result = [];
199
+ // Bare column names a mutation context variable claims (see buildConstraintChecks).
200
+ const reservedKeys = mutationContextVarNames(contextAttributes);
200
201
  for (let columnIndex = 0; columnIndex < tableSchema.columns.length; columnIndex++) {
201
202
  const column = tableSchema.columns[columnIndex];
202
203
  if (!column.notNull)
@@ -205,19 +206,9 @@ defaultRowContextScope) {
205
206
  if (!defaultExpr || typeof defaultExpr !== 'object' || !('type' in defaultExpr))
206
207
  continue;
207
208
  const scope = new RegisteredScope(defaultRowContextScope ?? ctx.scope);
208
- const reservedKeys = new Set();
209
209
  // Mutation context variables first so they shadow column names if conflicts exist
210
210
  // (matches createRowExpansionProjection's resolution order).
211
- contextAttributes.forEach((attr, contextVarIndex) => {
212
- if (contextVarIndex < (tableSchema.mutationContext?.length || 0)) {
213
- const contextVar = tableSchema.mutationContext[contextVarIndex];
214
- const varNameLower = contextVar.name.toLowerCase();
215
- scope.registerSymbol(varNameLower, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
216
- scope.registerSymbol(`context.${varNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
217
- reservedKeys.add(varNameLower);
218
- reservedKeys.add(`context.${varNameLower}`);
219
- }
220
- });
211
+ registerMutationContextSymbols(scope, contextAttributes);
221
212
  // Register NEW columns (DEFAULT can reference siblings as in row-expansion).
222
213
  // Skip the unqualified form when shadowed by a mutation context variable; the
223
214
  // qualified `new.<col>` form remains available.
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;GAEG;AACH,SAAS,qBAAqB,CAAC,UAA+B,EAAE,SAAoB;IAClF,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAoB,EACpB,WAAwB,EACxB,SAAoB,EACpB,aAA0B,EAC1B,aAA0B,EAC1B,kBAAiC,EACjC,oBAAiC,EAAE;AACnC;;;;;GAKG;AACH,wBAA4D,EAAE;IAE9D,sDAAsD;IACtD,MAAM,cAAc,GAA2B,EAAE,CAAC;IAClD,MAAM,cAAc,GAA2B,EAAE,CAAC;IAElD,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;QAC1C,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;QAC1C,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,MAAM,qBAAqB,GAAG,CAAC,GAAG,WAAW,CAAC,gBAAgB,EAAE,GAAG,qBAAqB,CAAC;SACtF,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtE,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhE,6CAA6C;IAC7C,OAAO,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QAC5C,oEAAoE;QACpE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEvD,6FAA6F;QAC7F,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE;YAClD,IAAI,eAAe,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,UAAU,GAAG,WAAW,CAAC,eAAgB,CAAC,eAAe,CAAC,CAAC;gBACjE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEnD,gDAAgD;gBAChD,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACtD,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CACvF,CAAC;gBACF,eAAe,CAAC,cAAc,CAAC,WAAW,YAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACnE,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CACvF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,wFAAwF;QACxF,uFAAuF;QACvF,sFAAsF;QACtF,yFAAyF;QACzF,0FAA0F;QAC1F,wFAAwF;QACxF,uFAAuF;QACvF,0FAA0F;QAC1F,uFAAuF;QACvF,wFAAwF;QACxF,2BAA2B;QAC3B,MAAM,YAAY,GAAG,2BAA2B,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAE3F,yEAAyE;QACzE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE;YACzD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEpD,2FAA2F;YAC3F,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,kEAAkE;gBAClE,oEAAoE;gBACpE,qEAAqE;gBACrE,MAAM,aAAa,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;gBAE5D,aAAa;gBACb,eAAe,CAAC,cAAc,CAAC,OAAO,YAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC/D,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;gBAE9F,8EAA8E;gBAC9E,mEAAmE;gBACnE,eAAe,CAAC,cAAc,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC3E,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;gBAE9F,wDAAwD;gBACxD,IAAI,SAAS,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrE,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACtD,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,iDAAiD;gBACjD,MAAM,aAAa,GAAG,wBAAwB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEhF,aAAa;gBACb,eAAe,CAAC,cAAc,CAAC,OAAO,YAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC/D,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;gBAE9F,iDAAiD;gBACjD,IAAI,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBACnC,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACtD,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,8DAA8D;QAC9D,iEAAiE;QACjE,mFAAmF;QACnF,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QACvE,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,KAAK,qBAAqB,CAAC;QAE3E,IAAI,iBAAiB,EAAE,CAAC;YACtB,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC;YACH,mEAAmE;YACnE,qFAAqF;YACrF,kFAAkF;YAClF,mFAAmF;YACnF,iFAAiF;YACjF,0CAA0C;YAC1C,MAAM,aAAa,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;YAEzD,yEAAyE;YACzE,2EAA2E;YAC3E,6EAA6E;YAC7E,yEAAyE;YACzE,0EAA0E;YAC1E,gCAAgC;YAChC,IAAI,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;YACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,mCAAmC,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAAE,CAAC;gBACnH,cAAc,GAAG,QAAQ,CAAC;YAC5B,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAChC,aAAa,EACb,cAAc,CACG,CAAC;YAEpB,uEAAuE;YACvE,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,WAAW,CAAC,IAAI,EAAE,CAAC;YACvE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAChE,+BAA+B,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAChF,CAAC;YAED,4EAA4E;YAC5E,6EAA6E;YAC7E,0EAA0E;YAC1E,6EAA6E;YAC7E,6CAA6C;YAC7C,MAAM,aAAa,GAAG,uBAAuB,CAAC,UAAU,CAAC,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAE9F,OAAO;gBACL,UAAU;gBACV,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,iBAAiB,EAAE,aAAa;gBAChC,aAAa;gBACb,IAAI,EAAE,OAAO;aACY,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,kCAAkC;YAClC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAoB,EACpB,WAAwB,EACxB,aAA0B,EAC1B,oBAAiC,EAAE;AACnC;;;;;;;;GAQG;AACH,sBAA8B;IAE9B,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAS;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;YAAE,SAAS;QAE1F,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,sBAAsB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,kFAAkF;QAClF,6DAA6D;QAC7D,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE;YAClD,IAAI,eAAe,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,UAAU,GAAG,WAAW,CAAC,eAAgB,CAAC,eAAe,CAAC,CAAC;gBACjE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnD,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC5C,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CACvF,CAAC;gBACF,KAAK,CAAC,cAAc,CAAC,WAAW,YAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACzD,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CACvF,CAAC;gBACF,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,8EAA8E;QAC9E,gDAAgD;QAChD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACtC,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CACzE,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC/C,IAAI,mBAAmB,CAAC,CAAC,EAAE,GAAqB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CACzE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,WAA6B,CAAmB,CAAC;QAClG,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAA6B,EAAE,WAAW,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAoB;IAChD,MAAM,KAAK,GAAe,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QACvB,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"constraint-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/constraint-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAoF,MAAM,uBAAuB,CAAC;AASnI,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAmB5E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU;AACpB;;;;;;;GAOG;AACH,qBAAqB,GAAE,aAAa,CAAC,mBAAmB,CAAM;AAC9D;;;;;;GAMG;AACH,UAAU,UAAQ,GACjB,QAAQ,CAmUV"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAoE,MAAM,uBAAuB,CAAC;AASnH,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAoB5E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU;AACpB;;;;;;;GAOG;AACH,qBAAqB,GAAE,aAAa,CAAC,mBAAmB,CAAM;AAC9D;;;;;;GAMG;AACH,UAAU,UAAQ,GACjB,QAAQ,CA+SV"}
@@ -28,6 +28,7 @@ import { raiseStmtTagDiagnostics } from './tag-diagnostics.js';
28
28
  import { buildWithContext } from './select-context.js';
29
29
  import { resolveCteTarget, contextForCteTarget, resolveSubqueryTarget } from './dml-target.js';
30
30
  import { schemaAuthoredContext } from './schema-authored-context.js';
31
+ import { buildMutationContextAttributes, buildMutationContextValues } from './mutation-context.js';
31
32
  export function buildDeleteStmt(ctx, stmt,
32
33
  /**
33
34
  * Extra row constraints to enforce alongside the table's own — already resolved
@@ -106,30 +107,12 @@ lensRouted = false) {
106
107
  if (isMaintainedTable(deleteResolved)) {
107
108
  return buildViewMutation(contextWithCTEs, maintainedTableViewLike(deleteResolved), { op: 'delete', stmt });
108
109
  }
109
- // Process mutation context assignments if present
110
- const mutationContextValues = new Map();
111
- const contextAttributes = [];
112
- if (stmt.contextValues && tableReference.tableSchema.mutationContext) {
113
- // Create context attributes
114
- tableReference.tableSchema.mutationContext.forEach((contextVar) => {
115
- contextAttributes.push({
116
- id: PlanNode.nextAttrId(),
117
- name: contextVar.name,
118
- type: {
119
- typeClass: 'scalar',
120
- logicalType: contextVar.logicalType,
121
- nullable: !contextVar.notNull,
122
- isReadOnly: true
123
- },
124
- sourceRelation: `context.${tableReference.tableSchema.name}`
125
- });
126
- });
127
- // Build context value expressions (evaluated in the base scope, before table scope)
128
- stmt.contextValues.forEach((assignment) => {
129
- const valueExpr = buildExpression(contextWithCTEs, assignment.value);
130
- mutationContextValues.set(assignment.name, valueExpr);
131
- });
132
- }
110
+ // Mutation context is driven by the TABLE's declaration, not by the statement — see
111
+ // building/mutation-context.ts. Values are evaluated in the base scope, before the
112
+ // table scope; a declared variable the statement omitted gets a NULL literal, and a
113
+ // NOT NULL one fails at reference time from any `check on delete` that reads it.
114
+ const contextAttributes = buildMutationContextAttributes(tableReference.tableSchema, stmt.contextValues);
115
+ const mutationContextValues = buildMutationContextValues(contextWithCTEs, contextAttributes, stmt.contextValues);
133
116
  // Plan the source of rows to delete. This is typically the table itself, potentially filtered.
134
117
  let sourceNode = tableRetrieve; // Use the RetrieveNode as source
135
118
  // Create a new scope with the table columns registered for column resolution.
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/planner/building/delete.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { ConflictResolution } from '../../common/constants.js';
6
6
  import type { Attribute } from '../nodes/plan-node.js';
7
7
  import type { ConstraintCheck } from '../nodes/constraint-check-node.js';
8
8
  import * as AST from '../../parser/ast.js';
9
+ import { type MutationContextAttribute } from './mutation-context.js';
9
10
  /**
10
11
  * Assembles the MATCH SIMPLE-guarded child-side FK existence expression:
11
12
  *
@@ -39,12 +40,12 @@ export declare function synthesizeFKNotExistsExpr(childTableName: string, childC
39
40
  * Builds child-side FK constraint checks (for INSERT/UPDATE on the referencing table).
40
41
  * For each FK, generates an EXISTS check ensuring the parent row exists.
41
42
  */
42
- export declare function buildChildSideFKChecks(ctx: PlanningContext, tableSchema: TableSchema, operation: RowOpFlag, oldAttributes: Attribute[], newAttributes: Attribute[], contextAttributes?: Attribute[]): ConstraintCheck[];
43
+ export declare function buildChildSideFKChecks(ctx: PlanningContext, tableSchema: TableSchema, operation: RowOpFlag, oldAttributes: Attribute[], newAttributes: Attribute[], contextAttributes?: ReadonlyArray<MutationContextAttribute>): ConstraintCheck[];
43
44
  /**
44
45
  * Builds parent-side FK constraint checks (for DELETE/UPDATE on the referenced table).
45
46
  * For each FK that references this table, generates a NOT EXISTS check for RESTRICT/NO ACTION.
46
47
  */
47
- export declare function buildParentSideFKChecks(ctx: PlanningContext, tableSchema: TableSchema, operation: RowOpFlag, oldAttributes: Attribute[], newAttributes: Attribute[], contextAttributes?: Attribute[]): ConstraintCheck[];
48
+ export declare function buildParentSideFKChecks(ctx: PlanningContext, tableSchema: TableSchema, operation: RowOpFlag, oldAttributes: Attribute[], newAttributes: Attribute[], contextAttributes?: ReadonlyArray<MutationContextAttribute>): ConstraintCheck[];
48
49
  /**
49
50
  * One inbound RESTRICT FK eligible for statement-end batched enforcement —
50
51
  * discovery output of {@link getBatchableRestrictFks}, consumed by the runtime
@@ -1 +1 @@
1
- {"version":3,"file":"foreign-key-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/foreign-key-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAuB,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAA4C,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMzE,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AA6C3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACrC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,SAAS,EAAE,KAAK,GAAG,KAAK,EACxB,UAAU,CAAC,EAAE,MAAM,GACjB,GAAG,CAAC,UAAU,CAyBhB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACxC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,SAAS,EAAE,KAAK,GAAG,KAAK,EACxB,UAAU,CAAC,EAAE,MAAM,GACjB,GAAG,CAAC,SAAS,CAgBf;AAiDD;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO,GACjC,eAAe,EAAE,CAoHnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,SAAS,EAAO,GACjC,eAAe,EAAE,CAsHnB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,0BAA0B,CAAC;IACxC,wFAAwF;IACxF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,uBAAuB,CACtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAC1C,UAAU,EAAE,OAAO,GACjB,mBAAmB,EAAE,GAAG,SAAS,CAqBnC"}
1
+ {"version":3,"file":"foreign-key-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/foreign-key-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAuB,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAA4C,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMzE,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAA2D,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AA4C/H;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACrC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,SAAS,EAAE,KAAK,GAAG,KAAK,EACxB,UAAU,CAAC,EAAE,MAAM,GACjB,GAAG,CAAC,UAAU,CAyBhB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACxC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,SAAS,EAAE,KAAK,GAAG,KAAK,EACxB,UAAU,CAAC,EAAE,MAAM,GACjB,GAAG,CAAC,SAAS,CAgBf;AAiDD;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,aAAa,CAAC,wBAAwB,CAAM,GAC7D,eAAe,EAAE,CAgHnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,SAAS,EAAE,EAC1B,aAAa,EAAE,SAAS,EAAE,EAC1B,iBAAiB,GAAE,aAAa,CAAC,wBAAwB,CAAM,GAC7D,eAAe,EAAE,CAmHnB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,0BAA0B,CAAC;IACxC,wFAAwF;IACxF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,uBAAuB,CACtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAC1C,UAAU,EAAE,OAAO,GACjB,mBAAmB,EAAE,GAAG,SAAS,CAqBnC"}
@@ -6,6 +6,7 @@ import { ColumnReferenceNode } from '../nodes/reference.js';
6
6
  import { columnSchemaToScalarType } from '../type-utils.js';
7
7
  import { basisFksOverriddenByDivergentLensFk } from '../../schema/lens-fk-discovery.js';
8
8
  import { createLogger } from '../../common/logger.js';
9
+ import { mutationContextVarNames, registerMutationContextSymbols } from './mutation-context.js';
9
10
  const log = createLogger('planner:fk-builder');
10
11
  /**
11
12
  * Builds a SELECT 1 FROM [<schema>.]<table> WHERE <col pairs joined by AND>
@@ -142,6 +143,9 @@ export function buildChildSideFKChecks(ctx, tableSchema, operation, oldAttribute
142
143
  if (operation !== RowOpFlag.INSERT && operation !== RowOpFlag.UPDATE)
143
144
  return [];
144
145
  const checks = [];
146
+ // Bare column names a mutation context variable claims — the unqualified form is
147
+ // left to the context variable (WITH CONTEXT precedence, as in buildConstraintChecks).
148
+ const shadowedByContext = mutationContextVarNames(contextAttributes);
145
149
  for (const fk of tableSchema.foreignKeys) {
146
150
  // Resolve parent table. If absent, MATCH SIMPLE still allows the row when any
147
151
  // FK column is NULL — but otherwise no parent row can match, so the check must
@@ -176,14 +180,8 @@ export function buildChildSideFKChecks(ctx, tableSchema, operation, oldAttribute
176
180
  };
177
181
  // Build the expression using a scope with OLD/NEW column access
178
182
  const constraintScope = new RegisteredScope(ctx.scope);
179
- // Register mutation context variables
180
- contextAttributes.forEach((attr, contextVarIndex) => {
181
- if (contextVarIndex < (tableSchema.mutationContext?.length || 0)) {
182
- const contextVar = tableSchema.mutationContext[contextVarIndex];
183
- const varNameLower = contextVar.name.toLowerCase();
184
- constraintScope.registerSymbol(varNameLower, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
185
- }
186
- });
183
+ // Register mutation context variables FIRST (so they shadow column names)
184
+ registerMutationContextSymbols(constraintScope, contextAttributes);
187
185
  // Register column symbols
188
186
  tableSchema.columns.forEach((tableColumn, tableColIndex) => {
189
187
  const colNameLower = tableColumn.name.toLowerCase();
@@ -194,7 +192,7 @@ export function buildChildSideFKChecks(ctx, tableSchema, operation, oldAttribute
194
192
  // query would (mirrors the CHECK constraint scope).
195
193
  const newColumnType = columnSchemaToScalarType(tableColumn);
196
194
  constraintScope.registerSymbol(`new.${colNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, newColumnType, newAttr.id, tableColIndex));
197
- if (operation === RowOpFlag.INSERT || operation === RowOpFlag.UPDATE) {
195
+ if ((operation === RowOpFlag.INSERT || operation === RowOpFlag.UPDATE) && !shadowedByContext.has(colNameLower)) {
198
196
  constraintScope.registerSymbol(colNameLower, (exp, s) => new ColumnReferenceNode(s, exp, newColumnType, newAttr.id, tableColIndex));
199
197
  }
200
198
  }
@@ -238,6 +236,8 @@ export function buildParentSideFKChecks(ctx, tableSchema, operation, oldAttribut
238
236
  if (operation !== RowOpFlag.DELETE && operation !== RowOpFlag.UPDATE)
239
237
  return [];
240
238
  const checks = [];
239
+ // Bare column names a mutation context variable claims (see buildChildSideFKChecks).
240
+ const shadowedByContext = mutationContextVarNames(contextAttributes);
241
241
  // Basis RESTRICT FKs a divergent non-RESTRICT logical FK overrides — their immediate
242
242
  // plan-time NOT EXISTS is suppressed so the parent write a logical cascade must
243
243
  // complete is not rejected. Cheap-empty when no lens slot is backed by `tableSchema`.
@@ -274,12 +274,8 @@ export function buildParentSideFKChecks(ctx, tableSchema, operation, oldAttribut
274
274
  };
275
275
  // Build scope with OLD/NEW column access
276
276
  const constraintScope = new RegisteredScope(ctx.scope);
277
- contextAttributes.forEach((attr, contextVarIndex) => {
278
- if (contextVarIndex < (tableSchema.mutationContext?.length || 0)) {
279
- const contextVar = tableSchema.mutationContext[contextVarIndex];
280
- constraintScope.registerSymbol(contextVar.name.toLowerCase(), (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, contextVarIndex));
281
- }
282
- });
277
+ // Register mutation context variables FIRST (so they shadow column names)
278
+ registerMutationContextSymbols(constraintScope, contextAttributes);
283
279
  tableSchema.columns.forEach((tableColumn, tableColIndex) => {
284
280
  const colNameLower = tableColumn.name.toLowerCase();
285
281
  const oldAttr = oldAttributes[tableColIndex];
@@ -287,7 +283,7 @@ export function buildParentSideFKChecks(ctx, tableSchema, operation, oldAttribut
287
283
  const oldColumnType = columnSchemaToScalarType(tableColumn);
288
284
  constraintScope.registerSymbol(`old.${colNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, oldColumnType, oldAttr.id, tableColIndex));
289
285
  // For DELETE, unqualified defaults to OLD
290
- if (operation === RowOpFlag.DELETE) {
286
+ if (operation === RowOpFlag.DELETE && !shadowedByContext.has(colNameLower)) {
291
287
  constraintScope.registerSymbol(colNameLower, (exp, s) => new ColumnReferenceNode(s, exp, oldColumnType, oldAttr.id, tableColIndex));
292
288
  }
293
289
  }
@@ -295,7 +291,7 @@ export function buildParentSideFKChecks(ctx, tableSchema, operation, oldAttribut
295
291
  if (newAttr) {
296
292
  const newColumnType = columnSchemaToScalarType(tableColumn, { nullable: true });
297
293
  constraintScope.registerSymbol(`new.${colNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, newColumnType, newAttr.id, tableColIndex));
298
- if (operation === RowOpFlag.UPDATE) {
294
+ if (operation === RowOpFlag.UPDATE && !shadowedByContext.has(colNameLower)) {
299
295
  constraintScope.registerSymbol(colNameLower, (exp, s) => new ColumnReferenceNode(s, exp, newColumnType, newAttr.id, tableColIndex));
300
296
  }
301
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"foreign-key-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/foreign-key-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foreign-key-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/foreign-key-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAU9D,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAA2D,MAAM,uBAAuB,CAAC;AAKnI,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKhD,OAAO,EAA+B,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAgkB9F,wBAAgB,eAAe,CAC9B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU;AACpB;;;;;;GAMG;AACH,gBAAgB,GAAE,aAAa,CAAC,mBAAmB,CAAM;AACzD;;;;;;;;;GASG;AACH,cAAc,CAAC,EAAE,kBAAkB;AACnC;;;;;;GAMG;AACH,UAAU,UAAQ;AAClB;;;;;;;;;;;;GAYG;AACH,sBAAsB,CAAC,EAAE,KAAK,GAC5B,QAAQ,CA2bV"}
1
+ {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAU9D,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAA2D,MAAM,uBAAuB,CAAC;AAKnI,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKhD,OAAO,EAA+B,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAikB9F,wBAAgB,eAAe,CAC9B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU;AACpB;;;;;;GAMG;AACH,gBAAgB,GAAE,aAAa,CAAC,mBAAmB,CAAM;AACzD;;;;;;;;;GASG;AACH,cAAc,CAAC,EAAE,kBAAkB;AACnC;;;;;;GAMG;AACH,UAAU,UAAQ;AAClB;;;;;;;;;;;;GAYG;AACH,sBAAsB,CAAC,EAAE,KAAK,GAC5B,QAAQ,CAuaV"}
@@ -33,6 +33,7 @@ import { isMaintainedTable, maintainedTableViewLike } from '../../schema/derivat
33
33
  import { isViewSchema } from '../../schema/view.js';
34
34
  import { validateReservedTags } from '../../schema/reserved-tags.js';
35
35
  import { raiseStmtTagDiagnostics } from './tag-diagnostics.js';
36
+ import { buildMutationContextAttributes, buildMutationContextValues, registerMutationContextSymbols } from './mutation-context.js';
36
37
  /**
37
38
  * Creates a uniform row expansion projection that maps any relational source
38
39
  * to the target table's column structure, filling in defaults for omitted columns.
@@ -569,45 +570,28 @@ defaultRowContextScope) {
569
570
  if (isMaintainedTable(insertResolved)) {
570
571
  return buildViewMutation(contextWithCTEs, maintainedTableViewLike(insertResolved), { op: 'insert', stmt });
571
572
  }
572
- // Process mutation context assignments if present
573
- const mutationContextValues = new Map();
574
- const contextAttributes = [];
573
+ // Mutation context is driven by the TABLE's declaration, not by the statement: the
574
+ // symbols are registered whenever the table declares any, so a default or CHECK that
575
+ // reads one still resolves when the statement carries no `with context` clause. A
576
+ // NOT NULL variable the statement omitted then fails at reference time with a message
577
+ // naming the table and the variable — see building/mutation-context.ts.
578
+ const contextAttributes = buildMutationContextAttributes(tableReference.tableSchema, stmt.contextValues);
575
579
  let contextScope;
576
- if (stmt.contextValues && tableReference.tableSchema.mutationContext) {
577
- // Create context attributes
578
- tableReference.tableSchema.mutationContext.forEach((contextVar) => {
579
- contextAttributes.push({
580
- id: PlanNode.nextAttrId(),
581
- name: contextVar.name,
582
- type: {
583
- typeClass: 'scalar',
584
- logicalType: contextVar.logicalType,
585
- nullable: !contextVar.notNull,
586
- isReadOnly: true
587
- },
588
- sourceRelation: `context.${tableReference.tableSchema.name}`
589
- });
590
- });
580
+ if (contextAttributes.length > 0) {
591
581
  // Create a new scope for mutation context. When a synthetic member insert
592
582
  // threads a produced-row NEW context, parent on it so context variables still
593
583
  // shadow the envelope's `new.<col>` (WITH CONTEXT precedence), while an envelope
594
584
  // column the member does not carry stays resolvable below.
595
585
  contextScope = new RegisteredScope(defaultRowContextScope ?? contextWithCTEs.scope);
596
- // Register mutation context variables in the scope (before evaluating expressions)
597
- contextAttributes.forEach((attr, index) => {
598
- const contextVar = tableReference.tableSchema.mutationContext[index];
599
- const varNameLower = contextVar.name.toLowerCase();
600
- // Register both unqualified and qualified names
601
- contextScope.registerSymbol(varNameLower, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, index));
602
- contextScope.registerSymbol(`context.${varNameLower}`, (exp, s) => new ColumnReferenceNode(s, exp, attr.type, attr.id, index));
603
- });
604
- // Build context value expressions using the context scope
605
- const contextWithScope = { ...contextWithCTEs, scope: contextScope };
606
- stmt.contextValues.forEach((assignment) => {
607
- const valueExpr = buildExpression(contextWithScope, assignment.value);
608
- mutationContextValues.set(assignment.name, valueExpr);
609
- });
586
+ registerMutationContextSymbols(contextScope, contextAttributes);
610
587
  }
588
+ // Build the context value expressions against the produced-row NEW context when a
589
+ // synthetic member insert threads one, but NOT against `contextScope` itself: a
590
+ // context value that reads a context variable has no context row to read it from
591
+ // and fails at runtime with an opaque "no row context found". Resolving outward
592
+ // instead reports it as the ordinary unresolved column it is, matching UPDATE and
593
+ // DELETE, which build their values in the plain base scope.
594
+ const mutationContextValues = buildMutationContextValues(defaultRowContextScope ? { ...contextWithCTEs, scope: defaultRowContextScope } : contextWithCTEs, contextAttributes, stmt.contextValues);
611
595
  let targetColumns = [];
612
596
  if (stmt.columns && stmt.columns.length > 0) {
613
597
  // Reject a column named more than once in the INSERT column list