@quereus/quereus 4.21.1 → 4.23.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 (142) hide show
  1. package/dist/src/core/database-cardinality-feedback.d.ts +259 -0
  2. package/dist/src/core/database-cardinality-feedback.d.ts.map +1 -0
  3. package/dist/src/core/database-cardinality-feedback.js +547 -0
  4. package/dist/src/core/database-cardinality-feedback.js.map +1 -0
  5. package/dist/src/core/database-transaction.d.ts +9 -2
  6. package/dist/src/core/database-transaction.d.ts.map +1 -1
  7. package/dist/src/core/database-transaction.js +27 -9
  8. package/dist/src/core/database-transaction.js.map +1 -1
  9. package/dist/src/core/database.d.ts +5 -0
  10. package/dist/src/core/database.d.ts.map +1 -1
  11. package/dist/src/core/database.js +86 -7
  12. package/dist/src/core/database.js.map +1 -1
  13. package/dist/src/core/statement.d.ts +16 -2
  14. package/dist/src/core/statement.d.ts.map +1 -1
  15. package/dist/src/core/statement.js +55 -2
  16. package/dist/src/core/statement.js.map +1 -1
  17. package/dist/src/func/builtins/cardinality-feedback.d.ts +15 -0
  18. package/dist/src/func/builtins/cardinality-feedback.d.ts.map +1 -0
  19. package/dist/src/func/builtins/cardinality-feedback.js +106 -0
  20. package/dist/src/func/builtins/cardinality-feedback.js.map +1 -0
  21. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  22. package/dist/src/func/builtins/explain.js +3 -1
  23. package/dist/src/func/builtins/explain.js.map +1 -1
  24. package/dist/src/func/builtins/index.d.ts.map +1 -1
  25. package/dist/src/func/builtins/index.js +3 -0
  26. package/dist/src/func/builtins/index.js.map +1 -1
  27. package/dist/src/index.d.ts +1 -1
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/dist/src/planner/cost/index.d.ts +25 -19
  30. package/dist/src/planner/cost/index.d.ts.map +1 -1
  31. package/dist/src/planner/cost/index.js +28 -21
  32. package/dist/src/planner/cost/index.js.map +1 -1
  33. package/dist/src/planner/framework/trace.js +2 -2
  34. package/dist/src/planner/framework/trace.js.map +1 -1
  35. package/dist/src/planner/nodes/aggregate-node.d.ts +2 -1
  36. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  37. package/dist/src/planner/nodes/aggregate-node.js +1 -0
  38. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  39. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  40. package/dist/src/planner/nodes/filter.js +5 -10
  41. package/dist/src/planner/nodes/filter.js.map +1 -1
  42. package/dist/src/planner/nodes/hash-aggregate.d.ts +2 -1
  43. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  44. package/dist/src/planner/nodes/hash-aggregate.js +1 -0
  45. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  46. package/dist/src/planner/nodes/plan-node.d.ts +11 -0
  47. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  48. package/dist/src/planner/nodes/plan-node.js +3 -0
  49. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  50. package/dist/src/planner/nodes/reference.d.ts +7 -0
  51. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  52. package/dist/src/planner/nodes/reference.js +17 -3
  53. package/dist/src/planner/nodes/reference.js.map +1 -1
  54. package/dist/src/planner/nodes/stream-aggregate.d.ts +2 -1
  55. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  56. package/dist/src/planner/nodes/stream-aggregate.js +1 -0
  57. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  58. package/dist/src/planner/nodes/table-access-nodes.d.ts +14 -1
  59. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  60. package/dist/src/planner/nodes/table-access-nodes.js +52 -20
  61. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  62. package/dist/src/planner/optimizer-tuning.d.ts +67 -7
  63. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  64. package/dist/src/planner/optimizer-tuning.js +14 -3
  65. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  66. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +9 -0
  67. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  68. package/dist/src/planner/rules/access/rule-key-set-seek.js +18 -12
  69. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  70. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  71. package/dist/src/planner/rules/access/rule-select-access-path.js +7 -8
  72. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  73. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +1 -1
  74. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
  75. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
  76. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +7 -0
  77. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
  78. package/dist/src/planner/rules/join/index-nested-loop.d.ts +6 -2
  79. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  80. package/dist/src/planner/rules/join/index-nested-loop.js +20 -14
  81. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  82. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -1
  83. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +5 -0
  84. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -1
  85. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  86. package/dist/src/planner/rules/join/rule-join-physical-selection.js +102 -53
  87. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  88. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +1 -1
  89. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  90. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +15 -6
  91. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  92. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  93. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +8 -1
  94. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  95. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  96. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +7 -6
  97. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  98. package/dist/src/planner/stats/catalog-stats.d.ts +11 -2
  99. package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
  100. package/dist/src/planner/stats/catalog-stats.js +14 -5
  101. package/dist/src/planner/stats/catalog-stats.js.map +1 -1
  102. package/dist/src/planner/stats/table-cardinality.d.ts +146 -23
  103. package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -1
  104. package/dist/src/planner/stats/table-cardinality.js +159 -23
  105. package/dist/src/planner/stats/table-cardinality.js.map +1 -1
  106. package/dist/src/planner/util/relative-rows.d.ts +29 -0
  107. package/dist/src/planner/util/relative-rows.d.ts.map +1 -0
  108. package/dist/src/planner/util/relative-rows.js +67 -0
  109. package/dist/src/planner/util/relative-rows.js.map +1 -0
  110. package/dist/src/planner/util/row-estimates.d.ts +23 -0
  111. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  112. package/dist/src/planner/util/row-estimates.js +29 -0
  113. package/dist/src/planner/util/row-estimates.js.map +1 -1
  114. package/dist/src/runtime/cardinality-observations.d.ts +85 -0
  115. package/dist/src/runtime/cardinality-observations.d.ts.map +1 -0
  116. package/dist/src/runtime/cardinality-observations.js +103 -0
  117. package/dist/src/runtime/cardinality-observations.js.map +1 -0
  118. package/dist/src/runtime/emit/scan.d.ts +1 -1
  119. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  120. package/dist/src/runtime/emit/scan.js +100 -3
  121. package/dist/src/runtime/emit/scan.js.map +1 -1
  122. package/dist/src/runtime/parallel-driver.d.ts +3 -0
  123. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  124. package/dist/src/runtime/parallel-driver.js +4 -0
  125. package/dist/src/runtime/parallel-driver.js.map +1 -1
  126. package/dist/src/runtime/types.d.ts +12 -0
  127. package/dist/src/runtime/types.d.ts.map +1 -1
  128. package/dist/src/runtime/types.js.map +1 -1
  129. package/dist/src/schema/manager.d.ts +7 -0
  130. package/dist/src/schema/manager.d.ts.map +1 -1
  131. package/dist/src/schema/manager.js +8 -0
  132. package/dist/src/schema/manager.js.map +1 -1
  133. package/dist/src/vtab/filter-info.d.ts +16 -0
  134. package/dist/src/vtab/filter-info.d.ts.map +1 -1
  135. package/dist/src/vtab/filter-info.js +29 -0
  136. package/dist/src/vtab/filter-info.js.map +1 -1
  137. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  138. package/dist/src/vtab/memory/module.js +5 -3
  139. package/dist/src/vtab/memory/module.js.map +1 -1
  140. package/dist/src/vtab/module.d.ts +53 -0
  141. package/dist/src/vtab/module.d.ts.map +1 -1
  142. package/package.json +3 -3
@@ -107,6 +107,11 @@ export class TransactionManager {
107
107
  // Upgrade implicit to explicit
108
108
  debugLog('Upgrading implicit transaction to explicit (BEGIN encountered).');
109
109
  this.transactionSource = 'explicit';
110
+ // NOTE: held cardinality observations survive the upgrade (same transaction),
111
+ // but this clear forgets which tables were written before it, so a pre-upgrade
112
+ // write after an observation would no longer veto that observation at commit.
113
+ // Unreached today — every implicit transaction ends with its statement — if
114
+ // BEGIN can ever run inside one that wrote, keep the written-table set here.
110
115
  this.clearChangeLog();
111
116
  return;
112
117
  }
@@ -189,15 +194,16 @@ export class TransactionManager {
189
194
  catch (err) {
190
195
  errorLog('Post-commit watcher dispatch threw: %O', err);
191
196
  }
192
- // Auto-analyze staleness bookkeeping, same window: the change log is
193
- // still alive. The counts map is thunked so it is never materialized
194
- // when the feature is off, and the whole call is isolated — a
195
- // bookkeeping error must never fail a transaction that has committed.
197
+ // Commit bookkeeping (auto-analyze staleness, held cardinality
198
+ // observations), same window: the change log is still alive. The counts
199
+ // map is thunked so it is never materialized when no consumer wants it,
200
+ // and the whole call is isolated — a bookkeeping error must never fail a
201
+ // transaction that has committed.
196
202
  try {
197
203
  this.ctx.recordCommittedChangeCounts(() => this.getChangedRowCounts());
198
204
  }
199
205
  catch (err) {
200
- errorLog('Auto-analyze commit bookkeeping threw: %O', err);
206
+ errorLog('Commit bookkeeping threw: %O', err);
201
207
  }
202
208
  // Materialized views are NOT a post-commit consumer: each is row-time
203
209
  // maintained synchronously at the DML boundary, so its backing table is
@@ -207,6 +213,7 @@ export class TransactionManager {
207
213
  // On pre-commit assertion failure (or commit error), rollback all connections
208
214
  const conns = this.ctx.getAllConnections();
209
215
  await Promise.allSettled(conns.map(c => c.rollback()));
216
+ this.notifyRolledBack();
210
217
  throw e;
211
218
  }
212
219
  finally {
@@ -257,6 +264,16 @@ export class TransactionManager {
257
264
  this.isAutocommit = true;
258
265
  this.transactionSource = null;
259
266
  this.clearChangeLog();
267
+ this.notifyRolledBack();
268
+ }
269
+ }
270
+ /** Tell the context work was undone, isolated like commit bookkeeping. */
271
+ notifyRolledBack() {
272
+ try {
273
+ this.ctx.transactionRolledBack();
274
+ }
275
+ catch (err) {
276
+ errorLog('Rollback bookkeeping threw: %O', err);
260
277
  }
261
278
  }
262
279
  /**
@@ -542,8 +559,10 @@ export class TransactionManager {
542
559
  * so the whole reading is O(tables × layers) with no scan.
543
560
  *
544
561
  * Inherits the change log's coalescing — ten updates to one row count as one,
545
- * and an insert followed by a delete of the same key leaves no entry at all.
546
- * That makes this a *distinct rows touched* measure.
562
+ * and an insert followed by a delete of the same key counts zero. That makes
563
+ * this a *distinct rows touched* measure. A table written whose changes all
564
+ * cancelled out still appears, with count 0: the key set is every table the
565
+ * transaction wrote, which held cardinality observations rely on.
547
566
  *
548
567
  * Deliberately approximate across layers: the same key changed in two live
549
568
  * savepoint layers is counted twice. Deduplicating would cost a scan of every
@@ -553,8 +572,6 @@ export class TransactionManager {
553
572
  const result = new Map();
554
573
  const collect = (m) => {
555
574
  for (const [t, rowMap] of m) {
556
- if (rowMap.size === 0)
557
- continue;
558
575
  result.set(t, (result.get(t) ?? 0) + rowMap.size);
559
576
  }
560
577
  };
@@ -721,6 +738,7 @@ export class TransactionManager {
721
738
  this.savepointStack.length = index + 1;
722
739
  // Re-create a fresh layer for the preserved savepoint
723
740
  this.beginSavepointLayer();
741
+ this.notifyRolledBack();
724
742
  return index;
725
743
  }
726
744
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"database-transaction.js","sourceRoot":"","sources":["../../../src/core/database-transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-transaction.js","sourceRoot":"","sources":["../../../src/core/database-transaction.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,9 @@ export declare class Database implements TransactionManagerContext, AssertionEva
110
110
  private readonly materializedViewManager;
111
111
  /** Committed-mutation drift tracking that decides when statistics are stale */
112
112
  private readonly autoAnalyzeManager;
113
+ /** Observed row-count overlay — exact table sizes seen during execution */
114
+ private readonly cardinalityFeedbackManager;
115
+ private readonly rowCountSources;
113
116
  /** Per-database collation registry — comparator + optional key normalizer +
114
117
  * optional REPLICABLE and ORDER-PRESERVING assertions. The normalizer is required
115
118
  * for index participation; comparator-only collations may still be used in ORDER BY
@@ -808,6 +811,8 @@ export declare class Database implements TransactionManagerContext, AssertionEva
808
811
  * idempotent and releases capture-spec demand.
809
812
  */
810
813
  watch(scope: ChangeScope, handler: WatchHandler): Subscription;
814
+ /** Tells every live prepared statement that `key`'s observed size shifted; each decides whether its plan reads it. */
815
+ private noteCardinalityShift;
811
816
  /**
812
817
  * Fire all active watchers whose scope includes `schema.table`, as if the
813
818
  * whole table changed, **without** a local commit. For hosts whose tables
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ import { registerEmitters } from '../runtime/register.js';
27
27
  import { serializePlanTree, formatPlanTree } from '../planner/debug.js';
28
28
  import { EmissionContext } from '../runtime/emission-context.js';
29
29
  import { Optimizer, DEFAULT_TUNING } from '../planner/optimizer.js';
30
+ import { CatalogStatsProvider } from '../planner/stats/catalog-stats.js';
31
+ import { databaseRowCountSources } from '../planner/stats/table-cardinality.js';
30
32
  import { registerBuiltinWindowFunctions } from '../func/builtins/builtin-window-functions.js';
31
33
  import { DatabaseOptionsManager } from './database-options.js';
32
34
  import { MAINTENANCE_REBUILD_ROW_THRESHOLD } from '../planner/cost/index.js';
@@ -45,11 +47,13 @@ import { ingestExternalRowChangeBatch } from './database-external-changes.js';
45
47
  import { AssertionEvaluator } from './database-assertions.js';
46
48
  import { WatcherManager } from './database-watchers.js';
47
49
  import { AutoAnalyzeManager } from './database-auto-analyze.js';
50
+ import { CardinalityFeedbackManager } from './database-cardinality-feedback.js';
48
51
  import { MaterializedViewManager } from './database-materialized-views.js';
49
52
  import { tryGetEventEmitter } from '../vtab/events.js';
50
53
  import { Table } from './table-handle.js';
51
54
  const log = createLogger('core:database');
52
55
  const errorLog = log.extend('error');
56
+ const warnLog = log.extend('warn');
53
57
  /** Parse a comma-separated schema path string into an array of trimmed, non-empty names. */
54
58
  function parseSchemaPath(pathString) {
55
59
  if (!pathString)
@@ -136,6 +140,9 @@ export class Database {
136
140
  materializedViewManager;
137
141
  /** Committed-mutation drift tracking that decides when statistics are stale */
138
142
  autoAnalyzeManager;
143
+ /** Observed row-count overlay — exact table sizes seen during execution */
144
+ cardinalityFeedbackManager;
145
+ rowCountSources;
139
146
  /** Per-database collation registry — comparator + optional key normalizer +
140
147
  * optional REPLICABLE and ORDER-PRESERVING assertions. The normalizer is required
141
148
  * for index participation; comparator-only collations may still be used in ORDER BY
@@ -186,8 +193,17 @@ export class Database {
186
193
  // Register built-in window functions
187
194
  registerBuiltinWindowFunctions();
188
195
  registerEmitters();
189
- // Initialize optimizer with default tuning
190
- this.optimizer = new Optimizer(DEFAULT_TUNING);
196
+ // The row-count sources are constructed before the optimizer so the stats provider
197
+ // and `TableReferenceNode` (via `SchemaManager.getRowCountSources`) read one object.
198
+ this.cardinalityFeedbackManager = new CardinalityFeedbackManager({
199
+ schemaManager: this.schemaManager,
200
+ getTuning: () => this.optimizer.tuning,
201
+ getAutocommit: () => this.transactionManager.getAutocommit(),
202
+ reportedRows: table => this.rowCountSources.reportedRows(table),
203
+ onShift: key => this.noteCardinalityShift(key),
204
+ });
205
+ this.rowCountSources = databaseRowCountSources(this, this.cardinalityFeedbackManager);
206
+ this.optimizer = new Optimizer(DEFAULT_TUNING, new CatalogStatsProvider(undefined, this.rowCountSources));
191
207
  // Initialize transaction manager and assertion evaluator
192
208
  this.transactionManager = new TransactionManager(this);
193
209
  this.assertionEvaluator = new AssertionEvaluator(this);
@@ -393,6 +409,19 @@ export class Database {
393
409
  'When off, no counting happens at all — turning it back on mid-session resumes from whatever ' +
394
410
  'each table\'s count already was, without reconstructing the mutations missed while it was off.',
395
411
  });
412
+ // The gate is the per-execution sink's presence, so a toggle takes effect at the next
413
+ // execution even for a statement whose emitted plan is cached.
414
+ this.options.registerOption('cardinality_feedback', {
415
+ type: 'boolean',
416
+ defaultValue: true,
417
+ description: 'Remember the exact row count of any table a query happens to read in full, and the ' +
418
+ 'rows per key of equality lookups through non-unique indexes, and plan later statements ' +
419
+ 'against them in place of a default or outdated statistics. Turning it off forgets everything remembered.',
420
+ onChange: (event) => {
421
+ if (!event.newValue)
422
+ this.cardinalityFeedbackManager.clear();
423
+ },
424
+ });
396
425
  this.options.registerOption('auto_analyze_min_mutations', {
397
426
  type: 'number',
398
427
  defaultValue: 500,
@@ -824,6 +853,7 @@ export class Database {
824
853
  const rootInstruction = emitPlanNode(optimizedPlan, emissionContext);
825
854
  const scheduler = new Scheduler(rootInstruction);
826
855
  const scanConnections = new Map();
856
+ const cardinalityObservations = this._beginCardinalityObservations();
827
857
  const runtimeCtx = {
828
858
  db: this,
829
859
  stmt: undefined,
@@ -834,6 +864,7 @@ export class Database {
834
864
  enableMetrics: this.options.getBooleanOption('runtime_stats'),
835
865
  signal,
836
866
  scanConnections,
867
+ cardinalityObservations,
837
868
  };
838
869
  try {
839
870
  const result = await scheduler.run(runtimeCtx);
@@ -851,6 +882,7 @@ export class Database {
851
882
  for (const vtab of scanConnections.values()) {
852
883
  await disconnectVTable(runtimeCtx, vtab);
853
884
  }
885
+ this._publishCardinalityObservations(cardinalityObservations, false);
854
886
  }
855
887
  }
856
888
  /**
@@ -1341,6 +1373,8 @@ export class Database {
1341
1373
  this.materializedViewManager.dispose();
1342
1374
  // Clean up auto-analyze bookkeeping (unsubscribe schema listener, clear counters)
1343
1375
  this.autoAnalyzeManager.dispose();
1376
+ // Drop observed row counts (unsubscribe schema listener)
1377
+ this.cardinalityFeedbackManager.dispose();
1344
1378
  // Clear schemas, ensuring VTabs are potentially disconnected
1345
1379
  // This will also call destroy on VTabs via SchemaManager.clearAll -> schema.clearTables -> schemaManager.dropTable
1346
1380
  this.schemaManager.clearAll();
@@ -2543,17 +2577,62 @@ export class Database {
2543
2577
  await this.watcherManager.runPostCommit();
2544
2578
  }
2545
2579
  /** @internal Invoked by the TransactionManager in the same post-commit window as
2546
- * {@link runPostCommitWatchers}. `counts` is a thunk so that with `auto_analyze`
2547
- * off no counts map is ever built. */
2580
+ * {@link runPostCommitWatchers}. Feeds auto-analyze (when `auto_analyze` is on) and
2581
+ * the cardinality-feedback observations the transaction held (always). `counts` is
2582
+ * a thunk built at most once, and never when neither consumer needs it. */
2548
2583
  recordCommittedChangeCounts(counts) {
2549
- if (!this.options.getBooleanOption('auto_analyze'))
2550
- return;
2551
- this.autoAnalyzeManager.recordCommit(counts());
2584
+ let built;
2585
+ const memo = () => built ??= counts();
2586
+ try {
2587
+ if (this.options.getBooleanOption('auto_analyze'))
2588
+ this.autoAnalyzeManager.recordCommit(memo());
2589
+ }
2590
+ finally {
2591
+ // Even when auto-analyze throws: held observations must not outlive their transaction.
2592
+ this.cardinalityFeedbackManager.onCommitted(memo);
2593
+ }
2594
+ }
2595
+ /** @internal Invoked by the TransactionManager whenever work of the open transaction
2596
+ * is undone (rollback, failed commit, `rollback to savepoint`). */
2597
+ transactionRolledBack() {
2598
+ this.cardinalityFeedbackManager.onRolledBack();
2552
2599
  }
2553
2600
  /** @internal Auto-analyze staleness bookkeeping and background refresh scheduler. */
2554
2601
  get _autoAnalyze() {
2555
2602
  return this.autoAnalyzeManager;
2556
2603
  }
2604
+ /** @internal The observed row-count overlay the planner consults before the catalog. */
2605
+ get _cardinalityFeedback() {
2606
+ return this.cardinalityFeedbackManager;
2607
+ }
2608
+ /** @internal Every source the planner ranks for a base table's size (`plannedRowCount`). */
2609
+ get _rowCountSources() {
2610
+ return this.rowCountSources;
2611
+ }
2612
+ /** Tells every live prepared statement that `key`'s observed size shifted; each decides whether its plan reads it. */
2613
+ noteCardinalityShift(key) {
2614
+ for (const stmt of this.statements)
2615
+ stmt._noteCardinalityShift(key);
2616
+ }
2617
+ /** @internal A fresh per-execution observation sink, or `undefined` when `cardinality_feedback` is off. */
2618
+ _beginCardinalityObservations() {
2619
+ return this.options.getBooleanOption('cardinality_feedback') ? this.cardinalityFeedbackManager.beginObservations() : undefined;
2620
+ }
2621
+ /**
2622
+ * @internal Hand one finished execution's observations to the overlay. Call after the
2623
+ * execution's scans are torn down. Bookkeeping: a failure is logged, never thrown into
2624
+ * the statement it describes.
2625
+ */
2626
+ _publishCardinalityObservations(observations, readCommitted) {
2627
+ if (!observations || observations.isEmpty)
2628
+ return;
2629
+ try {
2630
+ this.cardinalityFeedbackManager.publish(observations, { readCommitted });
2631
+ }
2632
+ catch (e) {
2633
+ warnLog('Cardinality feedback publication failed: %O', e);
2634
+ }
2635
+ }
2557
2636
  /**
2558
2637
  * @internal Resolves once no automatic statistics refresh is armed or in flight.
2559
2638
  *