@quereus/isolation 0.2.3 → 0.3.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/README.md +1 -1
- package/dist/src/isolated-table.d.ts +35 -4
- package/dist/src/isolated-table.d.ts.map +1 -1
- package/dist/src/isolated-table.js +137 -20
- package/dist/src/isolated-table.js.map +1 -1
- package/dist/src/isolation-module.d.ts +4 -0
- package/dist/src/isolation-module.d.ts.map +1 -1
- package/dist/src/isolation-module.js +10 -2
- package/dist/src/isolation-module.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -191,7 +191,7 @@ console.log(caps.persistent); // (from underlying module)
|
|
|
191
191
|
The isolation layer adds minimal overhead:
|
|
192
192
|
|
|
193
193
|
- **Fast path** — No overlay merging if no writes have occurred
|
|
194
|
-
- **Point lookups** — O(
|
|
194
|
+
- **Point lookups** — Currently O(n) full scan (PK point lookup optimization planned)
|
|
195
195
|
- **Range scans** — Streaming merge of sorted results
|
|
196
196
|
|
|
197
197
|
For performance-critical applications, consider:
|
|
@@ -21,6 +21,12 @@ export declare class IsolatedTable extends VirtualTable implements IsolatedTable
|
|
|
21
21
|
private readonly isolationModule;
|
|
22
22
|
private readonly underlyingTable;
|
|
23
23
|
private registeredConnection;
|
|
24
|
+
/**
|
|
25
|
+
* Tracks savepoint depths that were created before the overlay existed.
|
|
26
|
+
* When rolling back to one of these savepoints, the overlay is cleared
|
|
27
|
+
* entirely (restoring the "no uncommitted changes" state).
|
|
28
|
+
*/
|
|
29
|
+
private savepointsBeforeOverlay;
|
|
24
30
|
constructor(db: Database, module: IsolationModule, underlyingTable: VirtualTable);
|
|
25
31
|
/**
|
|
26
32
|
* Gets the tombstone column name from the module.
|
|
@@ -81,13 +87,25 @@ export declare class IsolatedTable extends VirtualTable implements IsolatedTable
|
|
|
81
87
|
/**
|
|
82
88
|
* Performs merged query combining overlay and underlying data.
|
|
83
89
|
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* same order (by PK for primary scans, by index key for secondary index scans).
|
|
90
|
+
* For primary key scans: uses position-based merge since both streams share
|
|
91
|
+
* the same sort order and overlay entries align with underlying rows by PK.
|
|
87
92
|
*
|
|
88
|
-
*
|
|
93
|
+
* For secondary index scans: uses PK-exclusion approach because overlay entries
|
|
94
|
+
* may have different index key values than the underlying rows they shadow
|
|
95
|
+
* (tombstones have null non-PK columns; updates may change the indexed column).
|
|
89
96
|
*/
|
|
90
97
|
private mergedQuery;
|
|
98
|
+
/**
|
|
99
|
+
* Merged query strategy for secondary index scans.
|
|
100
|
+
*
|
|
101
|
+
* Instead of position-based merging (which fails when overlay entries have
|
|
102
|
+
* different index key values than the underlying rows they shadow), this:
|
|
103
|
+
* 1. Collects all PKs modified in the overlay (full scan)
|
|
104
|
+
* 2. Queries underlying via secondary index, excluding modified PKs
|
|
105
|
+
* 3. Queries overlay via secondary index for non-tombstone data rows
|
|
106
|
+
* 4. Merges the two disjoint, sorted streams by sort key
|
|
107
|
+
*/
|
|
108
|
+
private mergedSecondaryIndexQuery;
|
|
91
109
|
/**
|
|
92
110
|
* Parses FilterInfo to determine which index is being used.
|
|
93
111
|
* Returns null for full table scan or primary key scan, index name for secondary indexes.
|
|
@@ -207,6 +225,15 @@ export declare class IsolatedTable extends VirtualTable implements IsolatedTable
|
|
|
207
225
|
onConnectionRollback(): Promise<void>;
|
|
208
226
|
/**
|
|
209
227
|
* Called by IsolatedConnection when a savepoint is created.
|
|
228
|
+
*
|
|
229
|
+
* When the overlay exists, its own registered MemoryVirtualTableConnection
|
|
230
|
+
* receives createSavepoint from the database's connection iteration.
|
|
231
|
+
* Calling overlayTable.savepoint() here too would double-push onto the
|
|
232
|
+
* same savepointStack, corrupting the depth-to-index mapping.
|
|
233
|
+
*
|
|
234
|
+
* When the overlay does NOT exist (savepoint before first write), we
|
|
235
|
+
* record the depth so that a later rollbackToSavepoint can clear the
|
|
236
|
+
* overlay if one was created after the savepoint.
|
|
210
237
|
*/
|
|
211
238
|
onConnectionSavepoint(index: number): Promise<void>;
|
|
212
239
|
/**
|
|
@@ -215,6 +242,10 @@ export declare class IsolatedTable extends VirtualTable implements IsolatedTable
|
|
|
215
242
|
onConnectionReleaseSavepoint(index: number): Promise<void>;
|
|
216
243
|
/**
|
|
217
244
|
* Called by IsolatedConnection when rolling back to a savepoint.
|
|
245
|
+
*
|
|
246
|
+
* If the target savepoint was created before the overlay existed,
|
|
247
|
+
* the overlay's registered connection has no snapshot to restore —
|
|
248
|
+
* so we clear the overlay entirely, restoring "no uncommitted changes".
|
|
218
249
|
*/
|
|
219
250
|
onConnectionRollbackToSavepoint(index: number): Promise<void>;
|
|
220
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated-table.d.ts","sourceRoot":"","sources":["../../src/isolated-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,YAAY,EAAE,GAAG,EAAY,gBAAgB,IAAI,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjN,OAAO,EAAE,YAAY,EAAgC,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAW1F;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,qBAAqB;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAE/C,OAAO,CAAC,oBAAoB,CAAmC;
|
|
1
|
+
{"version":3,"file":"isolated-table.d.ts","sourceRoot":"","sources":["../../src/isolated-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,12 @@ export class IsolatedTable extends VirtualTable {
|
|
|
20
20
|
isolationModule;
|
|
21
21
|
underlyingTable;
|
|
22
22
|
registeredConnection = null;
|
|
23
|
+
/**
|
|
24
|
+
* Tracks savepoint depths that were created before the overlay existed.
|
|
25
|
+
* When rolling back to one of these savepoints, the overlay is cleared
|
|
26
|
+
* entirely (restoring the "no uncommitted changes" state).
|
|
27
|
+
*/
|
|
28
|
+
savepointsBeforeOverlay = new Set();
|
|
23
29
|
constructor(db, module, underlyingTable) {
|
|
24
30
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
31
|
super(db, module, underlyingTable.schemaName, underlyingTable.tableName);
|
|
@@ -86,14 +92,12 @@ export class IsolatedTable extends VirtualTable {
|
|
|
86
92
|
this.tableSchema = schema;
|
|
87
93
|
// Create overlay schema with tombstone column
|
|
88
94
|
const overlaySchema = this.isolationModule.createOverlaySchema(schema);
|
|
89
|
-
// Create the overlay table
|
|
95
|
+
// Create the overlay table.
|
|
96
|
+
// overlaySchema already contains indexes (copied from the base schema by
|
|
97
|
+
// createOverlaySchema), so the overlay's BaseLayer initialises all secondary
|
|
98
|
+
// indexes from the schema during construction. No explicit createIndex loop
|
|
99
|
+
// is needed, and calling it would throw a "duplicate index" error.
|
|
90
100
|
const overlayTable = await this.isolationModule.overlayModule.create(this.db, overlaySchema);
|
|
91
|
-
// Create indexes on overlay to match underlying
|
|
92
|
-
if (schema.indexes) {
|
|
93
|
-
for (const index of schema.indexes) {
|
|
94
|
-
await overlayTable.createIndex?.(index);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
101
|
// Store in connection-scoped storage
|
|
98
102
|
const state = {
|
|
99
103
|
overlayTable,
|
|
@@ -173,30 +177,91 @@ export class IsolatedTable extends VirtualTable {
|
|
|
173
177
|
/**
|
|
174
178
|
* Performs merged query combining overlay and underlying data.
|
|
175
179
|
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* same order (by PK for primary scans, by index key for secondary index scans).
|
|
180
|
+
* For primary key scans: uses position-based merge since both streams share
|
|
181
|
+
* the same sort order and overlay entries align with underlying rows by PK.
|
|
179
182
|
*
|
|
180
|
-
*
|
|
183
|
+
* For secondary index scans: uses PK-exclusion approach because overlay entries
|
|
184
|
+
* may have different index key values than the underlying rows they shadow
|
|
185
|
+
* (tombstones have null non-PK columns; updates may change the indexed column).
|
|
181
186
|
*/
|
|
182
187
|
async *mergedQuery(filterInfo) {
|
|
183
188
|
const overlay = this.overlayTable;
|
|
184
189
|
if (!overlay) {
|
|
185
|
-
// No overlay - just yield from underlying
|
|
186
190
|
yield* this.underlyingTable.query(filterInfo);
|
|
187
191
|
return;
|
|
188
192
|
}
|
|
189
|
-
// Determine which index is being used
|
|
190
193
|
const indexInfo = this.parseIndexFromFilterInfo(filterInfo);
|
|
191
|
-
|
|
194
|
+
if (indexInfo.type === 'secondary') {
|
|
195
|
+
yield* this.mergedSecondaryIndexQuery(overlay, filterInfo, indexInfo);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
// Primary key scan - use standard sort-key merge
|
|
192
199
|
const overlayFilterInfo = this.adaptFilterInfoForOverlay(filterInfo);
|
|
193
200
|
const overlayStream = this.queryOverlayAsMergeEntries(overlay, overlayFilterInfo, indexInfo);
|
|
194
|
-
// Query underlying with original filterInfo
|
|
195
201
|
const underlyingStream = this.underlyingTable.query(filterInfo);
|
|
196
|
-
// Build merge config with appropriate sort key functions
|
|
197
202
|
const mergeConfig = this.buildMergeConfig(indexInfo);
|
|
198
203
|
yield* mergeStreams(overlayStream, underlyingStream, mergeConfig);
|
|
199
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Merged query strategy for secondary index scans.
|
|
207
|
+
*
|
|
208
|
+
* Instead of position-based merging (which fails when overlay entries have
|
|
209
|
+
* different index key values than the underlying rows they shadow), this:
|
|
210
|
+
* 1. Collects all PKs modified in the overlay (full scan)
|
|
211
|
+
* 2. Queries underlying via secondary index, excluding modified PKs
|
|
212
|
+
* 3. Queries overlay via secondary index for non-tombstone data rows
|
|
213
|
+
* 4. Merges the two disjoint, sorted streams by sort key
|
|
214
|
+
*/
|
|
215
|
+
async *mergedSecondaryIndexQuery(overlay, filterInfo, indexInfo) {
|
|
216
|
+
if (!overlay.query) {
|
|
217
|
+
yield* this.underlyingTable.query(filterInfo);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const pkIndices = this.getPrimaryKeyIndices();
|
|
221
|
+
const tombstoneIndex = this.getTombstoneColumnIndex(overlay);
|
|
222
|
+
// Step 1: Collect all PKs modified in overlay (full scan)
|
|
223
|
+
const modifiedPKs = new Set();
|
|
224
|
+
for await (const row of overlay.query(this.createFullScanFilterInfo())) {
|
|
225
|
+
const pk = pkIndices.map(i => row[i]);
|
|
226
|
+
modifiedPKs.add(JSON.stringify(pk));
|
|
227
|
+
}
|
|
228
|
+
// Step 2: Query overlay via secondary index for non-tombstone data rows
|
|
229
|
+
const overlayFilterInfo = this.adaptFilterInfoForOverlay(filterInfo);
|
|
230
|
+
const overlayRows = [];
|
|
231
|
+
for await (const row of overlay.query(overlayFilterInfo)) {
|
|
232
|
+
if (row[tombstoneIndex] !== 1) {
|
|
233
|
+
overlayRows.push(row.slice(0, tombstoneIndex));
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Step 3: Query underlying via secondary index, filter out modified PKs
|
|
237
|
+
const mergeConfig = this.buildMergeConfig(indexInfo);
|
|
238
|
+
const compareSortKey = mergeConfig.compareSortKey ?? mergeConfig.comparePK;
|
|
239
|
+
const extractSortKey = mergeConfig.extractSortKey ?? mergeConfig.extractPK;
|
|
240
|
+
// Merge two sorted, disjoint streams
|
|
241
|
+
let oi = 0;
|
|
242
|
+
for await (const underlyingRow of this.underlyingTable.query(filterInfo)) {
|
|
243
|
+
const pk = pkIndices.map(i => underlyingRow[i]);
|
|
244
|
+
if (modifiedPKs.has(JSON.stringify(pk))) {
|
|
245
|
+
continue; // Skip rows modified in overlay
|
|
246
|
+
}
|
|
247
|
+
// Yield any overlay rows that sort before this underlying row
|
|
248
|
+
while (oi < overlayRows.length) {
|
|
249
|
+
const oKey = extractSortKey(overlayRows[oi]);
|
|
250
|
+
const uKey = extractSortKey(underlyingRow);
|
|
251
|
+
if (compareSortKey(oKey, uKey) <= 0) {
|
|
252
|
+
yield overlayRows[oi++];
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
yield underlyingRow;
|
|
259
|
+
}
|
|
260
|
+
// Yield remaining overlay rows
|
|
261
|
+
while (oi < overlayRows.length) {
|
|
262
|
+
yield overlayRows[oi++];
|
|
263
|
+
}
|
|
264
|
+
}
|
|
200
265
|
/**
|
|
201
266
|
* Parses FilterInfo to determine which index is being used.
|
|
202
267
|
* Returns null for full table scan or primary key scan, index name for secondary indexes.
|
|
@@ -408,7 +473,30 @@ export class IsolatedTable extends VirtualTable {
|
|
|
408
473
|
const tombstoneIndex = this.getTombstoneColumnIndex(overlay);
|
|
409
474
|
switch (operation) {
|
|
410
475
|
case 'insert': {
|
|
411
|
-
//
|
|
476
|
+
// Check if there's an existing tombstone in the overlay for this PK.
|
|
477
|
+
// This happens when a row is deleted then re-inserted with the same PK.
|
|
478
|
+
// In that case, convert the tombstone to a regular row (update) instead
|
|
479
|
+
// of inserting, which would fail with a UNIQUE constraint violation.
|
|
480
|
+
const pkIndices = this.getPrimaryKeyIndices();
|
|
481
|
+
const pk = values ? pkIndices.map(i => values[i]) : undefined;
|
|
482
|
+
if (pk) {
|
|
483
|
+
const existingRow = await this.getOverlayRow(overlay, pk);
|
|
484
|
+
if (existingRow && existingRow[tombstoneIndex] === 1) {
|
|
485
|
+
// Convert tombstone to regular row
|
|
486
|
+
const overlayRow = [...(values ?? []), 0];
|
|
487
|
+
const result = await overlay.update({
|
|
488
|
+
operation: 'update',
|
|
489
|
+
values: overlayRow,
|
|
490
|
+
oldKeyValues: pk,
|
|
491
|
+
onConflict: args.onConflict,
|
|
492
|
+
});
|
|
493
|
+
if (isUpdateOk(result) && result.row) {
|
|
494
|
+
return { status: 'ok', row: result.row.slice(0, tombstoneIndex) };
|
|
495
|
+
}
|
|
496
|
+
return result;
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
// Normal insert into overlay with tombstone = 0
|
|
412
500
|
const overlayRow = [...(values ?? []), 0]; // Append tombstone = 0
|
|
413
501
|
const result = await overlay.update({
|
|
414
502
|
...args,
|
|
@@ -775,6 +863,7 @@ export class IsolatedTable extends VirtualTable {
|
|
|
775
863
|
await this.flushOverlayToUnderlying(overlay);
|
|
776
864
|
}
|
|
777
865
|
await this.clearOverlay();
|
|
866
|
+
this.savepointsBeforeOverlay.clear();
|
|
778
867
|
}
|
|
779
868
|
/**
|
|
780
869
|
* Called by IsolatedConnection when the database rolls back.
|
|
@@ -782,24 +871,52 @@ export class IsolatedTable extends VirtualTable {
|
|
|
782
871
|
*/
|
|
783
872
|
async onConnectionRollback() {
|
|
784
873
|
await this.clearOverlay();
|
|
874
|
+
this.savepointsBeforeOverlay.clear();
|
|
785
875
|
}
|
|
786
876
|
/**
|
|
787
877
|
* Called by IsolatedConnection when a savepoint is created.
|
|
878
|
+
*
|
|
879
|
+
* When the overlay exists, its own registered MemoryVirtualTableConnection
|
|
880
|
+
* receives createSavepoint from the database's connection iteration.
|
|
881
|
+
* Calling overlayTable.savepoint() here too would double-push onto the
|
|
882
|
+
* same savepointStack, corrupting the depth-to-index mapping.
|
|
883
|
+
*
|
|
884
|
+
* When the overlay does NOT exist (savepoint before first write), we
|
|
885
|
+
* record the depth so that a later rollbackToSavepoint can clear the
|
|
886
|
+
* overlay if one was created after the savepoint.
|
|
788
887
|
*/
|
|
789
888
|
async onConnectionSavepoint(index) {
|
|
790
|
-
|
|
889
|
+
if (!this.overlayTable) {
|
|
890
|
+
this.savepointsBeforeOverlay.add(index);
|
|
891
|
+
}
|
|
892
|
+
// If overlay exists, its registered connection handles it
|
|
791
893
|
}
|
|
792
894
|
/**
|
|
793
895
|
* Called by IsolatedConnection when a savepoint is released.
|
|
794
896
|
*/
|
|
795
897
|
async onConnectionReleaseSavepoint(index) {
|
|
796
|
-
|
|
898
|
+
this.savepointsBeforeOverlay.delete(index);
|
|
899
|
+
// If overlay exists, its registered connection handles it
|
|
797
900
|
}
|
|
798
901
|
/**
|
|
799
902
|
* Called by IsolatedConnection when rolling back to a savepoint.
|
|
903
|
+
*
|
|
904
|
+
* If the target savepoint was created before the overlay existed,
|
|
905
|
+
* the overlay's registered connection has no snapshot to restore —
|
|
906
|
+
* so we clear the overlay entirely, restoring "no uncommitted changes".
|
|
800
907
|
*/
|
|
801
908
|
async onConnectionRollbackToSavepoint(index) {
|
|
802
|
-
|
|
909
|
+
if (this.savepointsBeforeOverlay.has(index)) {
|
|
910
|
+
// Rolling back to before the overlay existed — discard all overlay changes
|
|
911
|
+
await this.clearOverlay();
|
|
912
|
+
// Remove savepoints above the target (they're implicitly gone)
|
|
913
|
+
for (const depth of [...this.savepointsBeforeOverlay]) {
|
|
914
|
+
if (depth > index) {
|
|
915
|
+
this.savepointsBeforeOverlay.delete(depth);
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
// If overlay's registered connection has this savepoint, it handles rollback
|
|
803
920
|
}
|
|
804
921
|
}
|
|
805
922
|
//# sourceMappingURL=isolated-table.js.map
|
|
@@ -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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"}
|
|
@@ -121,6 +121,10 @@ export declare class IsolationModule implements VirtualTableModule<IsolatedTable
|
|
|
121
121
|
*
|
|
122
122
|
* Note: Indexes on per-connection overlays are created lazily when the
|
|
123
123
|
* overlay is created, by copying from the underlying table's schema.
|
|
124
|
+
*
|
|
125
|
+
* We use the stored table instance's createIndex() rather than the module-level
|
|
126
|
+
* method so that the MemoryTable's local tableSchema property stays in sync.
|
|
127
|
+
* That property is what ensureOverlay() reads when building the overlay schema.
|
|
124
128
|
*/
|
|
125
129
|
createIndex(db: Database, schemaName: string, tableName: string, indexSchema: IndexSchema): Promise<void>;
|
|
126
130
|
/**
|
|
@@ -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,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEpN,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,eAAe,EAAE,YAAY,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,eAAgB,YAAW,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAC1F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAE5E;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;gBAEpE,MAAM,EAAE,qBAAqB;IAMzC;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAK3F;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAK7G;;OAEG;IACH,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAK9G;;;OAGG;IACH,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKjF;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAShC,yDAAyD;IACzD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAmC;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAK;IAE5B,OAAO,CAAC,OAAO;IASf;;OAEG;IACH,eAAe,IAAI,kBAAkB;IASrC;;;;OAIG;IACH,iBAAiB,CAChB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,qBAAqB,GAC5B,oBAAoB;IAavB;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAY5E;;;;;;;;OAQG;IACG,OAAO,CACZ,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,EACzB,WAAW,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,aAAa,CAAC;IAmBzB;;OAEG;IACG,OAAO,CACZ,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAKhB
|
|
1
|
+
{"version":3,"file":"isolation-module.d.ts","sourceRoot":"","sources":["../../src/isolation-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,10 +186,18 @@ export class IsolationModule {
|
|
|
186
186
|
*
|
|
187
187
|
* Note: Indexes on per-connection overlays are created lazily when the
|
|
188
188
|
* overlay is created, by copying from the underlying table's schema.
|
|
189
|
+
*
|
|
190
|
+
* We use the stored table instance's createIndex() rather than the module-level
|
|
191
|
+
* method so that the MemoryTable's local tableSchema property stays in sync.
|
|
192
|
+
* That property is what ensureOverlay() reads when building the overlay schema.
|
|
189
193
|
*/
|
|
190
194
|
async createIndex(db, schemaName, tableName, indexSchema) {
|
|
191
|
-
|
|
192
|
-
if (
|
|
195
|
+
const state = this.getUnderlyingState(schemaName, tableName);
|
|
196
|
+
if (state?.underlyingTable.createIndex) {
|
|
197
|
+
// Instance-level createIndex keeps MemoryTable.tableSchema fresh
|
|
198
|
+
await state.underlyingTable.createIndex(indexSchema);
|
|
199
|
+
}
|
|
200
|
+
else if (this.underlying.createIndex) {
|
|
193
201
|
await this.underlying.createIndex(db, schemaName, tableName, indexSchema);
|
|
194
202
|
}
|
|
195
203
|
}
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quereus/isolation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Generic transaction isolation layer for Quereus virtual table modules",
|
|
6
6
|
"keywords": [
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"test:single": "cd ../.. && node --import ./packages/quereus-isolation/register.mjs node_modules/mocha/bin/mocha.js --bail"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@quereus/quereus": "^0.
|
|
43
|
+
"@quereus/quereus": "^0.18.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@quereus/quereus": "*",
|