@quereus/isolation 4.13.0 → 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.
@@ -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);
@@ -1 +1 @@
1
- {"version":3,"file":"isolation-module.js","sourceRoot":"","sources":["../../src/isolation-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isolation-module.js","sourceRoot":"","sources":["../../src/isolation-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { CollationResolver, Row, SqlValue, TableSchema, VirtualTable } from '@quereus/quereus';
2
+ /** Compares one primary-key column's values. Returns <0 / 0 / >0 like `compareSqlValues`. */
3
+ type ColumnCompare = (a: SqlValue, b: SqlValue) => number;
4
+ /**
5
+ * Per-primary-key-column comparison functions plus each column's declared sort direction.
6
+ *
7
+ * Each comparator is the type's own `compare` for a semantic-ordering column (TIMESPAN,
8
+ * JSON — see the engine's `hasSemanticOrdering`), else `compareSqlValuesFast` under the
9
+ * column's declared collation. Both backends collapse semantically-equal spellings onto
10
+ * one row (the memory table's typed BTree; the store's `groupKey`-transformed key bytes)
11
+ * and key rows collation-aware, so the isolation layer must call 'PT1H' and 'PT60M' — and
12
+ * 'apple' and 'APPLE' under NOCASE — the same key too.
13
+ *
14
+ * `directions` is the ORDERING half and is positionally aligned with `compares`; equality
15
+ * ignores it, since direction cannot change whether two values are equal.
16
+ *
17
+ * Build this ONCE per schema, above any row loop: the collation resolver throws on an
18
+ * unregistered name and is not inlinable. Resolution is not retroactive — a collation
19
+ * registered *after* the shape was built is not picked up, the same contract
20
+ * `Database.registerCollation` documents engine-wide.
21
+ *
22
+ * NOTE: these are the *comparison* collations only. The store's physical key bytes are
23
+ * produced by the key NORMALIZER of the same collation, resolved through the same
24
+ * connection's registry, so the two agree on equality — but only on ORDER for a collation
25
+ * asserting `orderPreserving` (see docs/store.md § Order preservation).
26
+ */
27
+ export interface PkKeyShape {
28
+ readonly compares: ReadonlyArray<ColumnCompare>;
29
+ readonly directions: readonly boolean[];
30
+ }
31
+ /**
32
+ * The shape of a schema that has not been populated yet; never mutated. An empty shape
33
+ * degrades every key position to BINARY, matching the "no PK definition" behaviour.
34
+ */
35
+ export declare const EMPTY_PK_KEY_SHAPE: PkKeyShape;
36
+ /** Builds the {@link PkKeyShape} for `schema`'s primary key. */
37
+ export declare function makePkKeyShape(schema: TableSchema | undefined, resolveCollation: CollationResolver): PkKeyShape;
38
+ /**
39
+ * Equality over a primary-key tuple: each column under its declared collation, and a
40
+ * semantic-ordering type through its own comparator.
41
+ */
42
+ export type PkEquals = (a: readonly SqlValue[], b: readonly SqlValue[]) => boolean;
43
+ /** Derives the equality test from an already-built {@link PkKeyShape}. */
44
+ export declare function pkEqualsFromShape(shape: PkKeyShape): PkEquals;
45
+ /**
46
+ * Builds a {@link PkEquals} for `schema`'s primary key. Memoize the result per schema —
47
+ * this sits on the per-write path.
48
+ */
49
+ export declare function makePkEquals(schema: TableSchema | undefined, resolveCollation: CollationResolver): PkEquals;
50
+ /**
51
+ * Finds the row of `table` carrying `pk`, driving the primary-key index when the module
52
+ * can serve it.
53
+ *
54
+ * A hand-built FilterInfo is a REQUEST, not a contract: the module never negotiated these
55
+ * constraints through `getBestAccessPlan`, so it may legitimately answer with any superset
56
+ * of the requested rows — up to the whole table — and there is no engine above a direct
57
+ * `query()` call to reapply the constraints as a residual. Every yielded row is therefore
58
+ * checked against `pk` before it is believed.
59
+ *
60
+ * The check runs over the WHOLE iteration rather than stopping at row #1: stopping would
61
+ * turn a false positive ("some unrelated row exists ⇒ the key is taken") into a false
62
+ * negative ("row #1 is not it ⇒ the key is free"), which lets a genuine duplicate key
63
+ * through. For a module that actually seeks, the iteration is one row and nothing changes.
64
+ *
65
+ * NOTE: a module that cannot seek the primary key now pays a full scan per probe instead
66
+ * of returning a wrong answer. If a scan-only backend ever shows up as slow on
67
+ * write-heavy transactions, cache the probe per statement — do not restore the trust.
68
+ */
69
+ export declare function probeRowByPk(table: VirtualTable, pkIndices: readonly number[], pk: readonly SqlValue[], pkEquals: PkEquals): Promise<Row | undefined>;
70
+ export {};
71
+ //# sourceMappingURL=pk-probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pk-probe.d.ts","sourceRoot":"","sources":["../../src/pk-probe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUvH,6FAA6F;AAC7F,KAAK,aAAa,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;AAK1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;CACxC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAA6C,CAAC;AAE/E,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,GAAG,UAAU,CAc/G;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,SAAS,QAAQ,EAAE,EAAE,CAAC,EAAE,SAAS,QAAQ,EAAE,KAAK,OAAO,CAAC;AAEnF,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAS7D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,GAAG,QAAQ,CAE3G;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CACjC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,EAAE,EAAE,SAAS,QAAQ,EAAE,EACvB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAM1B"}
@@ -0,0 +1,73 @@
1
+ import { BINARY_COLLATION, compareSqlValuesFast, createTypedComparator, hasSemanticOrdering, resolveCollationFunctions, } from '@quereus/quereus';
2
+ import { makePkPointLookupFilter } from './filter-info.js';
3
+ /** Fallback for a key position past the end of the primary-key definition. */
4
+ const BINARY_COMPARE = (a, b) => compareSqlValuesFast(a, b, BINARY_COLLATION);
5
+ /**
6
+ * The shape of a schema that has not been populated yet; never mutated. An empty shape
7
+ * degrades every key position to BINARY, matching the "no PK definition" behaviour.
8
+ */
9
+ export const EMPTY_PK_KEY_SHAPE = { compares: [], directions: [] };
10
+ /** Builds the {@link PkKeyShape} for `schema`'s primary key. */
11
+ export function makePkKeyShape(schema, resolveCollation) {
12
+ if (!schema)
13
+ return EMPTY_PK_KEY_SHAPE;
14
+ const pkDef = schema.primaryKeyDefinition ?? [];
15
+ const collations = resolveCollationFunctions(resolveCollation, pkDef.map(pk => schema.columns[pk.index]?.collation));
16
+ const compares = pkDef.map((pk, i) => {
17
+ const logicalType = schema.columns[pk.index]?.logicalType;
18
+ if (hasSemanticOrdering(logicalType))
19
+ return createTypedComparator(logicalType);
20
+ const collation = collations[i] ?? BINARY_COLLATION;
21
+ return (a, b) => compareSqlValuesFast(a, b, collation);
22
+ });
23
+ return { compares, directions: pkDef.map(pk => !!pk.desc) };
24
+ }
25
+ /** Derives the equality test from an already-built {@link PkKeyShape}. */
26
+ export function pkEqualsFromShape(shape) {
27
+ const { compares } = shape;
28
+ return (a, b) => {
29
+ if (a.length !== b.length)
30
+ return false;
31
+ for (let i = 0; i < a.length; i++) {
32
+ if ((compares[i] ?? BINARY_COMPARE)(a[i], b[i]) !== 0)
33
+ return false;
34
+ }
35
+ return true;
36
+ };
37
+ }
38
+ /**
39
+ * Builds a {@link PkEquals} for `schema`'s primary key. Memoize the result per schema —
40
+ * this sits on the per-write path.
41
+ */
42
+ export function makePkEquals(schema, resolveCollation) {
43
+ return pkEqualsFromShape(makePkKeyShape(schema, resolveCollation));
44
+ }
45
+ /**
46
+ * Finds the row of `table` carrying `pk`, driving the primary-key index when the module
47
+ * can serve it.
48
+ *
49
+ * A hand-built FilterInfo is a REQUEST, not a contract: the module never negotiated these
50
+ * constraints through `getBestAccessPlan`, so it may legitimately answer with any superset
51
+ * of the requested rows — up to the whole table — and there is no engine above a direct
52
+ * `query()` call to reapply the constraints as a residual. Every yielded row is therefore
53
+ * checked against `pk` before it is believed.
54
+ *
55
+ * The check runs over the WHOLE iteration rather than stopping at row #1: stopping would
56
+ * turn a false positive ("some unrelated row exists ⇒ the key is taken") into a false
57
+ * negative ("row #1 is not it ⇒ the key is free"), which lets a genuine duplicate key
58
+ * through. For a module that actually seeks, the iteration is one row and nothing changes.
59
+ *
60
+ * NOTE: a module that cannot seek the primary key now pays a full scan per probe instead
61
+ * of returning a wrong answer. If a scan-only backend ever shows up as slow on
62
+ * write-heavy transactions, cache the probe per statement — do not restore the trust.
63
+ */
64
+ export async function probeRowByPk(table, pkIndices, pk, pkEquals) {
65
+ if (!table.query)
66
+ return undefined;
67
+ for await (const row of table.query(makePkPointLookupFilter(pkIndices, pk))) {
68
+ if (pkEquals(pkIndices.map(i => row[i]), pk))
69
+ return row;
70
+ }
71
+ return undefined;
72
+ }
73
+ //# sourceMappingURL=pk-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pk-probe.js","sourceRoot":"","sources":["../../src/pk-probe.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAK3D,8EAA8E;AAC9E,MAAM,cAAc,GAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;AA8B7F;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAE/E,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,MAA+B,EAAE,gBAAmC;IAClG,IAAI,CAAC,MAAM;QAAE,OAAO,kBAAkB,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAChD,MAAM,UAAU,GAAwB,yBAAyB,CAChE,gBAAgB,EAChB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CACpD,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAiB,EAAE;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;QAC1D,IAAI,mBAAmB,CAAC,WAAW,CAAC;YAAE,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QACpD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7D,CAAC;AAQD,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACf,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAA+B,EAAE,gBAAmC;IAChG,OAAO,iBAAiB,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,KAAmB,EACnB,SAA4B,EAC5B,EAAuB,EACvB,QAAkB;IAElB,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7E,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAAE,OAAO,GAAG,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quereus/isolation",
3
- "version": "4.13.0",
3
+ "version": "4.14.0",
4
4
  "type": "module",
5
5
  "description": "Generic transaction isolation layer for Quereus virtual table modules",
6
6
  "keywords": [
@@ -41,10 +41,10 @@
41
41
  "test:single": "cd ../.. && node --import ./packages/quereus-isolation/register.mjs node_modules/mocha/bin/mocha.js --bail"
42
42
  },
43
43
  "peerDependencies": {
44
- "@quereus/quereus": "^4.13.0"
44
+ "@quereus/quereus": "^4.14.0"
45
45
  },
46
46
  "dependencies": {
47
- "@quereus/quereus": "^4.13.0"
47
+ "@quereus/quereus": "^4.14.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/mocha": "^10.0.10",