@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.
- package/dist/src/alter-migration.d.ts +48 -21
- package/dist/src/alter-migration.d.ts.map +1 -1
- package/dist/src/alter-migration.js +123 -49
- package/dist/src/alter-migration.js.map +1 -1
- package/dist/src/isolated-table.d.ts +0 -6
- package/dist/src/isolated-table.d.ts.map +1 -1
- package/dist/src/isolated-table.js +19 -45
- package/dist/src/isolated-table.js.map +1 -1
- package/dist/src/isolation-module.d.ts +27 -3
- package/dist/src/isolation-module.d.ts.map +1 -1
- package/dist/src/isolation-module.js +64 -23
- package/dist/src/isolation-module.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { VirtualTable, compareSqlValues, compareSqlValuesFast, BINARY_COLLATION, isUpdateOk, ConflictResolution, compilePredicate, QuereusError, StatusCode, resolveUniqueEnforcementCollations, uniqueEnforcementCollations, uniqueEnforcementComparators, normalizeCollationName,
|
|
1
|
+
import { VirtualTable, compareSqlValues, compareSqlValuesFast, BINARY_COLLATION, isUpdateOk, ConflictResolution, compilePredicate, QuereusError, StatusCode, resolveUniqueEnforcementCollations, uniqueEnforcementCollations, uniqueEnforcementComparators, normalizeCollationName, pkKeyCollationName, retargetFilterInfoIndex, PRIMARY_INDEX_NAME, coerceRowToSchema, IndexConstraintOp, decodeIdxStr, createTypedComparator, hasSemanticOrdering } from '@quereus/quereus';
|
|
2
2
|
import { IsolatedConnection } from './isolated-connection.js';
|
|
3
3
|
import { mergeStreams, createMergeEntry, createTombstone } from './merge-iterator.js';
|
|
4
4
|
import { makeFullScanFilterInfo, makeSecondaryIndexEqSeekFilter } from './filter-info.js';
|
|
5
5
|
import { EMPTY_PK_KEY_SHAPE, makePkKeyShape, pkEqualsFromShape, probeRowByPk } from './pk-probe.js';
|
|
6
|
+
import { makePkKeySerializer } from './overlay-rows.js';
|
|
6
7
|
/** The cache entry served while `tableSchema` is still unpopulated; never mutated. */
|
|
7
8
|
const EMPTY_PK_SHAPE_ENTRY = {
|
|
8
9
|
shape: EMPTY_PK_KEY_SHAPE,
|
|
@@ -52,12 +53,6 @@ export class IsolatedTable extends VirtualTable {
|
|
|
52
53
|
* database registry.
|
|
53
54
|
*/
|
|
54
55
|
collationResolver;
|
|
55
|
-
/**
|
|
56
|
-
* `db.getKeyNormalizerResolver()`, bound once at connect beside {@link collationResolver}
|
|
57
|
-
* for the same reason: the modified-PK set's key encoding and the comparators above must
|
|
58
|
-
* agree on which rows are equal, or a staged row fails to shadow the base row it replaces.
|
|
59
|
-
*/
|
|
60
|
-
keyNormalizerResolver;
|
|
61
56
|
/**
|
|
62
57
|
* The PK key shape (per-column comparison functions and sort directions) and the
|
|
63
58
|
* equality test derived from it, memoized against the `TableSchema` object identity —
|
|
@@ -133,7 +128,6 @@ export class IsolatedTable extends VirtualTable {
|
|
|
133
128
|
this.underlyingTable = underlyingTable;
|
|
134
129
|
this.readCommitted = readCommitted;
|
|
135
130
|
this.collationResolver = db.getCollationResolver();
|
|
136
|
-
this.keyNormalizerResolver = db.getKeyNormalizerResolver();
|
|
137
131
|
// Schema comes from underlying - may be populated lazily by the underlying module
|
|
138
132
|
this.tableSchema = underlyingTable.tableSchema;
|
|
139
133
|
// Statistics delegation — present iff the underlying implements it (see the fields).
|
|
@@ -435,43 +429,23 @@ export class IsolatedTable extends VirtualTable {
|
|
|
435
429
|
}
|
|
436
430
|
const pkIndices = this.getPrimaryKeyIndices();
|
|
437
431
|
const tombstoneIndex = this.getTombstoneColumnIndex(overlay);
|
|
438
|
-
// Key the modified-PK set
|
|
439
|
-
//
|
|
440
|
-
//
|
|
441
|
-
//
|
|
442
|
-
//
|
|
443
|
-
//
|
|
444
|
-
//
|
|
445
|
-
//
|
|
446
|
-
//
|
|
447
|
-
//
|
|
448
|
-
//
|
|
449
|
-
//
|
|
450
|
-
// the
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
// (`json`, the temporal types) is keyed under `'BINARY'` regardless, since PK
|
|
456
|
-
// equality compares those types through `logicalType.compare`, which is not the
|
|
457
|
-
// generic collation comparison (the temporals ignore the argument; JSON ranks
|
|
458
|
-
// structurally).
|
|
459
|
-
const pkNormalizers = pkIndices.map(i => {
|
|
460
|
-
const column = this.tableSchema.columns[i];
|
|
461
|
-
return this.keyNormalizerResolver(pkKeyCollationName(column));
|
|
462
|
-
});
|
|
463
|
-
// Key-identity transforms for semantic-ordering PK members (TIMESPAN's total-seconds
|
|
464
|
-
// groupKey): the underlying backends key 'PT1H' and 'PT60M' as ONE row, so the
|
|
465
|
-
// modified-PK shadow set must bucket them identically or a staged rewrite fails to
|
|
466
|
-
// shadow the committed spelling and both rows surface. `!` on the serialized key is
|
|
467
|
-
// safe: PK columns are NOT NULL, so serializeKey never returns null; both the build
|
|
468
|
-
// and probe below use this one encoder so they stay consistent.
|
|
469
|
-
const pkTransforms = pkIndices.map(i => semanticKeyTransform(this.tableSchema.columns[i]?.logicalType));
|
|
470
|
-
const pkShadowKey = (row) => serializeKey(pkIndices.map((idx, i) => {
|
|
471
|
-
const v = row[idx];
|
|
472
|
-
const transform = pkTransforms[i];
|
|
473
|
-
return transform && v !== null ? transform(v) : v;
|
|
474
|
-
}), pkNormalizers);
|
|
432
|
+
// Key the modified-PK set through the engine's ONE row-identity recipe
|
|
433
|
+
// (`makePkKeySerializer` -> `makePkIdentitySerializer`): per-PK-column collation
|
|
434
|
+
// normalizer, semantic key transform for semantic-ordering types (TIMESPAN's
|
|
435
|
+
// groupKey, so a staged 'PT60M' shadows the committed 'PT1H' the backends store as
|
|
436
|
+
// one row), and NULL-grouping serialization (a synthesized all-columns PK does not
|
|
437
|
+
// force its members NOT NULL, so a NULL component is a value to tag, not a key to
|
|
438
|
+
// collapse). Never re-derive that recipe here: this set decides "same row?" for the
|
|
439
|
+
// rows the overlay writer and the sync engine key by the same recipe, and a local
|
|
440
|
+
// copy drifting from it is exactly how the NULL-PK shadow collapse got in. Both the
|
|
441
|
+
// build and probe below use this one encoder so they stay consistent.
|
|
442
|
+
// An unpopulated schema yields no PK indices at all, so the shadow set is degenerate
|
|
443
|
+
// either way; keying every row alike (as this did before the recipe was shared) beats
|
|
444
|
+
// throwing out of the serializer on a schema the underlying has not filled in yet.
|
|
445
|
+
const pkKeyOf = this.tableSchema
|
|
446
|
+
? makePkKeySerializer(this.db, this.tableSchema)
|
|
447
|
+
: () => '';
|
|
448
|
+
const pkShadowKey = (row) => pkKeyOf(pkIndices.map(i => row[i]));
|
|
475
449
|
// Step 1: one full overlay scan collects the modified PKs AND the in-window
|
|
476
450
|
// non-tombstone data rows. The window filter is applied here, unconditionally —
|
|
477
451
|
// whether the engine adds a residual Filter above the isolation scan depends on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated-table.js","sourceRoot":"","sources":["../../src/isolated-table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"isolated-table.js","sourceRoot":"","sources":["../../src/isolated-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,6 +128,18 @@ export declare class IsolationModule implements VirtualTableModule<IsolatedTable
|
|
|
128
128
|
ensureBackingForAttach?: (db: Database, schemaName: string, tableName: string, backingSchema: TableSchema) => Promise<void>;
|
|
129
129
|
retireBackingForAttach?: (db: Database, schemaName: string, tableName: string, plainSchema: TableSchema) => Promise<void>;
|
|
130
130
|
discardBackingForAttach?: (db: Database, schemaName: string, tableName: string) => Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Create-time schema-normalization forward
|
|
133
|
+
* (see {@link VirtualTableModule.normalizeCreateSchema}) — assigned only when the
|
|
134
|
+
* underlying implements it, mirroring presence like the seams above. MUST be
|
|
135
|
+
* forwarded: the wrapper's {@link create} delegates to the underlying's `create`,
|
|
136
|
+
* which applies the rewrite, so a wrapper that did NOT advertise the hook would
|
|
137
|
+
* make the engine's "what would this schema become?" probe answer `verbatim` while
|
|
138
|
+
* the actual create still rewrote — the exact asymmetry the hook exists to close
|
|
139
|
+
* (a materialized view over a store-hosted backing would refill on every reopen).
|
|
140
|
+
* Pure schema→schema, no overlay bookkeeping.
|
|
141
|
+
*/
|
|
142
|
+
normalizeCreateSchema?: (tableSchema: TableSchema) => TableSchema;
|
|
131
143
|
constructor(config: IsolationModuleConfig);
|
|
132
144
|
/**
|
|
133
145
|
* Forwards a concurrency-mode hint so a host that wraps a reentrant module
|
|
@@ -609,6 +621,17 @@ export declare class IsolationModule implements VirtualTableModule<IsolatedTable
|
|
|
609
621
|
* only recover by rolling back.
|
|
610
622
|
*/
|
|
611
623
|
private issuerEffectiveRows;
|
|
624
|
+
/**
|
|
625
|
+
* The rows the underlying's OWN data-dependent DDL decisions read when
|
|
626
|
+
* {@link issuerEffectiveRows} hands it nothing: its committed rows. Behind this layer a
|
|
627
|
+
* connection's writes reach the underlying only at commit, so with nothing staged by the
|
|
628
|
+
* issuer the underlying's effective view IS the committed set — for both bundled
|
|
629
|
+
* underlyings (the memory table's DDL-connection view, the store's buffered-plus-committed
|
|
630
|
+
* scan). Used to mirror the `set not null` backfill gate the underlying will apply
|
|
631
|
+
* (`deriveAlterMigrationPlan`), which decides whether the committed keys move. Undefined
|
|
632
|
+
* when the underlying is not connected or cannot be scanned.
|
|
633
|
+
*/
|
|
634
|
+
private committedRowsOf;
|
|
612
635
|
/**
|
|
613
636
|
* Creates an index on the underlying table, then hands the same index to every
|
|
614
637
|
* per-connection overlay so it (and, for a UNIQUE index, the constraint derived from it)
|
|
@@ -755,9 +778,10 @@ export declare class IsolationModule implements VirtualTableModule<IsolatedTable
|
|
|
755
778
|
* `runtime/emit/alter-table.ts`.
|
|
756
779
|
*
|
|
757
780
|
* **Row-content validation.** The row-validating arms (`add constraint … unique`,
|
|
758
|
-
* `alter column … set collate`
|
|
759
|
-
* underlying's committed ones — see
|
|
760
|
-
* check before it mutates anything,
|
|
781
|
+
* `alter column … set collate` / `set not null` on a key member) judge the ISSUING
|
|
782
|
+
* connection's effective rows, not the underlying's committed ones — see
|
|
783
|
+
* {@link issuerEffectiveRows}. The underlying runs that check before it mutates anything,
|
|
784
|
+
* so the atomic-abort guarantee above still holds.
|
|
761
785
|
*/
|
|
762
786
|
alterTable(db: Database, schemaName: string, tableName: string, change: SchemaChangeInfo, rows?: EffectiveRowSource): Promise<TableSchema>;
|
|
763
787
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolation-module.d.ts","sourceRoot":"","sources":["../../src/isolation-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,IAAI,WAAW,EAAE,kBAAkB,EAAgB,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAO,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9Y,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC3H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"isolation-module.d.ts","sourceRoot":"","sources":["../../src/isolation-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { MemoryTableModule, PhysicalType, QuereusError, StatusCode } from '@quer
|
|
|
2
2
|
import { IsolatedTable } from './isolated-table.js';
|
|
3
3
|
import { applyOverlayToUnderlying } from './flush.js';
|
|
4
4
|
import { iterateEffectiveRows, makePkKeySerializer } from './overlay-rows.js';
|
|
5
|
+
import { makeFullScanFilterInfo } from './filter-info.js';
|
|
5
6
|
import { applyPkRekeyMarkerDrops, assertColumnNameNotTombstone, buildAlterPoisonMessage, deriveAlterMigrationPlan, migrateOverlayForward, planPkRekeyMarkerDrops, reinsertPkRekeyMarkers, validateOverlayMigration, } from './alter-migration.js';
|
|
6
7
|
let overlayIdCounter = 0;
|
|
7
8
|
/**
|
|
@@ -147,6 +148,18 @@ export class IsolationModule {
|
|
|
147
148
|
ensureBackingForAttach;
|
|
148
149
|
retireBackingForAttach;
|
|
149
150
|
discardBackingForAttach;
|
|
151
|
+
/**
|
|
152
|
+
* Create-time schema-normalization forward
|
|
153
|
+
* (see {@link VirtualTableModule.normalizeCreateSchema}) — assigned only when the
|
|
154
|
+
* underlying implements it, mirroring presence like the seams above. MUST be
|
|
155
|
+
* forwarded: the wrapper's {@link create} delegates to the underlying's `create`,
|
|
156
|
+
* which applies the rewrite, so a wrapper that did NOT advertise the hook would
|
|
157
|
+
* make the engine's "what would this schema become?" probe answer `verbatim` while
|
|
158
|
+
* the actual create still rewrote — the exact asymmetry the hook exists to close
|
|
159
|
+
* (a materialized view over a store-hosted backing would refill on every reopen).
|
|
160
|
+
* Pure schema→schema, no overlay bookkeeping.
|
|
161
|
+
*/
|
|
162
|
+
normalizeCreateSchema;
|
|
150
163
|
constructor(config) {
|
|
151
164
|
this.underlying = config.underlying;
|
|
152
165
|
this.overlayModule = config.overlay ?? new MemoryTableModule();
|
|
@@ -155,6 +168,10 @@ export class IsolationModule {
|
|
|
155
168
|
if (underlyingGetBackingHost) {
|
|
156
169
|
this.getBackingHost = (db, schemaName, tableName) => underlyingGetBackingHost.call(this.underlying, db, schemaName, tableName);
|
|
157
170
|
}
|
|
171
|
+
const underlyingNormalize = this.underlying.normalizeCreateSchema;
|
|
172
|
+
if (underlyingNormalize) {
|
|
173
|
+
this.normalizeCreateSchema = (tableSchema) => underlyingNormalize.call(this.underlying, tableSchema);
|
|
174
|
+
}
|
|
158
175
|
const underlyingCreateBacking = this.underlying.createBacking;
|
|
159
176
|
if (underlyingCreateBacking) {
|
|
160
177
|
this.createBacking = async (db, tableSchema) => {
|
|
@@ -976,6 +993,22 @@ export class IsolationModule {
|
|
|
976
993
|
return undefined;
|
|
977
994
|
return this.effectiveRowsFor(db, underlyingTable, overlayState);
|
|
978
995
|
}
|
|
996
|
+
/**
|
|
997
|
+
* The rows the underlying's OWN data-dependent DDL decisions read when
|
|
998
|
+
* {@link issuerEffectiveRows} hands it nothing: its committed rows. Behind this layer a
|
|
999
|
+
* connection's writes reach the underlying only at commit, so with nothing staged by the
|
|
1000
|
+
* issuer the underlying's effective view IS the committed set — for both bundled
|
|
1001
|
+
* underlyings (the memory table's DDL-connection view, the store's buffered-plus-committed
|
|
1002
|
+
* scan). Used to mirror the `set not null` backfill gate the underlying will apply
|
|
1003
|
+
* (`deriveAlterMigrationPlan`), which decides whether the committed keys move. Undefined
|
|
1004
|
+
* when the underlying is not connected or cannot be scanned.
|
|
1005
|
+
*/
|
|
1006
|
+
committedRowsOf(state) {
|
|
1007
|
+
const table = state?.underlyingTable;
|
|
1008
|
+
if (!table?.query)
|
|
1009
|
+
return undefined;
|
|
1010
|
+
return () => table.query(makeFullScanFilterInfo());
|
|
1011
|
+
}
|
|
979
1012
|
/**
|
|
980
1013
|
* Creates an index on the underlying table, then hands the same index to every
|
|
981
1014
|
* per-connection overlay so it (and, for a UNIQUE index, the constraint derived from it)
|
|
@@ -1228,9 +1261,10 @@ export class IsolationModule {
|
|
|
1228
1261
|
* `runtime/emit/alter-table.ts`.
|
|
1229
1262
|
*
|
|
1230
1263
|
* **Row-content validation.** The row-validating arms (`add constraint … unique`,
|
|
1231
|
-
* `alter column … set collate`
|
|
1232
|
-
* underlying's committed ones — see
|
|
1233
|
-
* check before it mutates anything,
|
|
1264
|
+
* `alter column … set collate` / `set not null` on a key member) judge the ISSUING
|
|
1265
|
+
* connection's effective rows, not the underlying's committed ones — see
|
|
1266
|
+
* {@link issuerEffectiveRows}. The underlying runs that check before it mutates anything,
|
|
1267
|
+
* so the atomic-abort guarantee above still holds.
|
|
1234
1268
|
*/
|
|
1235
1269
|
async alterTable(db, schemaName, tableName, change, rows) {
|
|
1236
1270
|
if (!this.underlying.alterTable) {
|
|
@@ -1281,7 +1315,7 @@ export class IsolationModule {
|
|
|
1281
1315
|
// The engine treats an UNSUPPORTED `alterTable` refusal as "use the shadow-table
|
|
1282
1316
|
// rebuild fallback" (see runAlterPrimaryKey in runtime/emit/alter-table.ts), which
|
|
1283
1317
|
// copies committed rows only — it would silently drop this transaction's staged
|
|
1284
|
-
// writes. See docs/module-authoring.md § alterPrimaryKey.
|
|
1318
|
+
// writes. See docs/module-authoring-schema-changes.md § alterPrimaryKey.
|
|
1285
1319
|
//
|
|
1286
1320
|
// NOTE: an already-poisoned own overlay leaves `ownEntry` undefined (skipped above), so this
|
|
1287
1321
|
// refusal never fires for it — harmless while poison is terminal (rollback is the only exit,
|
|
@@ -1291,11 +1325,23 @@ export class IsolationModule {
|
|
|
1291
1325
|
throw new QuereusError(`Cannot alter the primary key of '${schemaName}.${tableName}' while this transaction has uncommitted changes staged for it; commit or roll back first.`, StatusCode.BUSY);
|
|
1292
1326
|
}
|
|
1293
1327
|
assertColumnNameNotTombstone(this, schemaName, tableName, change);
|
|
1328
|
+
const underlyingState = this.getUnderlyingState(schemaName, tableName);
|
|
1329
|
+
// Hand the underlying the issuer's effective rows so its own row-content checks
|
|
1330
|
+
// (`add constraint … unique`, `alter column … set collate` / `set not null`) see the
|
|
1331
|
+
// transaction's pending rows and skip the ones it has deleted. An outer wrapper's source
|
|
1332
|
+
// wins if one was supplied. Built before the migration plan, which reads the same stream
|
|
1333
|
+
// to learn whether a `set not null` backfill will actually move the committed keys.
|
|
1334
|
+
let rowSource = rows ?? (underlyingState
|
|
1335
|
+
? this.issuerEffectiveRows(db, schemaName, tableName, underlyingState.underlyingTable)
|
|
1336
|
+
: undefined);
|
|
1294
1337
|
// Precompute every per-change-type migration constant, from the PRE-alter schema — so the
|
|
1295
1338
|
// whole plan is valid here, before the underlying is mutated, and the same plan drives the
|
|
1296
1339
|
// post-mutation migration. The attribute arms read a to-be-migrated overlay's schema, never
|
|
1297
|
-
// a skipped poisoned overlay's (possibly stale pre-alter) one.
|
|
1298
|
-
|
|
1340
|
+
// a skipped poisoned overlay's (possibly stale pre-alter) one. The plan is also told which
|
|
1341
|
+
// rows the underlying's own data-dependent decisions will read — the issuer's effective rows
|
|
1342
|
+
// when it has staged work, else the committed set — so the `set not null` re-key arm gates
|
|
1343
|
+
// exactly as the underlying's backfill does.
|
|
1344
|
+
const migration = await deriveAlterMigrationPlan(change, db, tableName, toMigrate, rowSource ?? this.committedRowsOf(underlyingState));
|
|
1299
1345
|
// Tier 2: validate the ISSUER's own overlay BEFORE mutating the shared underlying.
|
|
1300
1346
|
// Any throw here (CONSTRAINT backfill, MISMATCH conversion, or INTERNAL tombstone guard)
|
|
1301
1347
|
// propagates while underlying + catalog + every overlay are still untouched — the companion
|
|
@@ -1303,28 +1349,23 @@ export class IsolationModule {
|
|
|
1303
1349
|
if (ownEntry) {
|
|
1304
1350
|
await validateOverlayMigration(this, ownEntry[1], migration);
|
|
1305
1351
|
}
|
|
1306
|
-
|
|
1307
|
-
//
|
|
1308
|
-
//
|
|
1309
|
-
//
|
|
1310
|
-
//
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
//
|
|
1315
|
-
//
|
|
1316
|
-
//
|
|
1317
|
-
// the new collation) — and it runs in the migrate step, AFTER the underlying has
|
|
1318
|
-
// irreversibly re-keyed. So dry-run it here, against the exact state the migrate step
|
|
1319
|
-
// will see: drop the collapsed markers first (saving them), pre-flight the overlay's
|
|
1320
|
-
// `alterSchema` in validate-only mode, and on ANY later refusal — the pre-flight's or
|
|
1321
|
-
// the underlying's — reinsert the markers and rethrow with everything net-untouched.
|
|
1352
|
+
// Tier 2, PRIMARY-KEY re-key arm forwarded through the overlay's `alterSchema` (`set
|
|
1353
|
+
// collate`): that call is itself fallible — its module re-validates the re-key against
|
|
1354
|
+
// the overlay's layer chain (e.g. the memory module's representability BUSY when a
|
|
1355
|
+
// savepoint could restore rows that collide under the new collation) — and it runs in
|
|
1356
|
+
// the migrate step, AFTER the underlying has irreversibly re-keyed. So dry-run it here,
|
|
1357
|
+
// against the exact state the migrate step will see: drop the collapsed markers first
|
|
1358
|
+
// (saving them), pre-flight the overlay's `alterSchema` in validate-only mode, and on ANY
|
|
1359
|
+
// later refusal — the pre-flight's or the underlying's — reinsert the markers and rethrow
|
|
1360
|
+
// with everything net-untouched. The `set not null` re-key never comes here: it reaches
|
|
1361
|
+
// the overlay through ordinary writes (nothing to pre-flight), and its marker drop runs
|
|
1362
|
+
// in the migrate step only — see `PkRekeyContext.forwardedViaAlterSchema`.
|
|
1322
1363
|
//
|
|
1323
1364
|
// The drops happen BEFORE `underlying.alterTable`, and a dropped marker un-shadows the
|
|
1324
1365
|
// committed row it deletes in `issuerEffectiveRows`'s merged stream — so the effective
|
|
1325
1366
|
// rows are SNAPSHOTTED first, and the underlying judges the pre-drop view.
|
|
1326
1367
|
let droppedMarkerRows = [];
|
|
1327
|
-
if (migration.pkRekey && ownEntry && ownEntry[1].hasChanges && ownEntry[1].overlayTable.alterSchema) {
|
|
1368
|
+
if (migration.pkRekey?.forwardedViaAlterSchema && ownEntry && ownEntry[1].hasChanges && ownEntry[1].overlayTable.alterSchema) {
|
|
1328
1369
|
const ownOverlayState = ownEntry[1];
|
|
1329
1370
|
const pkRekeyCtx = migration.pkRekey;
|
|
1330
1371
|
const plan = await planPkRekeyMarkerDrops(this, ownOverlayState, pkRekeyCtx);
|