@quereus/quereus 3.0.0 → 3.1.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.
Files changed (47) hide show
  1. package/dist/src/core/database.d.ts +8 -3
  2. package/dist/src/core/database.d.ts.map +1 -1
  3. package/dist/src/core/database.js +25 -15
  4. package/dist/src/core/database.js.map +1 -1
  5. package/dist/src/planner/analysis/constraint-extractor.d.ts +8 -0
  6. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  7. package/dist/src/planner/analysis/constraint-extractor.js +60 -0
  8. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  9. package/dist/src/planner/framework/context.d.ts +1 -8
  10. package/dist/src/planner/framework/context.d.ts.map +1 -1
  11. package/dist/src/planner/framework/context.js +4 -21
  12. package/dist/src/planner/framework/context.js.map +1 -1
  13. package/dist/src/planner/framework/pass.d.ts +18 -2
  14. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  15. package/dist/src/planner/framework/pass.js +109 -40
  16. package/dist/src/planner/framework/pass.js.map +1 -1
  17. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  18. package/dist/src/runtime/emit/alter-table.js +26 -9
  19. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  20. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  21. package/dist/src/runtime/emit/dml-executor.js +108 -34
  22. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  23. package/dist/src/runtime/foreign-key-actions.d.ts +23 -0
  24. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  25. package/dist/src/runtime/foreign-key-actions.js +138 -0
  26. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  27. package/dist/src/schema/rename-rewriter.d.ts +32 -0
  28. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  29. package/dist/src/schema/rename-rewriter.js +90 -4
  30. package/dist/src/schema/rename-rewriter.js.map +1 -1
  31. package/dist/src/vtab/capabilities.d.ts +19 -0
  32. package/dist/src/vtab/capabilities.d.ts.map +1 -1
  33. package/dist/src/vtab/memory/layer/connection.d.ts +20 -8
  34. package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
  35. package/dist/src/vtab/memory/layer/connection.js +95 -73
  36. package/dist/src/vtab/memory/layer/connection.js.map +1 -1
  37. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  38. package/dist/src/vtab/memory/layer/manager.js +67 -5
  39. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  40. package/dist/src/vtab/memory/layer/transaction.d.ts +0 -8
  41. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  42. package/dist/src/vtab/memory/layer/transaction.js +0 -15
  43. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  44. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  45. package/dist/src/vtab/memory/table.js +13 -2
  46. package/dist/src/vtab/memory/table.js.map +1 -1
  47. package/package.json +3 -3
@@ -3,8 +3,6 @@
3
3
  * Provides unified interface for optimization rules
4
4
  */
5
5
  import { createLogger } from '../../common/logger.js';
6
- import { StatusCode } from '../../common/types.js';
7
- import { quereusError } from '../../common/errors.js';
8
6
  const log = createLogger('optimizer:framework:context');
9
7
  /**
10
8
  * Implementation of optimization context
@@ -15,37 +13,23 @@ export class OptimizationContext {
15
13
  tuning;
16
14
  phase;
17
15
  db;
18
- depth;
19
16
  context = new Map();
20
17
  visitedRules = new Map();
21
18
  optimizedNodes = new Map();
22
19
  diagnostics = {};
23
- constructor(optimizer, stats, tuning, phase = 'rewrite', db, depth = 0) {
20
+ constructor(optimizer, stats, tuning, phase = 'rewrite', db) {
24
21
  this.optimizer = optimizer;
25
22
  this.stats = stats;
26
23
  this.tuning = tuning;
27
24
  this.phase = phase;
28
25
  this.db = db;
29
- this.depth = depth;
30
- log('Created optimization context (phase: %s, depth: %d)', phase, depth);
26
+ log('Created optimization context (phase: %s)', phase);
31
27
  }
32
28
  /**
33
29
  * Create a new context for a different phase
34
30
  */
35
31
  withPhase(phase) {
36
- const newContext = new OptimizationContext(this.optimizer, this.stats, this.tuning, phase, this.db, this.depth);
37
- // Copy visited tracking state
38
- this.copyTrackingState(newContext);
39
- return newContext;
40
- }
41
- /**
42
- * Create a new context with incremented depth
43
- */
44
- withIncrementedDepth() {
45
- if (this.depth >= this.tuning.maxOptimizationDepth) {
46
- quereusError(`Maximum optimization depth exceeded: ${this.depth}`, StatusCode.ERROR);
47
- }
48
- const newContext = new OptimizationContext(this.optimizer, this.stats, this.tuning, this.phase, this.db, this.depth + 1);
32
+ const newContext = new OptimizationContext(this.optimizer, this.stats, this.tuning, phase, this.db);
49
33
  // Copy visited tracking state
50
34
  this.copyTrackingState(newContext);
51
35
  return newContext;
@@ -54,7 +38,7 @@ export class OptimizationContext {
54
38
  * Create a new context with additional context data
55
39
  */
56
40
  withContext(key, value) {
57
- const newContext = new OptimizationContext(this.optimizer, this.stats, this.tuning, this.phase, this.db, this.depth);
41
+ const newContext = new OptimizationContext(this.optimizer, this.stats, this.tuning, this.phase, this.db);
58
42
  // Copy existing context
59
43
  for (const [k, v] of this.context) {
60
44
  newContext.context.set(k, v);
@@ -136,7 +120,6 @@ export function isOptContext(obj) {
136
120
  'stats' in obj &&
137
121
  'tuning' in obj &&
138
122
  'phase' in obj &&
139
- 'depth' in obj &&
140
123
  'context' in obj;
141
124
  }
142
125
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/planner/framework/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/planner/framework/context.ts"],"names":[],"mappings":"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"}
@@ -102,11 +102,27 @@ export declare class PassManager {
102
102
  private executeStandardPass;
103
103
  private assertOptimizationDepth;
104
104
  /**
105
- * Top-down traversal with rule application
105
+ * Finalize a parent frame: collect post-traversal child results, rewire if any
106
+ * child reference changed, memoize against the original node id, and push the
107
+ * finalized node back onto the result stack.
108
+ *
109
+ * Children were pushed in reverse on the work stack, so their finalized results
110
+ * land on `resultStack` in original left-to-right order — a tail slice of length
111
+ * `frame.originalChildren.length` is the correctly-ordered child array.
112
+ */
113
+ private finalizeNode;
114
+ /**
115
+ * Top-down traversal with rule application (iterative worklist).
116
+ *
117
+ * Rules fire on a node BEFORE descending; the post-rule node's children are
118
+ * what gets walked.
106
119
  */
107
120
  private traverseTopDown;
108
121
  /**
109
- * Bottom-up traversal with rule application
122
+ * Bottom-up traversal with rule application (iterative worklist).
123
+ *
124
+ * Children are processed first; rules fire on a node AFTER its rewritten
125
+ * children are spliced back in.
110
126
  */
111
127
  private traverseBottomUp;
112
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pass.d.ts","sourceRoot":"","sources":["../../../../src/planner/framework/pass.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAUhD;;GAEG;AACH,oBAAY,cAAc;IACzB,sCAAsC;IACtC,QAAQ,cAAc;IACtB,sCAAsC;IACtC,OAAO,aAAa;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IAEpB,oCAAoC;IACpC,cAAc,EAAE,cAAc,CAAC;IAE/B,yEAAyE;IACzE,KAAK,EAAE,UAAU,EAAE,CAAC;IAEpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,KAAK,QAAQ,CAAC;IAE5D,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,oBAAY,MAAM;IACjB,wCAAwC;IACxC,eAAe,qBAAqB;IAEpC,sEAAsE;IACtE,UAAU,eAAe;IAEzB,qDAAqD;IACrD,QAAQ,aAAa;IAErB,4CAA4C;IAC5C,gBAAgB,aAAa;IAE7B,uBAAuB;IACvB,UAAU,eAAe;CACzB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACzB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,cAAwC,GACtD,gBAAgB,CAUlB;AAyBD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAkC7C,CAAC;AA8BF;;GAEG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,YAAY,CAA0B;gBAElC,MAAM,GAAE,SAAS,gBAAgB,EAAoB;IAOjE;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAY1C;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIjD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAgBrD;;OAEG;IACH,SAAS,IAAI,SAAS,gBAAgB,EAAE;IAIxC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ;IAItD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ;IAqB/E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,uBAAuB;IAM/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmCvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,mBAAmB;CAc3B"}
1
+ {"version":3,"file":"pass.d.ts","sourceRoot":"","sources":["../../../../src/planner/framework/pass.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAUhD;;GAEG;AACH,oBAAY,cAAc;IACzB,sCAAsC;IACtC,QAAQ,cAAc;IACtB,sCAAsC;IACtC,OAAO,aAAa;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IAEpB,oCAAoC;IACpC,cAAc,EAAE,cAAc,CAAC;IAE/B,yEAAyE;IACzE,KAAK,EAAE,UAAU,EAAE,CAAC;IAEpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,KAAK,QAAQ,CAAC;IAE5D,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,oBAAY,MAAM;IACjB,wCAAwC;IACxC,eAAe,qBAAqB;IAEpC,sEAAsE;IACtE,UAAU,eAAe;IAEzB,qDAAqD;IACrD,QAAQ,aAAa;IAErB,4CAA4C;IAC5C,gBAAgB,aAAa;IAE7B,uBAAuB;IACvB,UAAU,eAAe;CACzB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACzB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,cAAwC,GACtD,gBAAgB,CAUlB;AAyBD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAkC7C,CAAC;AAoDF;;GAEG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,YAAY,CAA0B;gBAElC,MAAM,GAAE,SAAS,gBAAgB,EAAoB;IAOjE;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAY1C;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIjD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAgBrD;;OAEG;IACH,SAAS,IAAI,SAAS,gBAAgB,EAAE;IAIxC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ;IAItD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ;IAqB/E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAoDvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,mBAAmB;CAc3B"}
@@ -205,10 +205,10 @@ export class PassManager {
205
205
  maxRulesFired: context.tuning.maxRulesFired,
206
206
  };
207
207
  if (pass.traversalOrder === TraversalOrder.TopDown) {
208
- return this.traverseTopDown(plan, context, pass, state, 0);
208
+ return this.traverseTopDown(plan, context, pass, state);
209
209
  }
210
210
  else {
211
- return this.traverseBottomUp(plan, context, pass, state, 0);
211
+ return this.traverseBottomUp(plan, context, pass, state);
212
212
  }
213
213
  }
214
214
  assertOptimizationDepth(state, depth) {
@@ -217,53 +217,122 @@ export class PassManager {
217
217
  }
218
218
  }
219
219
  /**
220
- * Top-down traversal with rule application
220
+ * Finalize a parent frame: collect post-traversal child results, rewire if any
221
+ * child reference changed, memoize against the original node id, and push the
222
+ * finalized node back onto the result stack.
223
+ *
224
+ * Children were pushed in reverse on the work stack, so their finalized results
225
+ * land on `resultStack` in original left-to-right order — a tail slice of length
226
+ * `frame.originalChildren.length` is the correctly-ordered child array.
221
227
  */
222
- traverseTopDown(node, context, pass, state, depth) {
223
- this.assertOptimizationDepth(state, depth);
224
- const cached = context.optimizedNodes.get(node.id);
225
- if (cached) {
226
- return cached;
227
- }
228
- // Apply rules to this node first
229
- let currentNode = this.applyPassRules(node, context, pass, state);
230
- // Then traverse children
231
- const children = currentNode.getChildren();
232
- if (children.length > 0) {
233
- const newChildren = children.map(child => this.traverseTopDown(child, context, pass, state, depth + 1));
234
- // Only create new node if children changed
235
- const childrenChanged = children.some((child, i) => child !== newChildren[i]);
236
- if (childrenChanged) {
237
- currentNode = currentNode.withChildren(newChildren);
228
+ finalizeNode(frame, resultStack, context, applyRulesAfter) {
229
+ const n = frame.originalChildren.length;
230
+ const newChildren = resultStack.splice(resultStack.length - n, n);
231
+ let node = frame.currentNode;
232
+ let childrenChanged = false;
233
+ for (let i = 0; i < n; i++) {
234
+ if (newChildren[i] !== frame.originalChildren[i]) {
235
+ childrenChanged = true;
236
+ break;
238
237
  }
239
238
  }
240
- context.optimizedNodes.set(node.id, currentNode);
241
- return currentNode;
239
+ if (childrenChanged) {
240
+ node = node.withChildren(newChildren);
241
+ }
242
+ const finalized = applyRulesAfter
243
+ ? this.applyPassRules(node, applyRulesAfter.context, applyRulesAfter.pass, applyRulesAfter.state)
244
+ : node;
245
+ context.optimizedNodes.set(frame.origNodeId, finalized);
246
+ return finalized;
242
247
  }
243
248
  /**
244
- * Bottom-up traversal with rule application
249
+ * Top-down traversal with rule application (iterative worklist).
250
+ *
251
+ * Rules fire on a node BEFORE descending; the post-rule node's children are
252
+ * what gets walked.
245
253
  */
246
- traverseBottomUp(node, context, pass, state, depth) {
247
- this.assertOptimizationDepth(state, depth);
248
- const cached = context.optimizedNodes.get(node.id);
249
- if (cached) {
250
- return cached;
254
+ traverseTopDown(plan, context, pass, state) {
255
+ const workStack = [{ kind: 'visit', node: plan, depth: 0 }];
256
+ const resultStack = [];
257
+ while (workStack.length > 0) {
258
+ const frame = workStack.pop();
259
+ if (frame.kind === 'visit') {
260
+ const cached = context.optimizedNodes.get(frame.node.id);
261
+ if (cached) {
262
+ resultStack.push(cached);
263
+ continue;
264
+ }
265
+ this.assertOptimizationDepth(state, frame.depth);
266
+ // Top-down: rules fire BEFORE descending.
267
+ const postRule = this.applyPassRules(frame.node, context, pass, state);
268
+ const children = postRule.getChildren();
269
+ if (children.length === 0) {
270
+ context.optimizedNodes.set(frame.node.id, postRule);
271
+ resultStack.push(postRule);
272
+ continue;
273
+ }
274
+ workStack.push({
275
+ kind: 'finalize',
276
+ origNodeId: frame.node.id,
277
+ currentNode: postRule,
278
+ originalChildren: children,
279
+ depth: frame.depth,
280
+ });
281
+ for (let i = children.length - 1; i >= 0; i--) {
282
+ workStack.push({ kind: 'visit', node: children[i], depth: frame.depth + 1 });
283
+ }
284
+ }
285
+ else {
286
+ // Top-down: rules already fired on entry — finalize without re-applying.
287
+ const finalized = this.finalizeNode(frame, resultStack, context, null);
288
+ resultStack.push(finalized);
289
+ }
251
290
  }
252
- // Traverse children first
253
- const children = node.getChildren();
254
- let currentNode = node;
255
- if (children.length > 0) {
256
- const newChildren = children.map(child => this.traverseBottomUp(child, context, pass, state, depth + 1));
257
- // Only create new node if children changed
258
- const childrenChanged = children.some((child, i) => child !== newChildren[i]);
259
- if (childrenChanged) {
260
- currentNode = currentNode.withChildren(newChildren);
291
+ return resultStack[0];
292
+ }
293
+ /**
294
+ * Bottom-up traversal with rule application (iterative worklist).
295
+ *
296
+ * Children are processed first; rules fire on a node AFTER its rewritten
297
+ * children are spliced back in.
298
+ */
299
+ traverseBottomUp(plan, context, pass, state) {
300
+ const workStack = [{ kind: 'visit', node: plan, depth: 0 }];
301
+ const resultStack = [];
302
+ while (workStack.length > 0) {
303
+ const frame = workStack.pop();
304
+ if (frame.kind === 'visit') {
305
+ const cached = context.optimizedNodes.get(frame.node.id);
306
+ if (cached) {
307
+ resultStack.push(cached);
308
+ continue;
309
+ }
310
+ this.assertOptimizationDepth(state, frame.depth);
311
+ const children = frame.node.getChildren();
312
+ if (children.length === 0) {
313
+ const result = this.applyPassRules(frame.node, context, pass, state);
314
+ context.optimizedNodes.set(frame.node.id, result);
315
+ resultStack.push(result);
316
+ continue;
317
+ }
318
+ workStack.push({
319
+ kind: 'finalize',
320
+ origNodeId: frame.node.id,
321
+ currentNode: frame.node,
322
+ originalChildren: children,
323
+ depth: frame.depth,
324
+ });
325
+ for (let i = children.length - 1; i >= 0; i--) {
326
+ workStack.push({ kind: 'visit', node: children[i], depth: frame.depth + 1 });
327
+ }
328
+ }
329
+ else {
330
+ // Bottom-up: rules fire AFTER children are finalized.
331
+ const finalized = this.finalizeNode(frame, resultStack, context, { context, pass, state });
332
+ resultStack.push(finalized);
261
333
  }
262
334
  }
263
- // Then apply rules to this node
264
- const result = this.applyPassRules(currentNode, context, pass, state);
265
- context.optimizedNodes.set(node.id, result);
266
- return result;
335
+ return resultStack[0];
267
336
  }
268
337
  /**
269
338
  * Apply all rules in a pass to a node
@@ -1 +1 @@
1
- {"version":3,"file":"pass.js","sourceRoot":"","sources":["../../../../src/planner/framework/pass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pass.js","sourceRoot":"","sources":["../../../../src/planner/framework/pass.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"alter-table.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/alter-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAmD,MAAM,uBAAuB,CAAC;AAkBtI,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA2CvF;AAypBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,QAAQ,EAAE,0BAA0B,EAAE,GACpC,MAAM,CAuCR"}
1
+ {"version":3,"file":"alter-table.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/alter-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAmD,MAAM,uBAAuB,CAAC;AAkBtI,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA2CvF;AAgqBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,QAAQ,EAAE,0BAA0B,EAAE,GACpC,MAAM,CAuCR"}
@@ -4,7 +4,7 @@ import { createLogger } from '../../common/logger.js';
4
4
  import { buildColumnIndexMap, opsToMask, withGeneratedColumnGraph } from '../../schema/table.js';
5
5
  import { MemoryTableModule } from '../../vtab/memory/module.js';
6
6
  import { quoteIdentifier, expressionToString, selectToString } from '../../emit/ast-stringify.js';
7
- import { renameTableInAst, renameColumnInAst } from '../../schema/rename-rewriter.js';
7
+ import { renameTableInAst, renameColumnInAst, renameColumnInCheckExpression } from '../../schema/rename-rewriter.js';
8
8
  import { tryFoldLiteral } from '../../parser/utils.js';
9
9
  const log = createLogger('runtime:emit:alter-table');
10
10
  function qualifyTableName(schemaName, tableName) {
@@ -166,8 +166,15 @@ async function runAddColumn(rctx, tableSchema, schema, columnDef) {
166
166
  // NOT NULL without a usable DEFAULT cannot backfill existing rows. A DEFAULT whose
167
167
  // folded value is NULL is equivalent to "no DEFAULT" for this purpose. If the table
168
168
  // is non-empty, reject before mutating any schema or data.
169
+ //
170
+ // A module may opt out of this engine-generic rejection via the
171
+ // `delegatesNotNullBackfill` capability (structurally-total modules that
172
+ // carry pre-existing rows forward and enforce NOT NULL at write time). When
173
+ // it declares the capability, the decision is left entirely to its
174
+ // `alterTable`. Native modules leave it off, so this still fires for them.
175
+ const delegatesBackfill = module.getCapabilities?.().delegatesNotNullBackfill === true;
169
176
  const hasNotNull = columnDef.constraints?.some(c => c.type === 'notNull') ?? false;
170
- if (hasNotNull) {
177
+ if (hasNotNull && !delegatesBackfill) {
171
178
  const folded = defaultConstraint?.expr ? tryFoldLiteral(defaultConstraint.expr) : undefined;
172
179
  const defaultIsNullish = !defaultConstraint || folded === undefined || folded === null;
173
180
  if (defaultIsNullish) {
@@ -702,15 +709,21 @@ function rewriteTableForTableRename(table, renamedSchemaLower, oldName, newName)
702
709
  });
703
710
  }
704
711
  function propagateColumnRename(rctx, renamedSchemaName, tableName, oldCol, newCol) {
705
- const notifier = rctx.db.schemaManager.getChangeNotifier();
706
- for (const schema of rctx.db.schemaManager._getAllSchemas()) {
707
- propagateColumnRenameInSchema(schema, renamedSchemaName, tableName, oldCol, newCol, notifier);
712
+ const schemaManager = rctx.db.schemaManager;
713
+ const notifier = schemaManager.getChangeNotifier();
714
+ const resolveColumnInSource = (s, t, col) => {
715
+ const targetSchema = schemaManager.getSchema(s);
716
+ const targetTable = targetSchema?.getTable(t);
717
+ return targetTable?.columnIndexMap.has(col.toLowerCase()) ?? false;
718
+ };
719
+ for (const schema of schemaManager._getAllSchemas()) {
720
+ propagateColumnRenameInSchema(schema, renamedSchemaName, tableName, oldCol, newCol, notifier, resolveColumnInSource);
708
721
  }
709
722
  }
710
- function propagateColumnRenameInSchema(schema, renamedSchemaName, tableName, oldCol, newCol, notifier) {
723
+ function propagateColumnRenameInSchema(schema, renamedSchemaName, tableName, oldCol, newCol, notifier, resolveColumnInSource) {
711
724
  const renamedSchemaLower = renamedSchemaName.toLowerCase();
712
725
  for (const table of Array.from(schema.getAllTables())) {
713
- const updated = rewriteTableForColumnRename(table, renamedSchemaLower, tableName, oldCol, newCol);
726
+ const updated = rewriteTableForColumnRename(table, renamedSchemaLower, tableName, oldCol, newCol, resolveColumnInSource);
714
727
  if (updated !== table) {
715
728
  schema.addTable(updated);
716
729
  notifier.notifyChange({
@@ -732,12 +745,16 @@ function propagateColumnRenameInSchema(schema, renamedSchemaName, tableName, old
732
745
  }
733
746
  }
734
747
  }
735
- function rewriteTableForColumnRename(table, renamedSchemaLower, tableName, oldCol, newCol) {
748
+ function rewriteTableForColumnRename(table, renamedSchemaLower, tableName, oldCol, newCol, resolveColumnInSource) {
736
749
  const oldColLower = oldCol.toLowerCase();
737
750
  const tableLower = tableName.toLowerCase();
751
+ const isRenamedTable = table.schemaName.toLowerCase() === renamedSchemaLower &&
752
+ table.name.toLowerCase() === tableLower;
738
753
  let changed = false;
739
754
  const newChecks = table.checkConstraints.map(cc => {
740
- const rewrote = renameColumnInAst(cc.expr, tableName, oldCol, newCol, renamedSchemaLower);
755
+ const rewrote = isRenamedTable
756
+ ? renameColumnInCheckExpression(cc.expr, tableName, oldCol, newCol, renamedSchemaLower, resolveColumnInSource)
757
+ : renameColumnInAst(cc.expr, tableName, oldCol, newCol, renamedSchemaLower);
741
758
  if (!rewrote)
742
759
  return cc;
743
760
  changed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"alter-table.js","sourceRoot":"","sources":["../../../../src/runtime/emit/alter-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alter-table.js","sourceRoot":"","sources":["../../../../src/runtime/emit/alter-table.ts"],"names":[],"mappings":"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"}
@@ -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;AAM5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAuD9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAkmBxF"}
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;AA+D9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAuqBxF"}