orez 0.4.3 → 0.4.5
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/pg-proxy-do-backend.d.ts +5 -1
- package/dist/pg-proxy-do-backend.d.ts.map +1 -1
- package/dist/pg-proxy-do-backend.js +84 -19
- package/dist/pg-proxy-do-backend.js.map +1 -1
- package/dist/replication/change-tracker.d.ts +9 -0
- package/dist/replication/change-tracker.d.ts.map +1 -1
- package/dist/replication/change-tracker.js +15 -0
- package/dist/replication/change-tracker.js.map +1 -1
- package/dist/replication/handler.d.ts.map +1 -1
- package/dist/replication/handler.js +15 -12
- package/dist/replication/handler.js.map +1 -1
- package/dist/worker/shims/sqlite.d.ts +2 -0
- package/dist/worker/shims/sqlite.d.ts.map +1 -1
- package/dist/worker/shims/sqlite.js +108 -15
- package/dist/worker/shims/sqlite.js.map +1 -1
- package/package.json +2 -2
|
@@ -27,4 +27,13 @@ export declare function installTriggersOnShardTables(db: ChangeTrackingDb): Prom
|
|
|
27
27
|
export declare function getChangesSince(db: ChangeTrackingDb, watermark: number, limit?: number): Promise<ChangeRecord[]>;
|
|
28
28
|
export declare function purgeConsumedChanges(db: ChangeTrackingDb, watermark: number): Promise<number>;
|
|
29
29
|
export declare function getCurrentWatermark(db: ChangeTrackingDb): Promise<number>;
|
|
30
|
+
/**
|
|
31
|
+
* resume floor for a reconnecting streamer: one below the oldest still-pending
|
|
32
|
+
* change row. purge-on-stream deletes delivered rows, so the table itself is
|
|
33
|
+
* the durable record — anything remaining was NOT yet streamed, even when the
|
|
34
|
+
* streaming process died (DO teardown/eviction, page reload) while writers
|
|
35
|
+
* kept appending. an empty table means nothing is pending: resume from the
|
|
36
|
+
* current watermark.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getStreamResumeWatermark(db: ChangeTrackingDb): Promise<number>;
|
|
30
39
|
//# sourceMappingURL=change-tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CAClE;AAYD,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D/E;AAqFD,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAQ,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC,CAWzB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/E"}
|
|
1
|
+
{"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CAClE;AAYD,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D/E;AAqFD,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAQ,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC,CAWzB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/E;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOpF"}
|
|
@@ -211,4 +211,19 @@ export async function getCurrentWatermark(db) {
|
|
|
211
211
|
return 0;
|
|
212
212
|
return Number(last_value);
|
|
213
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* resume floor for a reconnecting streamer: one below the oldest still-pending
|
|
216
|
+
* change row. purge-on-stream deletes delivered rows, so the table itself is
|
|
217
|
+
* the durable record — anything remaining was NOT yet streamed, even when the
|
|
218
|
+
* streaming process died (DO teardown/eviction, page reload) while writers
|
|
219
|
+
* kept appending. an empty table means nothing is pending: resume from the
|
|
220
|
+
* current watermark.
|
|
221
|
+
*/
|
|
222
|
+
export async function getStreamResumeWatermark(db) {
|
|
223
|
+
const result = await db.query('SELECT MIN(watermark) AS lo FROM _orez._zero_changes');
|
|
224
|
+
const lo = result.rows[0]?.lo;
|
|
225
|
+
if (lo === null || lo === undefined)
|
|
226
|
+
return getCurrentWatermark(db);
|
|
227
|
+
return Number(lo) - 1;
|
|
228
|
+
}
|
|
214
229
|
//# sourceMappingURL=change-tracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-tracker.js","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"change-tracker.js","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/replication/handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/replication/handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0BH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AA4BlD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;;gBAI3C,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI;IAI9C,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM7B,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,KAAK,IAAI,IAAI;CAGd;AAwBD;2EAC2E;AAC3E,wBAAgB,uBAAuB,SAMtC;AAUD,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,IAAI,CAO5C;AAcD;;;GAGG;AACH,iBAAS,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,OAAO,EAAE,aAAa,EAAE,CAAA;AA+GxB,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAqBvD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA8E5B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,iBAAiB,EACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAmiBf;AAmPD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { log } from '../log.js';
|
|
9
9
|
const textEncoder = new TextEncoder();
|
|
10
|
-
import { getChangesSince, getCurrentWatermark, purgeConsumedChanges, installTriggersOnShardTables, } from './change-tracker.js';
|
|
10
|
+
import { getChangesSince, getCurrentWatermark, getStreamResumeWatermark, purgeConsumedChanges, installTriggersOnShardTables, } from './change-tracker.js';
|
|
11
11
|
import { encodeBegin, encodeCommit, encodeRelation, encodeInsert, encodeUpdate, encodeDelete, encodeKeepalive, encodeWrappedChange, getTableOid, inferColumns, } from './pgoutput-encoder.js';
|
|
12
12
|
// types pglite can't replicate — excluded from change tracking columns
|
|
13
13
|
const UNSUPPORTED_TYPES = new Set(['tsvector', 'tsquery', 'USER-DEFINED']);
|
|
@@ -346,22 +346,25 @@ export async function handleStartReplication(query, writer, db, mutex) {
|
|
|
346
346
|
// resume from where the previous handler left off to avoid
|
|
347
347
|
// replaying already-streamed changes after reconnect.
|
|
348
348
|
// when client supplied a NON-ZERO LSN (i.e. this is a reconnect to an
|
|
349
|
-
// existing slot with prior progress),
|
|
350
|
-
//
|
|
351
|
-
//
|
|
352
|
-
//
|
|
353
|
-
//
|
|
354
|
-
//
|
|
349
|
+
// existing slot with prior progress), bump lastStreamedWatermark to the
|
|
350
|
+
// stream-resume floor: one below the oldest still-pending _zero_changes
|
|
351
|
+
// row. purge-on-stream deletes delivered rows, so remaining rows were NOT
|
|
352
|
+
// streamed — jumping to the current sequence value instead (the old
|
|
353
|
+
// behavior) silently skipped every row written while the streaming process
|
|
354
|
+
// was down (DO teardown/eviction, page reload) and those writes never
|
|
355
|
+
// reached the replica. `0/0` indicates "fresh slot" and must NOT trigger
|
|
356
|
+
// this jump, otherwise we'd skip rows that legitimately need to be
|
|
357
|
+
// streamed for the initial sync.
|
|
355
358
|
if (clientStartLsn !== null && clientStartLsn > 0n) {
|
|
356
359
|
try {
|
|
357
|
-
const
|
|
358
|
-
if (
|
|
359
|
-
log.debug.repl(`advancing lastStreamedWatermark ${lastStreamedWatermark} → ${
|
|
360
|
-
lastStreamedWatermark =
|
|
360
|
+
const resumeWm = await getStreamResumeWatermark(db);
|
|
361
|
+
if (resumeWm > lastStreamedWatermark) {
|
|
362
|
+
log.debug.repl(`advancing lastStreamedWatermark ${lastStreamedWatermark} → ${resumeWm} on reconnect`);
|
|
363
|
+
lastStreamedWatermark = resumeWm;
|
|
361
364
|
}
|
|
362
365
|
}
|
|
363
366
|
catch (err) {
|
|
364
|
-
log.repl(`
|
|
367
|
+
log.repl(`getStreamResumeWatermark failed on reconnect: ${err?.message || err}`);
|
|
365
368
|
}
|
|
366
369
|
}
|
|
367
370
|
let lastWatermark = lastStreamedWatermark;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/replication/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/replication/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,7 +75,9 @@ export declare class Database {
|
|
|
75
75
|
get open(): boolean;
|
|
76
76
|
get inTransaction(): boolean;
|
|
77
77
|
_execTransactionAware(sql: string, sqlStorage: SqlStorageLike): SqlStorageCursor;
|
|
78
|
+
_cowTable(table: string): void;
|
|
78
79
|
_rewriteForSnapshot(sql: string): string;
|
|
80
|
+
_cowForWrite(sql: string): void;
|
|
79
81
|
/** prepare a statement */
|
|
80
82
|
prepare<T = Record<string, SqlStorageValue>>(sql: string): Statement<T>;
|
|
81
83
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/sqlite.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,CAAA;AAElE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAA;IACrE,0EAA0E;IAC1E,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CACpC;AAOD,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,EAAE,MAAM,CAAA;gBAEA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAK1C;AAID,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -271,6 +271,34 @@ function maybeZeroIntrospectionCursor(sqlStorage, sql, values) {
|
|
|
271
271
|
function snapshotTableName(prefix, table) {
|
|
272
272
|
return `${prefix}_${table.replace(/[^A-Za-z0-9_]/g, '_')}`;
|
|
273
273
|
}
|
|
274
|
+
// copy one table's current rows into a snapshot table, recreating the original
|
|
275
|
+
// table's columns + indexes so reads against the copy use the same query plan
|
|
276
|
+
// (an index-less `CREATE TABLE AS SELECT` forces full scans on every read).
|
|
277
|
+
function copyTableToSnapshot(sql, source, snapshot) {
|
|
278
|
+
const createRow = execSql(sql, `SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?`, [source], 'snapshot.schema').toArray()[0];
|
|
279
|
+
const createSql = createRow ? String(createRow.sql ?? '') : '';
|
|
280
|
+
// rewrite the source table name in its own CREATE statement to the snapshot
|
|
281
|
+
// name, preserving column types/constraints, then copy rows + indexes.
|
|
282
|
+
const snapCreate = createSql
|
|
283
|
+
? replaceIdentifierOutsideLiterals(createSql, source, snapshot)
|
|
284
|
+
: `CREATE TABLE ${quoteIdentifier(snapshot)} AS SELECT * FROM ${quoteIdentifier(source)}`;
|
|
285
|
+
execSql(sql, snapCreate, [], 'snapshot.create');
|
|
286
|
+
if (createSql) {
|
|
287
|
+
execSql(sql, `INSERT INTO ${quoteIdentifier(snapshot)} SELECT * FROM ${quoteIdentifier(source)}`, [], 'snapshot.fill');
|
|
288
|
+
const indexes = execSql(sql, `SELECT sql FROM sqlite_master WHERE type = 'index' AND tbl_name = ? AND sql IS NOT NULL`, [source], 'snapshot.index-list').toArray();
|
|
289
|
+
for (const idx of indexes) {
|
|
290
|
+
const idxSql = String(idx.sql ?? '');
|
|
291
|
+
if (!idxSql)
|
|
292
|
+
continue;
|
|
293
|
+
// index names must be unique; prefix them into the snapshot namespace too.
|
|
294
|
+
const rewritten = replaceIdentifierOutsideLiterals(idxSql, source, snapshot);
|
|
295
|
+
try {
|
|
296
|
+
execSql(sql, rewritten.replace(/CREATE\s+(UNIQUE\s+)?INDEX\s+("?)([A-Za-z_][\w.]*)\2/i, (_m, uniq = '', _q, name) => `CREATE ${uniq || ''}INDEX ${quoteIdentifier(`${snapshot}__${name}`)}`), [], 'snapshot.index');
|
|
297
|
+
}
|
|
298
|
+
catch { }
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
274
302
|
function isSnapshotInternalTable(name) {
|
|
275
303
|
return name.startsWith('_orez_snapshot_');
|
|
276
304
|
}
|
|
@@ -311,6 +339,47 @@ function shouldSnapshotTable(name) {
|
|
|
311
339
|
!name.startsWith('_cf_') &&
|
|
312
340
|
!isSnapshotInternalTable(name));
|
|
313
341
|
}
|
|
342
|
+
// -- copy-on-write snapshot registry --
|
|
343
|
+
//
|
|
344
|
+
// zero's view-syncer reader opens `BEGIN CONCURRENT` to hold a stable read view
|
|
345
|
+
// of the replica while the inline replica-writer applies changes concurrently
|
|
346
|
+
// (both run in the same DO isolate, the writer only at await boundaries). DO
|
|
347
|
+
// SQLite has no `BEGIN CONCURRENT` / read-snapshot primitive, so we emulate one.
|
|
348
|
+
//
|
|
349
|
+
// the original emulation eagerly copied EVERY table on snapshot open
|
|
350
|
+
// (`CREATE TABLE _snap AS SELECT * FROM t`) — O(replica) per reader per advance,
|
|
351
|
+
// and the copies had no indexes so every hydration read full-scanned them
|
|
352
|
+
// (measured: ~50x row-read amplification, minutes to hydrate a ~2400-row replica).
|
|
353
|
+
//
|
|
354
|
+
// instead we copy-on-write: a reader's snapshot starts EMPTY and reads live,
|
|
355
|
+
// fully-indexed tables. only when the replica-writer is about to mutate table X
|
|
356
|
+
// do we copy X (with its schema + indexes) into each open reader's snapshot so
|
|
357
|
+
// that reader keeps seeing X's pre-write rows. since writes are rare during a
|
|
358
|
+
// hydration, readers almost always hit the live indexed tables.
|
|
359
|
+
const openReaderSnapshots = new Set();
|
|
360
|
+
// parse the target table of a writer DML/DDL statement so the writer can
|
|
361
|
+
// copy-on-write that table for open readers before mutating it. matches the
|
|
362
|
+
// statement shapes zero's change-processor emits (INSERT OR REPLACE INTO,
|
|
363
|
+
// UPDATE, DELETE FROM, ALTER TABLE, DROP TABLE, CREATE TABLE/INDEX).
|
|
364
|
+
// only writes that mutate an EXISTING table need copy-on-write. CREATE TABLE
|
|
365
|
+
// makes a brand-new table no open reader snapshot ever referenced, so it is
|
|
366
|
+
// intentionally excluded (and copying a not-yet-existing table would throw).
|
|
367
|
+
const WRITE_TABLE_RE = /^\s*(?:INSERT(?:\s+OR\s+\w+)?\s+INTO|UPDATE(?:\s+OR\s+\w+)?|DELETE\s+FROM|ALTER\s+TABLE|DROP\s+TABLE(?:\s+IF\s+EXISTS)?)\s+("?)([A-Za-z_][\w.]*)\1/i;
|
|
368
|
+
function writeTargetTable(sql) {
|
|
369
|
+
const m = WRITE_TABLE_RE.exec(sql);
|
|
370
|
+
if (!m)
|
|
371
|
+
return undefined;
|
|
372
|
+
const name = m[2];
|
|
373
|
+
return shouldSnapshotTable(name) ? name : undefined;
|
|
374
|
+
}
|
|
375
|
+
// before the writer mutates `table`, freeze its current rows for every open
|
|
376
|
+
// reader snapshot that hasn't already copied it.
|
|
377
|
+
function cowOpenReadersBeforeWrite(table) {
|
|
378
|
+
if (openReaderSnapshots.size === 0)
|
|
379
|
+
return;
|
|
380
|
+
for (const reader of openReaderSnapshots)
|
|
381
|
+
reader._cowTable(table);
|
|
382
|
+
}
|
|
314
383
|
function currentConnectionRole() {
|
|
315
384
|
return globalThis.__orez_zero_sqlite_role === 'replica-writer'
|
|
316
385
|
? 'replica-writer'
|
|
@@ -493,6 +562,8 @@ export class Statement {
|
|
|
493
562
|
const resolved = this.#resolveParams(params);
|
|
494
563
|
const sql = this.#db._rewriteForSnapshot(resolved.sql);
|
|
495
564
|
const values = resolved.values;
|
|
565
|
+
if (!isTxCmd)
|
|
566
|
+
this.#db._cowForWrite(sql);
|
|
496
567
|
const cursor = isTxCmd && values.length === 0
|
|
497
568
|
? this.#db._execTransactionAware(sql, this.#sql)
|
|
498
569
|
: execSql(this.#sql, sql, values, 'statement.run');
|
|
@@ -581,6 +652,7 @@ export class Database {
|
|
|
581
652
|
#inTransaction;
|
|
582
653
|
#snapshotTables;
|
|
583
654
|
#snapshotPrefix;
|
|
655
|
+
#snapshotPrefixActive;
|
|
584
656
|
#snapshotCounter;
|
|
585
657
|
#connectionRole;
|
|
586
658
|
constructor(sqlOrFilename, _options) {
|
|
@@ -603,6 +675,7 @@ export class Database {
|
|
|
603
675
|
this.#inTransaction = false;
|
|
604
676
|
this.#snapshotTables = null;
|
|
605
677
|
this.#snapshotPrefix = createSnapshotPrefix();
|
|
678
|
+
this.#snapshotPrefixActive = this.#snapshotPrefix;
|
|
606
679
|
this.#snapshotCounter = 0;
|
|
607
680
|
this.#connectionRole = currentConnectionRole();
|
|
608
681
|
activeSnapshotPrefixes.add(this.#snapshotPrefix);
|
|
@@ -695,24 +768,31 @@ export class Database {
|
|
|
695
768
|
}
|
|
696
769
|
return execSql(sqlStorage, sql, [], 'transaction.statement');
|
|
697
770
|
}
|
|
771
|
+
// open a copy-on-write snapshot: start with NO copies (reads hit the live,
|
|
772
|
+
// indexed tables) and register so the replica-writer can freeze a table for
|
|
773
|
+
// this reader right before mutating it. see openReaderSnapshots above.
|
|
698
774
|
#beginSnapshot() {
|
|
699
775
|
this.#dropSnapshot();
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
776
|
+
this.#snapshotPrefixActive = `${this.#snapshotPrefix}_${++this.#snapshotCounter}`;
|
|
777
|
+
this.#snapshotTables = new Map();
|
|
778
|
+
openReaderSnapshots.add(this);
|
|
779
|
+
}
|
|
780
|
+
// copy `table`'s current rows into this reader's snapshot the first time the
|
|
781
|
+
// writer touches it while the snapshot is open. called by the writer via
|
|
782
|
+
// cowOpenReadersBeforeWrite() BEFORE the mutation is applied.
|
|
783
|
+
_cowTable(table) {
|
|
784
|
+
const tables = this.#snapshotTables;
|
|
785
|
+
if (!tables || tables.has(table) || !shouldSnapshotTable(table))
|
|
786
|
+
return;
|
|
787
|
+
const exists = execSql(this.#sql, `SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?`, [table], 'snapshot.exists').toArray();
|
|
788
|
+
if (exists.length === 0)
|
|
789
|
+
return;
|
|
790
|
+
const snapshot = snapshotTableName(this.#snapshotPrefixActive, table);
|
|
791
|
+
copyTableToSnapshot(this.#sql, table, snapshot);
|
|
792
|
+
tables.set(table, snapshot);
|
|
714
793
|
}
|
|
715
794
|
#dropSnapshot() {
|
|
795
|
+
openReaderSnapshots.delete(this);
|
|
716
796
|
const tables = this.#snapshotTables;
|
|
717
797
|
if (!tables)
|
|
718
798
|
return;
|
|
@@ -729,6 +809,17 @@ export class Database {
|
|
|
729
809
|
return sql;
|
|
730
810
|
return rewriteSQLTables(sql, this.#snapshotTables);
|
|
731
811
|
}
|
|
812
|
+
// when the replica-writer is about to mutate a table, freeze it for any open
|
|
813
|
+
// reader snapshot first (copy-on-write). reader connections never mutate live
|
|
814
|
+
// tables, so this only fires from the writer's connection.
|
|
815
|
+
_cowForWrite(sql) {
|
|
816
|
+
if (this.#connectionRole !== 'replica-writer' || openReaderSnapshots.size === 0) {
|
|
817
|
+
return;
|
|
818
|
+
}
|
|
819
|
+
const table = writeTargetTable(sql);
|
|
820
|
+
if (table)
|
|
821
|
+
cowOpenReadersBeforeWrite(table);
|
|
822
|
+
}
|
|
732
823
|
/** prepare a statement */
|
|
733
824
|
prepare(sql) {
|
|
734
825
|
if (!this.#open) {
|
|
@@ -855,7 +946,9 @@ export class Database {
|
|
|
855
946
|
this._execTransactionAware(stmt, this.#sql);
|
|
856
947
|
}
|
|
857
948
|
else {
|
|
858
|
-
|
|
949
|
+
const rewritten = this._rewriteForSnapshot(stmt);
|
|
950
|
+
this._cowForWrite(rewritten);
|
|
951
|
+
execSql(this.#sql, rewritten, [], 'database.exec');
|
|
859
952
|
}
|
|
860
953
|
}
|
|
861
954
|
return this;
|