@quereus/isolation 4.13.1 → 4.15.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.
@@ -1,8 +1,9 @@
1
- import { VirtualTable, compareSqlValues, compareSqlValuesFast, BINARY_COLLATION, isUpdateOk, ConflictResolution, compilePredicate, QuereusError, StatusCode, resolveUniqueEnforcementCollations, uniqueEnforcementCollations, uniqueEnforcementComparators, normalizeCollationName, serializeKey, pkKeyCollationName, retargetFilterInfoIndex, PRIMARY_INDEX_NAME, coerceRowToSchema, IndexConstraintOp, decodeIdxStr, createTypedComparator, hasSemanticOrdering, semanticKeyTransform } from '@quereus/quereus';
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 with the engine's canonical, bigint-safe,
439
- // collation-aware encoder — NOT JSON.stringify, which throws on a bigint PK
440
- // value and ignores collation (a NOCASE PK rewritten 'abc' -> 'ABC' would fail
441
- // to shadow the underlying 'abc', surfacing both rows). One normalizer per PK
442
- // column, drawn from `pkKeyCollationName` (the same decision `resolvePkKeyCollations`
443
- // makes for the store's on-disk PK encoding) via the connection's own resolver, so
444
- // equal keys under the PK collation encode to identical strings — matching
445
- // getComparePK/keysEqual and agreeing with `db.registerCollation`.
446
- //
447
- // A PK column whose declared type can never hold text takes the identity
448
- // normalizer regardless of its collation: the key serializer normalizes only
449
- // string values, so the collation cannot affect how such a key buckets. Asking
450
- // the resolver for it would reject `n integer collate mycoll` under a
451
- // comparator-only collation, which the engine's own hash sites accept (they gate
452
- // through `hashKeyCollationName`, the same predicate). A collation-aware column
453
- // (`text`, `any` — types whose `compare` honors the collation it is handed) keys
454
- // under its own declared collation; a collation-blind text-capable column
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`) judge the ISSUING connection's effective rows, not the
759
- * underlying's committed ones — see {@link issuerEffectiveRows}. The underlying runs that
760
- * check before it mutates anything, so the atomic-abort guarantee above still holds.
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":"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"}
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`) judge the ISSUING connection's effective rows, not the
1232
- * underlying's committed ones — see {@link issuerEffectiveRows}. The underlying runs that
1233
- * check before it mutates anything, so the atomic-abort guarantee above still holds.
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
- const migration = deriveAlterMigrationPlan(change, db, tableName, toMigrate);
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
- const underlyingState = this.getUnderlyingState(schemaName, tableName);
1307
- // Hand the underlying the issuer's effective rows so its own row-content checks
1308
- // (`add constraint … unique`, `alter column … set collate`) see the transaction's
1309
- // pending rows and skip the ones it has deleted. An outer wrapper's source wins if
1310
- // one was supplied.
1311
- let rowSource = rows ?? (underlyingState
1312
- ? this.issuerEffectiveRows(db, schemaName, tableName, underlyingState.underlyingTable)
1313
- : undefined);
1314
- // Tier 2, PRIMARY-KEY re-key arm: the overlay's own `alterSchema` is itself fallible —
1315
- // its module re-validates the re-key against the overlay's layer chain (e.g. the memory
1316
- // module's representability BUSY when a savepoint could restore rows that collide under
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);