@quereus/quereus 4.18.0 → 4.19.2

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 (198) hide show
  1. package/README.md +2 -0
  2. package/dist/src/common/types.d.ts +17 -0
  3. package/dist/src/common/types.d.ts.map +1 -1
  4. package/dist/src/common/types.js.map +1 -1
  5. package/dist/src/core/database-assertions.d.ts.map +1 -1
  6. package/dist/src/core/database-assertions.js +2 -1
  7. package/dist/src/core/database-assertions.js.map +1 -1
  8. package/dist/src/core/database-auto-analyze.d.ts +3 -3
  9. package/dist/src/core/database-auto-analyze.d.ts.map +1 -1
  10. package/dist/src/core/database-auto-analyze.js +17 -11
  11. package/dist/src/core/database-auto-analyze.js.map +1 -1
  12. package/dist/src/core/database-materialized-views-plan-builders.d.ts +11 -2
  13. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  14. package/dist/src/core/database-materialized-views-plan-builders.js +15 -10
  15. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  16. package/dist/src/core/database-watchers.d.ts.map +1 -1
  17. package/dist/src/core/database-watchers.js +2 -1
  18. package/dist/src/core/database-watchers.js.map +1 -1
  19. package/dist/src/core/database.d.ts.map +1 -1
  20. package/dist/src/core/database.js +18 -0
  21. package/dist/src/core/database.js.map +1 -1
  22. package/dist/src/core/statement.d.ts.map +1 -1
  23. package/dist/src/core/statement.js +5 -0
  24. package/dist/src/core/statement.js.map +1 -1
  25. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  26. package/dist/src/func/builtins/explain.js +38 -42
  27. package/dist/src/func/builtins/explain.js.map +1 -1
  28. package/dist/src/planner/cost/index.d.ts +9 -0
  29. package/dist/src/planner/cost/index.d.ts.map +1 -1
  30. package/dist/src/planner/cost/index.js +28 -0
  31. package/dist/src/planner/cost/index.js.map +1 -1
  32. package/dist/src/planner/debug.d.ts +5 -0
  33. package/dist/src/planner/debug.d.ts.map +1 -1
  34. package/dist/src/planner/debug.js +5 -0
  35. package/dist/src/planner/debug.js.map +1 -1
  36. package/dist/src/planner/framework/characteristics.d.ts +0 -22
  37. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  38. package/dist/src/planner/framework/characteristics.js +0 -3
  39. package/dist/src/planner/framework/characteristics.js.map +1 -1
  40. package/dist/src/planner/framework/pass.js +3 -3
  41. package/dist/src/planner/nodes/async-gather-node.d.ts +13 -0
  42. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -1
  43. package/dist/src/planner/nodes/async-gather-node.js +19 -29
  44. package/dist/src/planner/nodes/async-gather-node.js.map +1 -1
  45. package/dist/src/planner/nodes/constraint-check-node.d.ts +9 -0
  46. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  47. package/dist/src/planner/nodes/constraint-check-node.js +13 -0
  48. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  49. package/dist/src/planner/nodes/cte-node.d.ts +8 -5
  50. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  51. package/dist/src/planner/nodes/cte-node.js +14 -4
  52. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  53. package/dist/src/planner/nodes/cte-reference-node.d.ts +9 -1
  54. package/dist/src/planner/nodes/cte-reference-node.d.ts.map +1 -1
  55. package/dist/src/planner/nodes/cte-reference-node.js +13 -0
  56. package/dist/src/planner/nodes/cte-reference-node.js.map +1 -1
  57. package/dist/src/planner/nodes/delete-node.d.ts +7 -1
  58. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  59. package/dist/src/planner/nodes/delete-node.js +12 -2
  60. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  61. package/dist/src/planner/nodes/dml-executor-node.d.ts +2 -1
  62. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  63. package/dist/src/planner/nodes/dml-executor-node.js +8 -1
  64. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  65. package/dist/src/planner/nodes/insert-node.d.ts +8 -1
  66. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  67. package/dist/src/planner/nodes/insert-node.js +12 -1
  68. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  69. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  70. package/dist/src/planner/nodes/join-node.js +10 -0
  71. package/dist/src/planner/nodes/join-node.js.map +1 -1
  72. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  73. package/dist/src/planner/nodes/recursive-cte-node.js +7 -0
  74. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  75. package/dist/src/planner/nodes/remote-query-node.d.ts +7 -1
  76. package/dist/src/planner/nodes/remote-query-node.d.ts.map +1 -1
  77. package/dist/src/planner/nodes/remote-query-node.js +11 -0
  78. package/dist/src/planner/nodes/remote-query-node.js.map +1 -1
  79. package/dist/src/planner/nodes/returning-node.d.ts +4 -0
  80. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  81. package/dist/src/planner/nodes/returning-node.js +8 -1
  82. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  83. package/dist/src/planner/nodes/set-operation-node.d.ts +14 -1
  84. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  85. package/dist/src/planner/nodes/set-operation-node.js +22 -1
  86. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  87. package/dist/src/planner/nodes/sink-node.d.ts +9 -1
  88. package/dist/src/planner/nodes/sink-node.d.ts.map +1 -1
  89. package/dist/src/planner/nodes/sink-node.js +12 -0
  90. package/dist/src/planner/nodes/sink-node.js.map +1 -1
  91. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  92. package/dist/src/planner/nodes/table-access-nodes.js +4 -3
  93. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  94. package/dist/src/planner/nodes/update-node.d.ts +7 -1
  95. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  96. package/dist/src/planner/nodes/update-node.js +9 -1
  97. package/dist/src/planner/nodes/update-node.js.map +1 -1
  98. package/dist/src/planner/nodes/view-mutation-node.d.ts +13 -1
  99. package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -1
  100. package/dist/src/planner/nodes/view-mutation-node.js +25 -1
  101. package/dist/src/planner/nodes/view-mutation-node.js.map +1 -1
  102. package/dist/src/planner/optimizer-tuning.d.ts +9 -9
  103. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  104. package/dist/src/planner/optimizer-tuning.js +0 -2
  105. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  106. package/dist/src/planner/optimizer.d.ts.map +1 -1
  107. package/dist/src/planner/optimizer.js +9 -21
  108. package/dist/src/planner/optimizer.js.map +1 -1
  109. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  110. package/dist/src/planner/rules/access/rule-key-set-seek.js +19 -10
  111. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  112. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +1 -1
  113. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  114. package/dist/src/planner/rules/access/rule-select-access-path.js +34 -19
  115. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  116. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.d.ts.map +1 -1
  117. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js +14 -1
  118. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js.map +1 -1
  119. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
  120. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +6 -4
  121. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
  122. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  123. package/dist/src/planner/rules/join/index-nested-loop.js +13 -10
  124. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  125. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts +2 -1
  126. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  127. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +45 -17
  128. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  129. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  130. package/dist/src/planner/rules/join/rule-join-physical-selection.js +5 -3
  131. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  132. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts +19 -1
  133. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  134. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +36 -3
  135. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  136. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +4 -3
  137. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  138. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts +14 -1
  139. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  140. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +200 -13
  141. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  142. package/dist/src/planner/stats/catalog-stats.js +1 -1
  143. package/dist/src/planner/stats/catalog-stats.js.map +1 -1
  144. package/dist/src/planner/stats/index.d.ts.map +1 -1
  145. package/dist/src/planner/stats/index.js +3 -4
  146. package/dist/src/planner/stats/index.js.map +1 -1
  147. package/dist/src/planner/stats/table-cardinality.d.ts +6 -6
  148. package/dist/src/planner/stats/table-cardinality.js +7 -7
  149. package/dist/src/planner/stats/table-cardinality.js.map +1 -1
  150. package/dist/src/planner/util/row-estimates.d.ts +91 -0
  151. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  152. package/dist/src/planner/util/row-estimates.js +134 -18
  153. package/dist/src/planner/util/row-estimates.js.map +1 -1
  154. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  155. package/dist/src/runtime/emit/materialized-view-helpers.js +3 -3
  156. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  157. package/dist/src/runtime/scheduler.d.ts +47 -0
  158. package/dist/src/runtime/scheduler.d.ts.map +1 -1
  159. package/dist/src/runtime/scheduler.js +105 -11
  160. package/dist/src/runtime/scheduler.js.map +1 -1
  161. package/dist/src/runtime/types.d.ts +18 -3
  162. package/dist/src/runtime/types.d.ts.map +1 -1
  163. package/dist/src/runtime/types.js +7 -5
  164. package/dist/src/runtime/types.js.map +1 -1
  165. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  166. package/dist/src/schema/lens-prover.js +2 -1
  167. package/dist/src/schema/lens-prover.js.map +1 -1
  168. package/dist/src/schema/manager.d.ts.map +1 -1
  169. package/dist/src/schema/manager.js +0 -3
  170. package/dist/src/schema/manager.js.map +1 -1
  171. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  172. package/dist/src/schema/schema-differ.js +4 -2
  173. package/dist/src/schema/schema-differ.js.map +1 -1
  174. package/dist/src/schema/table.d.ts +0 -2
  175. package/dist/src/schema/table.d.ts.map +1 -1
  176. package/dist/src/schema/table.js.map +1 -1
  177. package/dist/src/util/async-generator-support.d.ts +12 -0
  178. package/dist/src/util/async-generator-support.d.ts.map +1 -0
  179. package/dist/src/util/async-generator-support.js +65 -0
  180. package/dist/src/util/async-generator-support.js.map +1 -0
  181. package/dist/src/vtab/best-access-plan.d.ts +89 -4
  182. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  183. package/dist/src/vtab/best-access-plan.js +76 -1
  184. package/dist/src/vtab/best-access-plan.js.map +1 -1
  185. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  186. package/dist/src/vtab/memory/module.js +27 -11
  187. package/dist/src/vtab/memory/module.js.map +1 -1
  188. package/dist/src/vtab/module.d.ts +7 -0
  189. package/dist/src/vtab/module.d.ts.map +1 -1
  190. package/dist/src/vtab/test-support/committed-read-conformance.d.ts +5 -2
  191. package/dist/src/vtab/test-support/committed-read-conformance.d.ts.map +1 -1
  192. package/dist/src/vtab/test-support/committed-read-conformance.js +55 -9
  193. package/dist/src/vtab/test-support/committed-read-conformance.js.map +1 -1
  194. package/package.json +3 -3
  195. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts +0 -17
  196. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +0 -1
  197. package/dist/src/planner/rules/cache/rule-cte-optimization.js +0 -69
  198. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +0 -1
@@ -18,6 +18,7 @@ import { rowToObject } from './utils.js';
18
18
  import { getPhysicalType, physicalTypeName, PhysicalType } from '../types/logical-type.js';
19
19
  import { wrapAsyncIterator } from '../util/async-iterator.js';
20
20
  import { combineAbortSignals } from '../util/abort-signal.js';
21
+ import { ensureAsyncGeneratorCleanupSupported } from '../util/async-generator-support.js';
21
22
  import { analyzeChangeScope } from '../planner/analysis/change-scope.js';
22
23
  import { collectScalarRequiredParams } from '../planner/analysis/scalar-param-usage.js';
23
24
  import { isObjectClassValue } from '../util/comparison.js';
@@ -560,6 +561,10 @@ export class Statement {
560
561
  */
561
562
  async *_iterateConcurrent(params, options) {
562
563
  throwIfAborted(options?.signal);
564
+ // This path skips Database._acquireExecMutex, so it refuses unsupported hosts itself.
565
+ const supportCheck = ensureAsyncGeneratorCleanupSupported();
566
+ if (supportCheck)
567
+ await supportCheck;
563
568
  const scope = this.db._beginConcurrentRead();
564
569
  const combined = combineAbortSignals(options?.signal, scope.signal);
565
570
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/core/statement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/core/statement.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"AAiFA,eAAO,MAAM,aAAa,8DA0HzB,CAAC;AAuFF,eAAO,MAAM,oBAAoB,8DA4ChC,CAAC;AAGF,eAAO,MAAM,cAAc,8DA8G1B,CAAC;AAGF,eAAO,MAAM,kBAAkB,8DAgL9B,CAAC;AAGF,eAAO,MAAM,YAAY,8DA0GxB,CAAC;AAGF,eAAO,MAAM,cAAc,8DAwB1B,CAAC;AAIF,eAAO,MAAM,iBAAiB,8DA0D7B,CAAC;AA+CF,eAAO,MAAM,iBAAiB,8DAkE7B,CAAC;AAOF,eAAO,MAAM,kBAAkB,8DAuD9B,CAAC;AAGF,eAAO,MAAM,oBAAoB,8DA4FhC,CAAC"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"AAiFA,eAAO,MAAM,aAAa,8DA0HzB,CAAC;AAkFF,eAAO,MAAM,oBAAoB,8DA4ChC,CAAC;AAGF,eAAO,MAAM,cAAc,8DA8G1B,CAAC;AAGF,eAAO,MAAM,kBAAkB,8DAqL9B,CAAC;AAGF,eAAO,MAAM,YAAY,8DA8GxB,CAAC;AAGF,eAAO,MAAM,cAAc,8DAwB1B,CAAC;AAIF,eAAO,MAAM,iBAAiB,8DA0D7B,CAAC;AA+CF,eAAO,MAAM,iBAAiB,8DAkE7B,CAAC;AAOF,eAAO,MAAM,kBAAkB,8DAuD9B,CAAC;AAGF,eAAO,MAAM,oBAAoB,8DA4FhC,CAAC"}
@@ -177,7 +177,7 @@ export const queryPlanFunc = createIntegratedTableValuedFunction({
177
177
  //
178
178
  // Shared by scheduler_program() and execution_trace(), which must report the
179
179
  // same (full, sub-program) instruction listing — execution_trace() joins its
180
- // trace events against these addresses by index. Throws rather than
180
+ // trace events against these addresses. Throws rather than
181
181
  // returning an error row; callers keep their own error handling.
182
182
  function collectSchedulerProgram(db, sql) {
183
183
  const entries = [];
@@ -185,54 +185,41 @@ function collectSchedulerProgram(db, sql) {
185
185
  const plan = db.getPlan(sql);
186
186
  // Emit the plan to get the instruction tree. Unfused: this listing exists to
187
187
  // show the instruction graph, and execution_trace() joins against it by
188
- // instruction index — both must report the same (full, sub-program) form.
188
+ // instruction address — both must report the same (full, sub-program) form.
189
189
  // Scalar fusion would dissolve scalar sub-programs into single fused(...)
190
190
  // instructions.
191
191
  const emissionContext = new EmissionContext(db, { fuseScalars: false });
192
192
  const rootInstruction = emitPlanNode(plan, emissionContext);
193
- // Create a scheduler to get the instruction sequence
193
+ // Create a scheduler to get the instruction sequence. The scheduler owns
194
+ // addressing; nothing here encodes or decodes an address.
194
195
  const scheduler = new Scheduler(rootInstruction);
195
- const indexByInstruction = new Map();
196
- for (let i = 0; i < scheduler.instructions.length; i++) {
197
- indexByInstruction.set(scheduler.instructions[i], i);
198
- }
196
+ scheduler.ensureAddressesAssigned();
197
+ appendSchedulerEntries(scheduler, null, entries);
198
+ return entries;
199
+ }
200
+ /**
201
+ * Appends one entry per instruction in `scheduler`, then recurses into each
202
+ * instruction's nested programs so a program nested two deep (e.g. a correlated
203
+ * scalar subquery inside a filter predicate) is listed too. Sub-program rows
204
+ * follow the instruction that owns them, which is also their `parentAddr`.
205
+ */
206
+ function appendSchedulerEntries(scheduler, parentAddr, entries) {
199
207
  for (let i = 0; i < scheduler.instructions.length; i++) {
200
208
  const instruction = scheduler.instructions[i];
201
- const dependencies = instruction.params
202
- .map(inst => indexByInstruction.get(inst))
203
- .filter((idx) => idx !== undefined);
209
+ const addr = scheduler.addressOf(i);
204
210
  entries.push({
205
- addr: i,
206
- dependencies,
207
- description: instruction.note || `INSTRUCTION_${i}`,
208
- isSubprogram: false,
209
- parentAddr: null,
211
+ addr,
212
+ dependencies: scheduler.dependencyAddressesOf(i),
213
+ description: instruction.note || `INSTRUCTION_${addr}`,
214
+ isSubprogram: parentAddr !== null,
215
+ parentAddr,
210
216
  });
211
- // If this instruction has sub-programs, collect those too
212
217
  if (instruction.programs) {
213
- for (let progIdx = 0; progIdx < instruction.programs.length; progIdx++) {
214
- const subProgram = instruction.programs[progIdx];
215
- const subIndexByInstruction = new Map();
216
- for (let subI = 0; subI < subProgram.instructions.length; subI++) {
217
- subIndexByInstruction.set(subProgram.instructions[subI], subI);
218
- }
219
- for (let subI = 0; subI < subProgram.instructions.length; subI++) {
220
- const subInstruction = subProgram.instructions[subI];
221
- const subDependencies = subInstruction.params
222
- .map(inst => subIndexByInstruction.get(inst))
223
- .filter((idx) => idx !== undefined);
224
- entries.push({
225
- addr: scheduler.instructions.length + progIdx * 1000 + subI, // offset for sub-programs
226
- dependencies: subDependencies,
227
- description: subInstruction.note || `SUB_INSTRUCTION_${progIdx}_${subI}`,
228
- isSubprogram: true,
229
- parentAddr: i,
230
- });
231
- }
218
+ for (const subProgram of instruction.programs) {
219
+ appendSchedulerEntries(subProgram, addr, entries);
232
220
  }
233
221
  }
234
222
  }
235
- return entries;
236
223
  }
237
224
  // Scheduler program explanation function (table-valued function)
238
225
  export const schedulerProgramFunc = createIntegratedTableValuedFunction({
@@ -484,12 +471,17 @@ export const executionTraceFunc = createIntegratedTableValuedFunction({
484
471
  rootNote: sp.rootNote
485
472
  };
486
473
  if (subProgramDetail) {
487
- // Add instruction details from the sub-program
488
- const instructions = subProgramDetail.scheduler.instructions.map((instr, idx) => ({
489
- index: idx,
490
- operation: instr.note || `instruction_${idx}`,
491
- dependencies: instr.params.map((_, paramIdx) => paramIdx).filter((paramIdx) => paramIdx < idx)
492
- }));
474
+ // Add instruction details from the sub-program, addressed the same
475
+ // way as every other row so they can be looked up in the listing.
476
+ const subScheduler = subProgramDetail.scheduler;
477
+ const instructions = subScheduler.instructions.map((instr, idx) => {
478
+ const address = subScheduler.addressOf(idx);
479
+ return {
480
+ address,
481
+ operation: instr.note || `instruction_${address}`,
482
+ dependencies: subScheduler.dependencyAddressesOf(idx)
483
+ };
484
+ });
493
485
  return { ...baseInfo, instructions };
494
486
  }
495
487
  return baseInfo;
@@ -570,6 +562,10 @@ export const rowTraceFunc = createIntegratedTableValuedFunction({
570
562
  let stmt;
571
563
  try {
572
564
  stmt = db.prepare(sql);
565
+ // Trace the UNFUSED graph, like execution_trace() and scheduler_program():
566
+ // instruction_index means the same global address in all three, so a row
567
+ // trace can be joined against the listing.
568
+ stmt._emitUnfused = true;
573
569
  // Execute the query with tracing to collect row-level events
574
570
  const results = [];
575
571
  for await (const row of stmt.iterateRowsWithTrace(undefined, tracer)) {
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"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"}
@@ -211,6 +211,14 @@ export interface MaintenanceSourceStats {
211
211
  * join-semilattice UDAF — `merge`, no `negate`); blended into the delta cost by
212
212
  * {@link maintenanceCost}. Absent/0 ⇒ pure-group body, delta cost unchanged. */
213
213
  deltaTightenFallbackRatio?: number;
214
+ /** Optimizer cost of ONE execution of the compiled key-filtered residual plan
215
+ * (`PlanNode.getTotalCost()` of the optimized residual, stamped by the arm builders).
216
+ * This is what a residual run ACTUALLY costs: with no index on the binding key the
217
+ * injected filter cannot seek and each run scans the whole source, which the
218
+ * rows-per-group heuristic below wildly underestimates — the estimate-driven
219
+ * degrade-to-rebuild crossover then never fires and a wide statement pays k full
220
+ * scans instead of one rebuild. When present it replaces the heuristic outright. */
221
+ residualExecutionCost?: number;
214
222
  }
215
223
  /**
216
224
  * Backward (maintenance-direction) cost of applying `strategy` to `changeCardinality`
@@ -270,6 +278,7 @@ export declare function isFullRebuildPathological(stats: MaintenanceSourceStats,
270
278
  * statement is cheaper. Returns true when the driver should set `degradeToRebuild` for
271
279
  * this statement only (the stored strategy is retained for later, lower-cardinality writes).
272
280
  * Stateless by design, so a subsequent low-cardinality statement naturally reverts.
281
+ * Statements below {@link MIN_DEGRADE_DISTINCT_KEYS} distinct keys never demote.
273
282
  */
274
283
  export declare function shouldDegradeToRebuild(changeCardinality: number, stats: MaintenanceSourceStats): boolean;
275
284
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/planner/cost/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/planner/cost/index.ts"],"names":[],"mappings":"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"}
@@ -292,6 +292,12 @@ export function maintenanceCost(strategy, changeCardinality, stats) {
292
292
  case 'residual-recompute':
293
293
  return changeCardinality * residualCostPerGroup(stats);
294
294
  case 'full-rebuild':
295
+ // NOTE: asymmetric inputs — the residual arm can be priced from a REAL optimized
296
+ // plan cost (`residualExecutionCost`) while this arm stays the synthetic
297
+ // `seqScan+filter+project` formula `estimateMaintenanceStats` builds. Both are in
298
+ // COST_CONSTANTS units so the crossover is meaningful today; if the two ever
299
+ // disagree in practice, stamp `buildFullRebuildPlan`'s optimized `getTotalCost()`
300
+ // here the same way the arm builders stamp the residual's.
295
301
  return stats.forwardBodyCost;
296
302
  default: {
297
303
  // A new strategy must extend this switch; never-assignment makes that a
@@ -310,6 +316,11 @@ export function maintenanceCost(strategy, changeCardinality, stats) {
310
316
  * is byte-for-byte the previous behaviour.
311
317
  */
312
318
  function residualCostPerGroup(stats) {
319
+ // The compiled residual plan's own cost is the ground truth for one residual run —
320
+ // it reflects whether the injected key filter actually seeks or the run scans the
321
+ // whole source. Prefer it whenever an arm builder stamped it.
322
+ if (stats.residualExecutionCost !== undefined)
323
+ return stats.residualExecutionCost;
313
324
  const haveStats = stats.distinctGroupsEstimate !== undefined &&
314
325
  stats.distinctGroupsEstimate > 0 &&
315
326
  stats.tableRows > 0;
@@ -352,6 +363,20 @@ export function isFullRebuildPathological(stats, threshold) {
352
363
  const fullScanCost = stats.tableRows * COST_CONSTANTS.SEQ_SCAN_PER_ROW;
353
364
  return stats.tableRows > threshold && stats.forwardBodyCost > fullScanCost;
354
365
  }
366
+ /**
367
+ * Distinct-key floor below which the residual arm is NEVER demoted to a rebuild.
368
+ * With an un-indexed binding key one residual run and one rebuild both scan the whole
369
+ * source, so their modeled costs sit within noise of each other — but the rebuild's
370
+ * `'replace-all'` diff also rewrites/verifies EVERY backing row (write amplification
371
+ * the cost model does not carry), so a statement touching only a key or two is always
372
+ * better served by the targeted residual. Wide statements still cross over.
373
+ *
374
+ * NOTE: a judgment constant standing in for a cost term the model cannot express.
375
+ * The principled replacement is charging `'full-rebuild'` its per-backing-row write
376
+ * cost, which needs a backing-size statistic that does not exist yet; revisit if the
377
+ * floor ever has to move, or once the backing carries its own row count.
378
+ */
379
+ const MIN_DEGRADE_DISTINCT_KEYS = 3;
355
380
  /**
356
381
  * Per-write demotion test for the `'residual-recompute'` arm: at the DML boundary the
357
382
  * actual `changeCardinality` of the current statement may spike above the
@@ -359,8 +384,11 @@ export function isFullRebuildPathological(stats, threshold) {
359
384
  * statement is cheaper. Returns true when the driver should set `degradeToRebuild` for
360
385
  * this statement only (the stored strategy is retained for later, lower-cardinality writes).
361
386
  * Stateless by design, so a subsequent low-cardinality statement naturally reverts.
387
+ * Statements below {@link MIN_DEGRADE_DISTINCT_KEYS} distinct keys never demote.
362
388
  */
363
389
  export function shouldDegradeToRebuild(changeCardinality, stats) {
390
+ if (changeCardinality < MIN_DEGRADE_DISTINCT_KEYS)
391
+ return false;
364
392
  return maintenanceCost('residual-recompute', changeCardinality, stats) >
365
393
  maintenanceCost('full-rebuild', changeCardinality, stats);
366
394
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/planner/cost/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/planner/cost/index.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,11 @@ export declare function generateInstructionProgram(instructions: readonly Instru
49
49
  export declare function getInstructionDebugInfo(instructions: readonly Instruction[], destinations: readonly (number | null)[]): InstructionDebugInfo[];
50
50
  /**
51
51
  * Generates a comprehensive trace report that includes sub-program execution details.
52
+ *
53
+ * NOTE: an event's `instructionIndex` is a tree-global address (`Scheduler.addressOf`),
54
+ * while {@link generateInstructionProgram} above numbers each scheduler from 0 and
55
+ * lists sub-programs separately. The two listings are NOT joinable by number — use
56
+ * `scheduler_program()`, which reports addresses, if you need that join.
52
57
  */
53
58
  export declare function generateTraceReport(tracer: InstructionTracer): string;
54
59
  /**