@quereus/isolation 4.13.1 → 4.14.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.
@@ -1,4 +1,4 @@
1
- import type { Database, TableSchema, SchemaChangeInfo, Row, SqlValue } from '@quereus/quereus';
1
+ import type { Database, TableSchema, SchemaChangeInfo, Row, SqlValue, EffectiveRowSource } from '@quereus/quereus';
2
2
  import type { ConnectionOverlayState, Predicate } from './isolation-types.js';
3
3
  /**
4
4
  * Carrying a connection's open staging area (its "overlay") forward across an ALTER TABLE.
@@ -93,25 +93,40 @@ export interface SetDataTypeConvertContext {
93
93
  convert: (v: SqlValue) => SqlValue;
94
94
  }
95
95
  /**
96
- * Per-ALTER constants for an `alter column … set collate` that re-keys the PRIMARY KEY (see
97
- * {@link derivePkRekey}). Present only when the normalized collation actually changes on a PK
98
- * member column and there are staged overlays to carry — a non-PK collate change, or a re-declare
99
- * of the column's current collation, re-keys nothing. A retype of a PK column is rejected
100
- * upstream, so `setCollation` is the only ALTER COLUMN attribute that re-keys.
96
+ * Per-ALTER constants for an `alter column` that re-keys the PRIMARY KEY (see
97
+ * {@link derivePkRekey}): `set collate` on a PK member (the comparator moves), or `set not null`
98
+ * on a PK member whose null → DEFAULT backfill the underlying will actually apply (the key VALUES
99
+ * move — a key column is nullable whenever the table's identity is its full column set). Present
100
+ * only when there are staged overlays to carry — a non-PK change, a re-declare of the column's
101
+ * current collation, or a tightening the underlying applies as metadata only re-keys nothing. A
102
+ * retype of a PK column is rejected upstream.
101
103
  *
102
104
  * Under the re-keyed primary key, a staged deletion marker and a staged live row that land on
103
105
  * one key are the same logical row's before and after — not two rows — so
104
106
  * {@link validateOverlayMigration} accepts the pair and {@link dropCollapsedPkRekeyMarkers}
105
- * discards the marker before the re-key is forwarded to the overlay. Two live rows on one key
106
- * stay a real duplicate and are refused. This is the isolation-layer lift of the rule
107
- * `TransactionLayer.rekeyPrimaryKey` applies to its own write log one level down: a deletion
108
- * whose key an upsert now occupies is dropped.
107
+ * discards the marker before the re-key reaches the overlay. Two live rows on one key stay a
108
+ * real duplicate and are refused. This is the isolation-layer lift of the rule
109
+ * `TransactionLayer.rekeyPrimaryKey` / `convertColumn` apply to their own write log one level
110
+ * down: a deletion whose key an upsert now occupies is dropped.
109
111
  */
110
112
  export interface PkRekeyContext {
111
113
  /** Overlay positions of the PRIMARY KEY columns (identical to the base's — the tombstone flag sits after them). */
112
114
  pkIndices: readonly number[];
113
- /** Serializes a PK tuple under the POST-change collation — two old keys that serialize alike collapse. */
115
+ /**
116
+ * Serializes a PK tuple as the POST-change key: under the new collation for `set collate`,
117
+ * with NULL at the tightened column replaced by its DEFAULT for `set not null`. Two old keys
118
+ * that serialize alike collapse.
119
+ */
114
120
  keyOf: (pk: readonly SqlValue[]) => string;
121
+ /**
122
+ * How the re-key reaches the overlay's own trees. `set collate` is forwarded through the
123
+ * overlay module's `alterSchema`, which is itself fallible (it re-validates the re-key
124
+ * against the overlay's layer chain) and so is dry-run in `IsolationModule.alterTable`'s
125
+ * tier 2 before the underlying mutates. The `set not null` backfill is applied through
126
+ * ordinary overlay writes instead ({@link backfillStagedNotNull}) — nothing to pre-flight,
127
+ * and its marker drop runs in the migrate step only.
128
+ */
129
+ forwardedViaAlterSchema: boolean;
115
130
  /** User-facing table name, for the CONSTRAINT message. */
116
131
  tableName: string;
117
132
  }
@@ -119,10 +134,13 @@ export interface PkRekeyContext {
119
134
  * Every per-change-type constant one ALTER's overlay migration needs, derived once from the
120
135
  * PRE-alter schema and shared by the validate and migrate passes so the two cannot drift.
121
136
  *
122
- * At most one field is ever populated — each is gated on a different change type (or, for the
123
- * three `alterColumn` arms, a different attribute, and the runtime admits exactly one attribute
124
- * per ALTER COLUMN). Bundled into one object rather than threaded as one parameter per
125
- * attribute, which is what the cluster did while it lived on `IsolationModule`.
137
+ * Each field is gated on a different change type (or, for the `alterColumn` arms, a different
138
+ * attribute, and the runtime admits exactly one attribute per ALTER COLUMN), so at most one of
139
+ * `addColumn` / `setNotNull` / `setDataType` is ever populated. `pkRekey` rides ALONGSIDE one of
140
+ * two attributes: `set collate` on a PK member, or `set not null` on a PK member whose backfill
141
+ * moves the key values (then `setNotNull` and `pkRekey` are both set). Bundled into one object
142
+ * rather than threaded as one parameter per attribute, which is what the cluster did while it
143
+ * lived on `IsolationModule`.
126
144
  */
127
145
  export interface AlterMigrationPlan {
128
146
  addColumn?: AddColumnBackfillContext;
@@ -156,10 +174,11 @@ export declare function assertColumnNameNotTombstone(host: AlterMigrationHost, s
156
174
  * schema.table and the offending column so the owning connection's eventual
157
175
  * read/write/commit error is self-explanatory. Poison arises on the addColumn NOT NULL
158
176
  * path (a new NOT-NULL column with no usable default), the `set not null` tightening
159
- * path (a staged NULL with no usable default), the `set data type` path (a staged value
160
- * that cannot be converted to the new type), and the primary-key `set collate` path (two
161
- * staged live rows colliding under the new collation); other change types never reach
162
- * here but are handled defensively.
177
+ * path (a staged NULL with no usable default, or — on a primary-key member — two staged
178
+ * live rows converging on one key under the DEFAULT backfill), the `set data type` path
179
+ * (a staged value that cannot be converted to the new type), and the primary-key
180
+ * `set collate` path (two staged live rows colliding under the new collation); other
181
+ * change types never reach here but are handled defensively.
163
182
  */
164
183
  export declare function buildAlterPoisonMessage(schemaName: string, tableName: string, change: SchemaChangeInfo): string;
165
184
  /**
@@ -171,8 +190,14 @@ export declare function buildAlterPoisonMessage(schemaName: string, tableName: s
171
190
  * attribute contexts are probed from `toMigrate[0]`'s schema, never from a skipped poisoned
172
191
  * overlay whose schema may be a stale pre-alter layout; with no overlays to migrate there is
173
192
  * nothing to backfill, convert or re-key, so those arms stay undefined.
193
+ *
194
+ * `underlyingRows` is the row stream the underlying's own data-dependent decisions read: the
195
+ * effective rows it is handed when the ISSUING transaction has staged work, else its committed
196
+ * rows (`IsolationModule.committedRowsOf`). The `set not null` re-key arm reads it (see
197
+ * {@link derivePkRekey}) because whether the underlying backfills at all — and so whether the
198
+ * committed keys move — is decided over exactly that stream. Async for that one scan only.
174
199
  */
175
- export declare function deriveAlterMigrationPlan(change: SchemaChangeInfo, db: Database, tableName: string, toMigrate: readonly [string, ConnectionOverlayState][]): AlterMigrationPlan;
200
+ export declare function deriveAlterMigrationPlan(change: SchemaChangeInfo, db: Database, tableName: string, toMigrate: readonly [string, ConnectionOverlayState][], underlyingRows: EffectiveRowSource | undefined): Promise<AlterMigrationPlan>;
176
201
  /**
177
202
  * Dry-runs an overlay's ALTER migration-fallible work without mutating anything,
178
203
  * so the caller can run it for every affected overlay BEFORE the irreversible
@@ -201,7 +226,9 @@ export declare function deriveAlterMigrationPlan(change: SchemaChangeInfo, db: D
201
226
  * those rows, and it must run before the migration so a failure becomes poison rather than a
202
227
  * half-migrated overlay.
203
228
  *
204
- * For a primary-key re-keying `set collate` (`plan.pkRekey`), the staged rows are grouped by
229
+ * For a primary-key re-key (`plan.pkRekey` — `set collate` on a PK member, or a `set not null`
230
+ * backfill that moves a PK member's values; the tightening arm above deliberately does NOT
231
+ * return early when a DEFAULT exists, so it reaches this block), the staged rows are grouped by
205
232
  * their POST-change key: a deletion marker sharing a key with one live row is that row's
206
233
  * before-image (the migrate step discards it — {@link dropCollapsedPkRekeyMarkers}), and
207
234
  * markers alone on one key are one deletion — neither is a duplicate. Two LIVE rows on one
@@ -1 +1 @@
1
- {"version":3,"file":"alter-migration.d.ts","sourceRoot":"","sources":["../../src/alter-migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alter-migration.d.ts","sourceRoot":"","sources":["../../src/alter-migration.ts"],"names":[],"mappings":"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"}
@@ -34,10 +34,11 @@ export function assertColumnNameNotTombstone(host, schemaName, tableName, change
34
34
  * schema.table and the offending column so the owning connection's eventual
35
35
  * read/write/commit error is self-explanatory. Poison arises on the addColumn NOT NULL
36
36
  * path (a new NOT-NULL column with no usable default), the `set not null` tightening
37
- * path (a staged NULL with no usable default), the `set data type` path (a staged value
38
- * that cannot be converted to the new type), and the primary-key `set collate` path (two
39
- * staged live rows colliding under the new collation); other change types never reach
40
- * here but are handled defensively.
37
+ * path (a staged NULL with no usable default, or — on a primary-key member — two staged
38
+ * live rows converging on one key under the DEFAULT backfill), the `set data type` path
39
+ * (a staged value that cannot be converted to the new type), and the primary-key
40
+ * `set collate` path (two staged live rows colliding under the new collation); other
41
+ * change types never reach here but are handled defensively.
41
42
  */
42
43
  export function buildAlterPoisonMessage(schemaName, tableName, change) {
43
44
  if (change.type === 'addColumn') {
@@ -50,7 +51,7 @@ export function buildAlterPoisonMessage(schemaName, tableName, change) {
50
51
  if (change.setCollation !== undefined) {
51
52
  return `ALTER on '${schemaName}.${tableName}' changed the collation of primary-key column '${change.columnName}', under which this connection's uncommitted rows collide; roll back this transaction.`;
52
53
  }
53
- return `ALTER on '${schemaName}.${tableName}' tightened column '${change.columnName}' to NOT NULL, which this connection's uncommitted row violates; roll back this transaction.`;
54
+ return `ALTER on '${schemaName}.${tableName}' tightened column '${change.columnName}' to NOT NULL, which this connection's uncommitted rows cannot satisfy (a NULL with no usable default, or two rows converging on one primary key under the backfill); roll back this transaction.`;
54
55
  }
55
56
  if (change.type === 'alterPrimaryKey') {
56
57
  return `ALTER on '${schemaName}.${tableName}' changed the table's primary key, which this connection's uncommitted rows cannot follow; roll back this transaction.`;
@@ -66,13 +67,20 @@ export function buildAlterPoisonMessage(schemaName, tableName, change) {
66
67
  * attribute contexts are probed from `toMigrate[0]`'s schema, never from a skipped poisoned
67
68
  * overlay whose schema may be a stale pre-alter layout; with no overlays to migrate there is
68
69
  * nothing to backfill, convert or re-key, so those arms stay undefined.
70
+ *
71
+ * `underlyingRows` is the row stream the underlying's own data-dependent decisions read: the
72
+ * effective rows it is handed when the ISSUING transaction has staged work, else its committed
73
+ * rows (`IsolationModule.committedRowsOf`). The `set not null` re-key arm reads it (see
74
+ * {@link derivePkRekey}) because whether the underlying backfills at all — and so whether the
75
+ * committed keys move — is decided over exactly that stream. Async for that one scan only.
69
76
  */
70
- export function deriveAlterMigrationPlan(change, db, tableName, toMigrate) {
77
+ export async function deriveAlterMigrationPlan(change, db, tableName, toMigrate, underlyingRows) {
78
+ const setNotNull = deriveSetNotNullBackfill(change, toMigrate);
71
79
  return {
72
80
  addColumn: deriveAddColumnBackfill(change, db, tableName),
73
- setNotNull: deriveSetNotNullBackfill(change, toMigrate),
81
+ setNotNull,
74
82
  setDataType: deriveSetDataTypeConvert(change, toMigrate),
75
- pkRekey: derivePkRekey(change, db, tableName, toMigrate),
83
+ pkRekey: await derivePkRekey(change, db, tableName, toMigrate, setNotNull, underlyingRows),
76
84
  };
77
85
  }
78
86
  /**
@@ -199,21 +207,35 @@ function deriveSetDataTypeConvert(change, toMigrate) {
199
207
  return { colIndex, convert };
200
208
  }
201
209
  /**
202
- * Precomputes the per-ALTER constants a primary-key re-keying `alter column … set collate`
203
- * overlay migration needs: the PK column positions and a key serializer built over the
204
- * POST-change collation — the PRE-alter overlay schema with the named column's collation
205
- * replaced. The overlay's PK definition mirrors the base's (the tombstone flag is appended
206
- * after the data columns), so the synthesized schema keys exactly as the re-keyed base will.
207
- *
208
- * Returns undefined unless the named column is a PRIMARY KEY member and the normalized
209
- * collation actually differs from the column's current one — mirroring the underlying's
210
- * metadata-only gate (`MemoryTableManager.alterColumn`'s `nameMatches`), so overlay and
211
- * committed rows re-key together or not at all. `validateCollationForType` can throw for an
212
- * unknown collation, but the engine already validated the name before dispatching the ALTER,
213
- * and a direct module caller gets the same pre-mutation rejection the underlying would give.
210
+ * Precomputes the per-ALTER constants a primary-key re-keying `alter column` overlay migration
211
+ * needs: the PK column positions and a serializer that keys a PK tuple as the POST-change key.
212
+ * Two attributes re-key:
213
+ *
214
+ * - `set collate` on a PK member: the serializer is built over the PRE-alter overlay schema
215
+ * with the named column's collation replaced. The overlay's PK definition mirrors the base's
216
+ * (the tombstone flag is appended after the data columns), so the synthesized schema keys
217
+ * exactly as the re-keyed base will. Undefined when the normalized collation equals the
218
+ * column's current one — mirroring the underlying's metadata-only gate
219
+ * (`MemoryTableManager.alterColumn`'s `nameMatches`), so overlay and committed rows re-key
220
+ * together or not at all. `validateCollationForType` can throw for an unknown collation, but
221
+ * the engine already validated the name before dispatching the ALTER, and a direct module
222
+ * caller gets the same pre-mutation rejection the underlying would give.
223
+ * - `set not null` on a PK member with a usable DEFAULT: the serializer keys the BACKFILLED
224
+ * tuple — NULL at the tightened column replaced by the folded DEFAULT — under the unchanged
225
+ * collations. Undefined unless the underlying will actually rewrite, which both underlyings
226
+ * decide the same way: a NULL is visible in the rows they read (`underlyingRows` — the
227
+ * issuer's effective rows when it has staged work, else the committed rows). When none is,
228
+ * the tightening is metadata-only there, the committed keys do not move, and a staged
229
+ * deletion marker at a NULL key must keep pointing at the still-NULL committed row — so the
230
+ * overlay must not re-key either. This is the isolation-layer counterpart of
231
+ * `TransactionLayer.convertColumn`'s deletion re-key: without it a marker minted for a
232
+ * NULL-keyed committed row would delete nothing at flush, and the row the transaction
233
+ * deleted would come back with the backfilled value.
234
+ *
235
+ * Returns undefined for every other change, and whenever there is no overlay to migrate.
214
236
  */
215
- function derivePkRekey(change, db, tableName, toMigrate) {
216
- if (change.type !== 'alterColumn' || change.setCollation === undefined)
237
+ async function derivePkRekey(change, db, tableName, toMigrate, setNotNull, underlyingRows) {
238
+ if (change.type !== 'alterColumn')
217
239
  return undefined;
218
240
  const overlaySchema = probeOverlaySchema(toMigrate);
219
241
  if (!overlaySchema)
@@ -226,18 +248,43 @@ function derivePkRekey(change, db, tableName, toMigrate) {
226
248
  const oldCol = overlaySchema.columns[colIndex];
227
249
  if (!oldCol)
228
250
  return undefined;
229
- const normalized = validateCollationForType(change.setCollation, oldCol.logicalType, change.columnName, (n) => db.isCollationRegistered(n));
230
- if (normalized === (oldCol.collation || 'BINARY'))
231
- return undefined; // metadata-only — the underlying re-keys nothing
232
- const postChangeSchema = {
233
- ...overlaySchema,
234
- columns: overlaySchema.columns.map((c, i) => (i === colIndex ? { ...c, collation: normalized } : c)),
235
- };
236
- return {
237
- pkIndices: overlaySchema.primaryKeyDefinition.map(def => def.index),
238
- keyOf: makePkKeySerializer(db, postChangeSchema),
239
- tableName,
240
- };
251
+ const pkIndices = overlaySchema.primaryKeyDefinition.map(def => def.index);
252
+ if (change.setCollation !== undefined) {
253
+ const normalized = validateCollationForType(change.setCollation, oldCol.logicalType, change.columnName, (n) => db.isCollationRegistered(n));
254
+ if (normalized === (oldCol.collation || 'BINARY'))
255
+ return undefined; // metadata-only — the underlying re-keys nothing
256
+ const postChangeSchema = {
257
+ ...overlaySchema,
258
+ columns: overlaySchema.columns.map((c, i) => (i === colIndex ? { ...c, collation: normalized } : c)),
259
+ };
260
+ return { pkIndices, keyOf: makePkKeySerializer(db, postChangeSchema), forwardedViaAlterSchema: true, tableName };
261
+ }
262
+ if (setNotNull?.hasDefault && setNotNull.colIndex === colIndex) {
263
+ // NOTE: one extra scan of the underlying's rows per key-member `set not null` with open
264
+ // overlays (the underlying repeats it for its own gate; a stream is single-shot and the
265
+ // answer is not handed down). Fine for DDL this rare; if it ever shows up, thread the
266
+ // answer to the underlying instead of re-deriving it here.
267
+ if (!underlyingRows || !await anyRowNullAt(underlyingRows, colIndex))
268
+ return undefined; // metadata-only tightening — keys stay
269
+ const keyPos = pkIndices.indexOf(colIndex);
270
+ const fill = setNotNull.foldedDefault;
271
+ const serialize = makePkKeySerializer(db, overlaySchema);
272
+ return {
273
+ pkIndices,
274
+ keyOf: (pk) => serialize(pk[keyPos] === null ? pk.map((v, i) => (i === keyPos ? fill : v)) : pk),
275
+ forwardedViaAlterSchema: false,
276
+ tableName,
277
+ };
278
+ }
279
+ return undefined;
280
+ }
281
+ /** True when any row of the effective stream holds NULL at `colIndex` — the underlyings' backfill gate. */
282
+ async function anyRowNullAt(rows, colIndex) {
283
+ for await (const row of rows()) {
284
+ if (row[colIndex] === null)
285
+ return true;
286
+ }
287
+ return false;
241
288
  }
242
289
  /**
243
290
  * Buckets an overlay's staged rows by their PRIMARY KEY as the pending `set collate` will
@@ -295,7 +342,9 @@ async function collectPkRekeyGroups(overlay, tombstoneIdx, ctx) {
295
342
  * those rows, and it must run before the migration so a failure becomes poison rather than a
296
343
  * half-migrated overlay.
297
344
  *
298
- * For a primary-key re-keying `set collate` (`plan.pkRekey`), the staged rows are grouped by
345
+ * For a primary-key re-key (`plan.pkRekey` — `set collate` on a PK member, or a `set not null`
346
+ * backfill that moves a PK member's values; the tightening arm above deliberately does NOT
347
+ * return early when a DEFAULT exists, so it reaches this block), the staged rows are grouped by
299
348
  * their POST-change key: a deletion marker sharing a key with one live row is that row's
300
349
  * before-image (the migrate step discards it — {@link dropCollapsedPkRekeyMarkers}), and
301
350
  * markers alone on one key are one deletion — neither is a duplicate. Two LIVE rows on one
@@ -327,7 +376,9 @@ export async function validateOverlayMigration(host, oldState, plan) {
327
376
  return;
328
377
  }
329
378
  // SET NOT NULL with no usable DEFAULT: reject a staged NULL the forward could not fill.
330
- // (With a DEFAULT there is nothing to reject — backfillStagedNotNull fills instead.)
379
+ // (With a DEFAULT there is nothing to reject here — backfillStagedNotNull fills instead —
380
+ // and control falls through to the re-key block below, which the backfill of a PK member
381
+ // populates.)
331
382
  if (plan.setNotNull && !plan.setNotNull.hasDefault) {
332
383
  const setNotNullCtx = plan.setNotNull;
333
384
  for await (const oldRow of stagedLiveRows(oldOverlay, oldTombstoneIdx)) {
@@ -348,17 +399,20 @@ export async function validateOverlayMigration(host, oldState, plan) {
348
399
  }
349
400
  return;
350
401
  }
351
- // SET COLLATE re-keying the PRIMARY KEY: two staged LIVE rows landing on one post-change
352
- // key are a real duplicate — refuse before the underlying re-keys (atomic for the issuer,
353
- // poison for a foreign overlay via the caller). Marker/live and marker/marker groups
354
- // collapse cleanly and are handled by the migrate step, not rejected here.
402
+ // A PRIMARY-KEY re-key (SET COLLATE, or the SET NOT NULL backfill of a key member): two
403
+ // staged LIVE rows landing on one post-change key are a real duplicate — refuse before the
404
+ // underlying re-keys (atomic for the issuer, poison for a foreign overlay via the caller).
405
+ // Marker/live and marker/marker groups collapse cleanly and are handled by the migrate step,
406
+ // not rejected here.
355
407
  if (plan.pkRekey) {
356
408
  const pkRekeyCtx = plan.pkRekey;
357
409
  for (const group of (await collectPkRekeyGroups(oldOverlay, oldTombstoneIdx, pkRekeyCtx)).values()) {
358
410
  if (group.livePks.length < 2)
359
411
  continue;
412
+ // Name the colliding key by the second row's OLD tuple — what the user staged; the
413
+ // underlyings name it by the post-change tuple. Same message shape either way.
360
414
  const keyDesc = group.livePks[1].map(formatKeyValue).join(', ');
361
- throw new QuereusError(`UNIQUE constraint failed: ${pkRekeyCtx.tableName} primary key collides under new collation (key: ${keyDesc})`, StatusCode.CONSTRAINT);
415
+ throw new QuereusError(`UNIQUE constraint failed: ${pkRekeyCtx.tableName} primary key collides under the new key definition (key: ${keyDesc})`, StatusCode.CONSTRAINT);
362
416
  }
363
417
  }
364
418
  }
@@ -531,7 +585,11 @@ function buildOverlayAddColumnChange(host, change, addColumnCtx, overlayTable) {
531
585
  * is not a row) or reject it outright when no usable DEFAULT exists. The base's NOT NULL
532
586
  * is enforced where it belongs — by the underlying over the issuer's effective rows, and
533
587
  * per overlay by {@link validateOverlayMigration} — and the staged LIVE rows' NULLs are
534
- * filled here via {@link backfillStagedNotNull}.
588
+ * filled here via {@link backfillStagedNotNull}. When the tightened column is a PRIMARY-KEY
589
+ * member whose backfill the underlying applies (`pkRekeyCtx`), the backfill IS a re-key: the
590
+ * collapsed deletion markers are dropped first (exactly as for `set collate`), and the
591
+ * backfill then also fills the markers' own key value — a marker carries the REAL key of the
592
+ * committed row it deletes, and that row's key has just moved under it in the underlying.
535
593
  * - **Relaxing (`drop not null`).** Nothing to do: the overlay never enforced the flag, and
536
594
  * the rows it stages are written with `preCoerced: true` through the overlay module's own
537
595
  * write path, which does not consult column nullability at all.
@@ -552,7 +610,12 @@ function buildOverlayAddColumnChange(host, change, addColumnCtx, overlayTable) {
552
610
  async function forwardAlterColumnToOverlay(host, overlayState, change, setNotNullCtx, pkRekeyCtx) {
553
611
  if (change.setNotNull !== undefined) {
554
612
  if (change.setNotNull === true && setNotNullCtx?.hasDefault) {
555
- await backfillStagedNotNull(host, overlayState, setNotNullCtx);
613
+ // Key-member backfill: drop the markers the backfill collapses onto a live row BEFORE
614
+ // the rewrites — the overlay's PK covers markers, so the update moving a live row onto
615
+ // a marker's post-backfill key would otherwise be refused as a PK collision.
616
+ if (pkRekeyCtx)
617
+ await dropCollapsedPkRekeyMarkers(host, overlayState, pkRekeyCtx);
618
+ await backfillStagedNotNull(host, overlayState, setNotNullCtx, pkRekeyCtx !== undefined);
556
619
  }
557
620
  return;
558
621
  }
@@ -571,8 +634,9 @@ async function forwardAlterColumnToOverlay(host, overlayState, change, setNotNul
571
634
  * are one deletion, so all but the first are dropped. A group holding two live rows was
572
635
  * already refused by {@link validateOverlayMigration} before the underlying mutated.
573
636
  *
574
- * Runs BEFORE the re-key is forwarded to the overlay, and deletes by each marker's OLD
575
- * primary key — the overlay is still keyed under the old collation at that moment.
637
+ * Runs BEFORE the re-key reaches the overlay (the `set collate` forward, or the `set not null`
638
+ * backfill's rewrites), and deletes by each marker's OLD primary key — the overlay is still
639
+ * keyed under the old collation / the pre-backfill values at that moment.
576
640
  *
577
641
  * NOTE: like {@link backfillStagedNotNull}'s rewrites, the drops land in the overlay's
578
642
  * CURRENT savepoint frame. A later `rollback to savepoint` taken BEFORE this ALTER restores
@@ -668,8 +732,17 @@ function requireTombstoneIndex(host, overlaySchema) {
668
732
  * non-tombstone row holding NULL at the tightened column is rewritten with the column's
669
733
  * folded literal DEFAULT through the overlay's ordinary write path, so the overlay's layer
670
734
  * chain and savepoint snapshots stay intact — the overlay-side mirror of the value rewrite
671
- * the underlying applies to its committed rows. Tombstone rows are never touched
672
- * ({@link stagedLiveRows}).
735
+ * the underlying applies to its committed rows. Tombstone rows are normally never touched
736
+ * ({@link stagedLiveRows}): their non-key columns hold placeholder NULLs, not values.
737
+ *
738
+ * `rekeysMarkers` — set when the tightened column is a PRIMARY-KEY member whose backfill the
739
+ * underlying applies (a `PkRekeyContext` exists) — widens the pass to the tombstone rows too.
740
+ * At a KEY column a marker's value is not a placeholder but the real key of the committed row
741
+ * it deletes, and the underlying has just backfilled that row's key under it; a marker left at
742
+ * the NULL key would delete nothing at flush and the row the transaction deleted would come
743
+ * back with the backfilled value. The caller has already dropped every marker that collapses
744
+ * onto a live row ({@link dropCollapsedPkRekeyMarkers}), and both underlyings refuse a pair of
745
+ * committed rows converging on one key, so no two rewritten rows can land on one key here.
673
746
  *
674
747
  * Only called with a usable DEFAULT ({@link SetNotNullBackfillContext.hasDefault}); the
675
748
  * no-DEFAULT case rejects (issuer) or poisons (foreign) in {@link validateOverlayMigration}
@@ -682,7 +755,7 @@ function requireTombstoneIndex(host, overlaySchema) {
682
755
  * row un-inserted past an ADD CONSTRAINT, say — tracked by the backlog ticket
683
756
  * `bug-rolled-back-rows-violate-surviving-ddl`, not a new hole opened by this forward.
684
757
  */
685
- async function backfillStagedNotNull(host, overlayState, ctx) {
758
+ async function backfillStagedNotNull(host, overlayState, ctx, rekeysMarkers) {
686
759
  const overlay = overlayState.overlayTable;
687
760
  const overlaySchema = overlay.tableSchema;
688
761
  if (!overlaySchema || !overlay.query)
@@ -692,7 +765,8 @@ async function backfillStagedNotNull(host, overlayState, ctx) {
692
765
  // Materialize before writing: the rewrites mutate the overlay's pending layer the
693
766
  // scan is reading through.
694
767
  const toFill = [];
695
- for await (const row of stagedLiveRows(overlay, tombstoneIdx)) {
768
+ const candidates = rekeysMarkers ? overlay.query(makeFullScanFilterInfo()) : stagedLiveRows(overlay, tombstoneIdx);
769
+ for await (const row of candidates) {
696
770
  if (row[ctx.colIndex] === null)
697
771
  toFill.push(row);
698
772
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alter-migration.js","sourceRoot":"","sources":["../../src/alter-migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alter-migration.js","sourceRoot":"","sources":["../../src/alter-migration.ts"],"names":[],"mappings":"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"}
@@ -41,12 +41,6 @@ export declare class IsolatedTable extends VirtualTable implements IsolatedTable
41
41
  * database registry.
42
42
  */
43
43
  private readonly collationResolver;
44
- /**
45
- * `db.getKeyNormalizerResolver()`, bound once at connect beside {@link collationResolver}
46
- * for the same reason: the modified-PK set's key encoding and the comparators above must
47
- * agree on which rows are equal, or a staged row fails to shadow the base row it replaces.
48
- */
49
- private readonly keyNormalizerResolver;
50
44
  /**
51
45
  * The PK key shape (per-column comparison functions and sort directions) and the
52
46
  * equality test derived from it, memoized against the `TableSchema` object identity —
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-table.d.ts","sourceRoot":"","sources":["../../src/isolated-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isolated-table.d.ts","sourceRoot":"","sources":["../../src/isolated-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,QAAQ,EAAoB,YAAY,EAAE,GAAG,EAAY,gBAAgB,IAAI,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAe,eAAe,EAA6C,UAAU,EAAE,sBAAsB,EAAE,YAAY,EAA+C,MAAM,kBAAkB,CAAC;AAC1V,OAAO,EAAE,YAAY,EAAga,MAAM,kBAAkB,CAAC;AAC9c,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AA2B1F;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,qBAAqB;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,oBAAoB,CAAmC;IAE/D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqE;IAEpG;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAC,CAA+D;IAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC;IAClG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;;;;;;;;OAcG;IACH,OAAO,KAAK,uBAAuB,GAElC;IAED;;;;;;;;;;;OAWG;gBAEF,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,YAAY,EAC7B,aAAa,GAAE,OAAe;IAiB/B;;OAEG;IACH,OAAO,KAAK,eAAe,GAE1B;IAED;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,KAAK,YAAY,GAEvB;IAED;;OAEG;IACH,OAAO,KAAK,UAAU,GAErB;IAED;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;OAQG;YACW,aAAa;IAoD3B;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,gBAAgB;IAY9B;;;;;;;;;;;;OAYG;YACW,eAAe;IAsC7B;;;;;;;;;;;OAWG;IACH,gBAAgB,IAAI,YAAY,CAAC,sBAAsB,CAAC;YAyB1C,qBAAqB;IAanC;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC;IAqBjD;;OAEG;YACY,yBAAyB;IAKxC;;;;;;;;;OASG;YACY,WAAW;IAsB1B;;;;;;;;;;;;;;;;;;OAkBG;YACY,yBAAyB;IA2FxC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,OAAO,CAAC,sBAAsB;IAiE9B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IA6CpC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;;;;;;;;;;;;;;OAkBG;YACY,0BAA0B;IAgCzC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAIrB,uFAAuF;IACvF,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAMhC;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAMjB;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IA8QrD;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;OASG;YACW,aAAa;IAI3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,SAAS;YAIH,gBAAgB;IAI9B;;;;;;;;;;;;;;;;OAgBG;YACW,iBAAiB;YA0BjB,oBAAoB;IAiBlC;;;;;;;;;;;OAWG;YACW,qBAAqB;IA0BnC;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,wBAAwB;IAyBtC;;;;;;;OAOG;YACW,yBAAyB;IAyBvC;;;;;;;OAOG;YACW,4BAA4B;IAiC1C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;;;;;;;OASG;YACW,4BAA4B;IA+CpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B;;;;;;OAMG;YACW,YAAY;IASpB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,WAAW,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D;;;;;;;;;;OAUG;IACG,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjD;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAc5B;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAczC;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3C;;;;;;;;;;;OAWG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD;;OAEG;IACG,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE;;;;;;OAMG;IACG,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAanE"}