orez 0.9.7 → 0.10.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 +27 -19
- package/dist/config.d.ts +0 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -43
- package/dist/index.js.map +1 -1
- package/package.json +7 -71
- package/dist/cf-deploy/bundle.d.ts +0 -21
- package/dist/cf-deploy/bundle.d.ts.map +0 -1
- package/dist/cf-deploy/bundle.js +0 -347
- package/dist/cf-deploy/bundle.js.map +0 -1
- package/dist/cf-deploy/config.d.ts +0 -52
- package/dist/cf-deploy/config.d.ts.map +0 -1
- package/dist/cf-deploy/config.js +0 -23
- package/dist/cf-deploy/config.js.map +0 -1
- package/dist/cf-deploy/index.d.ts +0 -11
- package/dist/cf-deploy/index.d.ts.map +0 -1
- package/dist/cf-deploy/index.js +0 -17
- package/dist/cf-deploy/index.js.map +0 -1
- package/dist/cf-deploy/leaves.d.ts +0 -19
- package/dist/cf-deploy/leaves.d.ts.map +0 -1
- package/dist/cf-deploy/leaves.js +0 -109
- package/dist/cf-deploy/leaves.js.map +0 -1
- package/dist/cf-deploy/migration.d.ts +0 -40
- package/dist/cf-deploy/migration.d.ts.map +0 -1
- package/dist/cf-deploy/migration.js +0 -891
- package/dist/cf-deploy/migration.js.map +0 -1
- package/dist/cf-deploy/nativeMigrations.d.ts +0 -24
- package/dist/cf-deploy/nativeMigrations.d.ts.map +0 -1
- package/dist/cf-deploy/nativeMigrations.js +0 -185
- package/dist/cf-deploy/nativeMigrations.js.map +0 -1
- package/dist/cf-deploy/prune.d.ts +0 -14
- package/dist/cf-deploy/prune.d.ts.map +0 -1
- package/dist/cf-deploy/prune.js +0 -235
- package/dist/cf-deploy/prune.js.map +0 -1
- package/dist/cf-deploy/shims.d.ts +0 -13
- package/dist/cf-deploy/shims.d.ts.map +0 -1
- package/dist/cf-deploy/shims.js +0 -737
- package/dist/cf-deploy/shims.js.map +0 -1
- package/dist/cf-deploy/smoke.d.ts +0 -15
- package/dist/cf-deploy/smoke.d.ts.map +0 -1
- package/dist/cf-deploy/smoke.js +0 -141
- package/dist/cf-deploy/smoke.js.map +0 -1
- package/dist/cf-deploy/sources.d.ts +0 -9
- package/dist/cf-deploy/sources.d.ts.map +0 -1
- package/dist/cf-deploy/sources.js +0 -276
- package/dist/cf-deploy/sources.js.map +0 -1
- package/dist/cf-deploy/wrangler.d.ts +0 -6
- package/dist/cf-deploy/wrangler.d.ts.map +0 -1
- package/dist/cf-deploy/wrangler.js +0 -168
- package/dist/cf-deploy/wrangler.js.map +0 -1
- package/dist/cf-do/application-sql.d.ts +0 -49
- package/dist/cf-do/application-sql.d.ts.map +0 -1
- package/dist/cf-do/application-sql.js +0 -124
- package/dist/cf-do/application-sql.js.map +0 -1
- package/dist/cf-do/cdc.d.ts +0 -155
- package/dist/cf-do/cdc.d.ts.map +0 -1
- package/dist/cf-do/cdc.js +0 -719
- package/dist/cf-do/cdc.js.map +0 -1
- package/dist/cf-do/cursor-pull.d.ts +0 -27
- package/dist/cf-do/cursor-pull.d.ts.map +0 -1
- package/dist/cf-do/cursor-pull.js +0 -78
- package/dist/cf-do/cursor-pull.js.map +0 -1
- package/dist/cf-do/row-undo.d.ts +0 -36
- package/dist/cf-do/row-undo.d.ts.map +0 -1
- package/dist/cf-do/row-undo.js +0 -221
- package/dist/cf-do/row-undo.js.map +0 -1
- package/dist/cf-do/tx-journal.d.ts +0 -119
- package/dist/cf-do/tx-journal.d.ts.map +0 -1
- package/dist/cf-do/tx-journal.js +0 -718
- package/dist/cf-do/tx-journal.js.map +0 -1
- package/dist/cf-do/watermark.d.ts +0 -29
- package/dist/cf-do/watermark.d.ts.map +0 -1
- package/dist/cf-do/watermark.js +0 -105
- package/dist/cf-do/watermark.js.map +0 -1
- package/dist/cf-do/worker.d.ts +0 -287
- package/dist/cf-do/worker.d.ts.map +0 -1
- package/dist/cf-do/worker.js +0 -1961
- package/dist/cf-do/worker.js.map +0 -1
- package/dist/do-sql-tracking.d.ts +0 -104
- package/dist/do-sql-tracking.d.ts.map +0 -1
- package/dist/do-sql-tracking.js +0 -255
- package/dist/do-sql-tracking.js.map +0 -1
- package/dist/pg-proxy-do-backend.d.ts +0 -211
- package/dist/pg-proxy-do-backend.d.ts.map +0 -1
- package/dist/pg-proxy-do-backend.js +0 -7884
- package/dist/pg-proxy-do-backend.js.map +0 -1
- package/dist/pg-sqlite-compiler/catalog/seed.d.ts +0 -67
- package/dist/pg-sqlite-compiler/catalog/seed.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/catalog/seed.js +0 -436
- package/dist/pg-sqlite-compiler/catalog/seed.js.map +0 -1
- package/dist/pg-sqlite-compiler/compiler.d.ts +0 -17
- package/dist/pg-sqlite-compiler/compiler.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/compiler.js +0 -86
- package/dist/pg-sqlite-compiler/compiler.js.map +0 -1
- package/dist/pg-sqlite-compiler/index.d.ts +0 -2
- package/dist/pg-sqlite-compiler/index.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/index.js +0 -13
- package/dist/pg-sqlite-compiler/index.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/array.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/array.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/array.js +0 -223
- package/dist/pg-sqlite-compiler/passes/array.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/ast-utils.d.ts +0 -48
- package/dist/pg-sqlite-compiler/passes/ast-utils.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/ast-utils.js +0 -93
- package/dist/pg-sqlite-compiler/passes/ast-utils.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/catalog.d.ts +0 -34
- package/dist/pg-sqlite-compiler/passes/catalog.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/catalog.js +0 -30
- package/dist/pg-sqlite-compiler/passes/catalog.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/datetime.d.ts +0 -23
- package/dist/pg-sqlite-compiler/passes/datetime.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/datetime.js +0 -55
- package/dist/pg-sqlite-compiler/passes/datetime.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/dml-cte.d.ts +0 -22
- package/dist/pg-sqlite-compiler/passes/dml-cte.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/dml-cte.js +0 -161
- package/dist/pg-sqlite-compiler/passes/dml-cte.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/index.d.ts +0 -24
- package/dist/pg-sqlite-compiler/passes/index.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/index.js +0 -52
- package/dist/pg-sqlite-compiler/passes/index.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/json-functions.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/json-functions.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/json-functions.js +0 -57
- package/dist/pg-sqlite-compiler/passes/json-functions.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/row-json.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/row-json.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/row-json.js +0 -230
- package/dist/pg-sqlite-compiler/passes/row-json.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/schema.d.ts +0 -4
- package/dist/pg-sqlite-compiler/passes/schema.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/schema.js +0 -128
- package/dist/pg-sqlite-compiler/passes/schema.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/string-functions.d.ts +0 -11
- package/dist/pg-sqlite-compiler/passes/string-functions.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/string-functions.js +0 -37
- package/dist/pg-sqlite-compiler/passes/string-functions.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/types.d.ts +0 -41
- package/dist/pg-sqlite-compiler/passes/types.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/types.js +0 -115
- package/dist/pg-sqlite-compiler/passes/types.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/unsupported.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/unsupported.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/unsupported.js +0 -57
- package/dist/pg-sqlite-compiler/passes/unsupported.js.map +0 -1
- package/dist/pg-sqlite-compiler/test/oracle.d.ts +0 -34
- package/dist/pg-sqlite-compiler/test/oracle.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/test/oracle.js +0 -204
- package/dist/pg-sqlite-compiler/test/oracle.js.map +0 -1
- package/dist/pg-sqlite-compiler/types.d.ts +0 -66
- package/dist/pg-sqlite-compiler/types.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/types.js +0 -2
- package/dist/pg-sqlite-compiler/types.js.map +0 -1
- package/dist/sync-browser-host/generated/sqlite3-browser.wasm +0 -0
- package/dist/sync-browser-host/generated/sync_wasm.js +0 -922
- package/dist/sync-browser-host/generated/sync_wasm_bg.wasm +0 -0
- package/dist/sync-browser-host/host.d.ts +0 -10
- package/dist/sync-browser-host/host.d.ts.map +0 -1
- package/dist/sync-browser-host/host.js +0 -496
- package/dist/sync-browser-host/host.js.map +0 -1
- package/dist/sync-browser-host/idb-snapshot.d.ts +0 -11
- package/dist/sync-browser-host/idb-snapshot.d.ts.map +0 -1
- package/dist/sync-browser-host/idb-snapshot.js +0 -122
- package/dist/sync-browser-host/idb-snapshot.js.map +0 -1
- package/dist/sync-browser-host/index.d.ts +0 -5
- package/dist/sync-browser-host/index.d.ts.map +0 -1
- package/dist/sync-browser-host/index.js +0 -5
- package/dist/sync-browser-host/index.js.map +0 -1
- package/dist/sync-browser-host/message-port.d.ts +0 -7
- package/dist/sync-browser-host/message-port.d.ts.map +0 -1
- package/dist/sync-browser-host/message-port.js +0 -188
- package/dist/sync-browser-host/message-port.js.map +0 -1
- package/dist/sync-browser-host/sqlite-adapter.d.ts +0 -67
- package/dist/sync-browser-host/sqlite-adapter.d.ts.map +0 -1
- package/dist/sync-browser-host/sqlite-adapter.js +0 -145
- package/dist/sync-browser-host/sqlite-adapter.js.map +0 -1
- package/dist/sync-browser-host/types.d.ts +0 -52
- package/dist/sync-browser-host/types.d.ts.map +0 -1
- package/dist/sync-browser-host/types.js +0 -2
- package/dist/sync-browser-host/types.js.map +0 -1
- package/dist/sync-cf-host.d.ts +0 -2
- package/dist/sync-cf-host.d.ts.map +0 -1
- package/dist/sync-cf-host.js +0 -2
- package/dist/sync-cf-host.js.map +0 -1
- package/dist/sync-executor.d.ts +0 -2
- package/dist/sync-executor.d.ts.map +0 -1
- package/dist/sync-executor.js +0 -2
- package/dist/sync-executor.js.map +0 -1
- package/dist/wake.d.ts +0 -22
- package/dist/wake.d.ts.map +0 -1
- package/dist/wake.js +0 -114
- package/dist/wake.js.map +0 -1
- package/dist/worker/cf-do-shim.d.ts +0 -55
- package/dist/worker/cf-do-shim.d.ts.map +0 -1
- package/dist/worker/cf-do-shim.js +0 -58
- package/dist/worker/cf-do-shim.js.map +0 -1
- package/dist/worker/cf-patches.d.ts +0 -43
- package/dist/worker/cf-patches.d.ts.map +0 -1
- package/dist/worker/cf-patches.js +0 -840
- package/dist/worker/cf-patches.js.map +0 -1
- package/dist/worker/local-sql-backend.d.ts +0 -35
- package/dist/worker/local-sql-backend.d.ts.map +0 -1
- package/dist/worker/local-sql-backend.js +0 -217
- package/dist/worker/local-sql-backend.js.map +0 -1
- package/dist/worker/zero-cache-embed-cf.d.ts +0 -92
- package/dist/worker/zero-cache-embed-cf.d.ts.map +0 -1
- package/dist/worker/zero-cache-embed-cf.js +0 -764
- package/dist/worker/zero-cache-embed-cf.js.map +0 -1
- package/dist/worker/zero-sql-write-circuit.d.ts +0 -46
- package/dist/worker/zero-sql-write-circuit.d.ts.map +0 -1
- package/dist/worker/zero-sql-write-circuit.js +0 -161
- package/dist/worker/zero-sql-write-circuit.js.map +0 -1
- package/dist/zero-http/encrypted-column-codec.d.ts +0 -46
- package/dist/zero-http/encrypted-column-codec.d.ts.map +0 -1
- package/dist/zero-http/encrypted-column-codec.js +0 -676
- package/dist/zero-http/encrypted-column-codec.js.map +0 -1
- package/dist/zero-http/encrypted-column-conformance.d.ts +0 -7
- package/dist/zero-http/encrypted-column-conformance.d.ts.map +0 -1
- package/dist/zero-http/encrypted-column-conformance.js +0 -161
- package/dist/zero-http/encrypted-column-conformance.js.map +0 -1
- package/dist/zero-http/fixture-schema.d.ts +0 -127
- package/dist/zero-http/fixture-schema.d.ts.map +0 -1
- package/dist/zero-http/fixture-schema.js +0 -56
- package/dist/zero-http/fixture-schema.js.map +0 -1
- package/dist/zero-http/mount.d.ts +0 -71
- package/dist/zero-http/mount.d.ts.map +0 -1
- package/dist/zero-http/mount.js +0 -594
- package/dist/zero-http/mount.js.map +0 -1
- package/dist/zero-http/payload-codec.d.ts +0 -91
- package/dist/zero-http/payload-codec.d.ts.map +0 -1
- package/dist/zero-http/payload-codec.js +0 -10
- package/dist/zero-http/payload-codec.js.map +0 -1
- package/dist/zero-http/server.d.ts +0 -16
- package/dist/zero-http/server.d.ts.map +0 -1
- package/dist/zero-http/server.js +0 -270
- package/dist/zero-http/server.js.map +0 -1
- package/dist/zero-http/test-harness.d.ts +0 -32
- package/dist/zero-http/test-harness.d.ts.map +0 -1
- package/dist/zero-http/test-harness.js +0 -77
- package/dist/zero-http/test-harness.js.map +0 -1
- package/dist/zero-http/transport.d.ts +0 -71
- package/dist/zero-http/transport.d.ts.map +0 -1
- package/dist/zero-http/transport.js +0 -1106
- package/dist/zero-http/transport.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cf-patches.js","sourceRoot":"","sources":["../../src/worker/cf-patches.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* embed-local SQL backend: serves the DoBackend HTTP protocol (/exec, /batch,
|
|
3
|
-
* /commit-tx, /rollback-tx) directly against the Durable Object's OWN SQLite
|
|
4
|
-
* storage, with no cross-DO hop.
|
|
5
|
-
*
|
|
6
|
-
* zero-cache's CVR and change DBs are private state of the view-syncer /
|
|
7
|
-
* change-streamer running inside ZeroCacheDO — nothing else reads them. wiring
|
|
8
|
-
* their pg sessions to the remote ZeroSqlDO turned every CVR statement into a
|
|
9
|
-
* cross-DO HTTP round-trip (~270 POST /exec per IDE hydration measured live);
|
|
10
|
-
* keeping them local makes those statements synchronous storage calls while
|
|
11
|
-
* the DoBackend pg semantics stay byte-identical (same SQL translation, same
|
|
12
|
-
* tx journal, same endpoints).
|
|
13
|
-
*
|
|
14
|
-
* the upstream `postgres` db must NOT use this backend: it is shared with the
|
|
15
|
-
* app worker and lives in ZeroSqlDO.
|
|
16
|
-
*/
|
|
17
|
-
export interface LocalDoSqlite {
|
|
18
|
-
exec(sql: string, ...params: unknown[]): {
|
|
19
|
-
toArray(): Array<Record<string, unknown>>;
|
|
20
|
-
columnNames?: string[];
|
|
21
|
-
};
|
|
22
|
-
transactionSync<T>(fn: () => T): T;
|
|
23
|
-
}
|
|
24
|
-
export interface LocalSqlBackend {
|
|
25
|
-
/** drop-in for DoBackend's `fetch` option. */
|
|
26
|
-
fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
|
|
27
|
-
/**
|
|
28
|
-
* roll back every journaled transaction left by a dead process generation.
|
|
29
|
-
* safe whenever the caller is the storage's only client and no transaction
|
|
30
|
-
* of its own is open (e.g. embed boot, before any pg session exists).
|
|
31
|
-
*/
|
|
32
|
-
recoverOrphanedTransactions(): string[];
|
|
33
|
-
}
|
|
34
|
-
export declare function createLocalSqlBackend(storage: unknown): LocalSqlBackend;
|
|
35
|
-
//# sourceMappingURL=local-sql-backend.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-sql-backend.d.ts","sourceRoot":"","sources":["../../src/worker/local-sql-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAoBH,MAAM,WAAW,aAAa;IAC5B,IAAI,CACF,GAAG,EAAE,MAAM,EACX,GAAG,MAAM,EAAE,OAAO,EAAE,GACnB;QACD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACzC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAA;IACD,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtE;;;;OAIG;IACH,2BAA2B,IAAI,MAAM,EAAE,CAAA;CACxC;AAiBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CA+NvE"}
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* embed-local SQL backend: serves the DoBackend HTTP protocol (/exec, /batch,
|
|
3
|
-
* /commit-tx, /rollback-tx) directly against the Durable Object's OWN SQLite
|
|
4
|
-
* storage, with no cross-DO hop.
|
|
5
|
-
*
|
|
6
|
-
* zero-cache's CVR and change DBs are private state of the view-syncer /
|
|
7
|
-
* change-streamer running inside ZeroCacheDO — nothing else reads them. wiring
|
|
8
|
-
* their pg sessions to the remote ZeroSqlDO turned every CVR statement into a
|
|
9
|
-
* cross-DO HTTP round-trip (~270 POST /exec per IDE hydration measured live);
|
|
10
|
-
* keeping them local makes those statements synchronous storage calls while
|
|
11
|
-
* the DoBackend pg semantics stay byte-identical (same SQL translation, same
|
|
12
|
-
* tx journal, same endpoints).
|
|
13
|
-
*
|
|
14
|
-
* the upstream `postgres` db must NOT use this backend: it is shared with the
|
|
15
|
-
* app worker and lives in ZeroSqlDO.
|
|
16
|
-
*/
|
|
17
|
-
import { TransactionalCdc } from '../cf-do/cdc.js';
|
|
18
|
-
import { appendPendingChange, deletePendingChanges, ensurePendingChangesTable, rollbackPendingChanges, } from '../cf-do/row-undo.js';
|
|
19
|
-
import { commitTxJournal, recoverTxJournal, rollbackTxJournal, snapshotSideEffectWriteTables, snapshotTxSchema, upgradeToTableSnapshot, } from '../cf-do/tx-journal.js';
|
|
20
|
-
export function createLocalSqlBackend(storage) {
|
|
21
|
-
const sqlite = storage;
|
|
22
|
-
if (!sqlite || typeof sqlite.exec !== 'function') {
|
|
23
|
-
throw new Error('local sql backend: storage must expose exec()');
|
|
24
|
-
}
|
|
25
|
-
if (typeof sqlite.transactionSync !== 'function') {
|
|
26
|
-
throw new Error('local sql backend: storage must expose transactionSync()');
|
|
27
|
-
}
|
|
28
|
-
const sql = sqlite;
|
|
29
|
-
const journalSql = {
|
|
30
|
-
exec(query, ...params) {
|
|
31
|
-
// DO cursors are one-shot; materialize so toArray()/one() both work.
|
|
32
|
-
const rows = sql.exec(query, ...params).toArray();
|
|
33
|
-
return {
|
|
34
|
-
toArray: () => rows,
|
|
35
|
-
one: () => rows[0],
|
|
36
|
-
};
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
const cdc = new TransactionalCdc(journalSql);
|
|
40
|
-
let pendingChangesReady = false;
|
|
41
|
-
function ensurePendingChanges() {
|
|
42
|
-
if (pendingChangesReady)
|
|
43
|
-
return;
|
|
44
|
-
ensurePendingChangesTable(journalSql);
|
|
45
|
-
pendingChangesReady = true;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Run work in a storage transaction, re-deriving the in-memory schema caches
|
|
49
|
-
* from SQLite if it aborts. transactionSync() rolls the SQLite side back on
|
|
50
|
-
* throw, but the caches are plain fields that would keep asserting state
|
|
51
|
-
* SQLite no longer has: a CDC table stays "registered and verified" with no
|
|
52
|
-
* trigger left on disk, and every later write to it goes silently uncaptured.
|
|
53
|
-
*/
|
|
54
|
-
function atomically(work) {
|
|
55
|
-
try {
|
|
56
|
-
return sql.transactionSync(work);
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
pendingChangesReady = false;
|
|
60
|
-
// Reload is intentionally last: corrupt CDC metadata must throw rather
|
|
61
|
-
// than suppressing cache invalidation and silently disabling capture.
|
|
62
|
-
cdc.reload();
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function executeStatement(statement) {
|
|
67
|
-
const track = statement.track;
|
|
68
|
-
const transactionID = statement.transactionID || track?.transactionID;
|
|
69
|
-
if (track && !track.physicalTableName) {
|
|
70
|
-
throw new Error('local sql backend: change tracking requires a physical table name');
|
|
71
|
-
}
|
|
72
|
-
let snapshotsOwnStatement = false;
|
|
73
|
-
let captures = false;
|
|
74
|
-
if (track) {
|
|
75
|
-
if (!transactionID) {
|
|
76
|
-
throw new Error('local sql backend: rollback tracking requires a transaction id');
|
|
77
|
-
}
|
|
78
|
-
captures = cdc.ensureTable({
|
|
79
|
-
physicalTableName: track.physicalTableName,
|
|
80
|
-
tableName: track.tableName,
|
|
81
|
-
publish: false,
|
|
82
|
-
...(track.rowColumns?.length ? { columns: track.rowColumns } : null),
|
|
83
|
-
});
|
|
84
|
-
// DoBackend already marked this table row-journaled, betting the DO could
|
|
85
|
-
// capture before/after images for it. When it cannot, that marker promises
|
|
86
|
-
// a rollback nothing can perform, so take the table snapshot the journal
|
|
87
|
-
// would otherwise have taken, before the DML changes the table.
|
|
88
|
-
if (!captures) {
|
|
89
|
-
upgradeToTableSnapshot(journalSql, transactionID, track.physicalTableName);
|
|
90
|
-
}
|
|
91
|
-
snapshotsOwnStatement = snapshotSideEffectWriteTables(journalSql, transactionID, track.physicalTableName, track.operation);
|
|
92
|
-
}
|
|
93
|
-
const suspended = cdc.beginSchemaChange(statement.sql);
|
|
94
|
-
let cursor;
|
|
95
|
-
try {
|
|
96
|
-
cursor = sql.exec(statement.sql, ...(statement.params ?? []));
|
|
97
|
-
}
|
|
98
|
-
finally {
|
|
99
|
-
cdc.finishSchemaChange(suspended);
|
|
100
|
-
}
|
|
101
|
-
const rows = cursor.toArray().map((row) => ({ ...row }));
|
|
102
|
-
const columns = Array.isArray(cursor.columnNames)
|
|
103
|
-
? cursor.columnNames
|
|
104
|
-
: rows.length > 0
|
|
105
|
-
? Object.keys(rows[0])
|
|
106
|
-
: [];
|
|
107
|
-
// Rollback-only triggers remain installed after a transaction ends. Drain
|
|
108
|
-
// them on every statement so an untracked autocommit write cannot sit in
|
|
109
|
-
// the buffer and get attached to (then undone by) the next transaction.
|
|
110
|
-
const captured = cdc.active ? cdc.drain() : [];
|
|
111
|
-
if (track && captured.length > 0) {
|
|
112
|
-
ensurePendingChanges();
|
|
113
|
-
for (const change of captured) {
|
|
114
|
-
appendPendingChange(journalSql, {
|
|
115
|
-
transactionID: transactionID,
|
|
116
|
-
physicalTableName: change.physicalTableName,
|
|
117
|
-
tableName: change.tableName,
|
|
118
|
-
publish: false,
|
|
119
|
-
op: change.op,
|
|
120
|
-
rowData: change.rowData,
|
|
121
|
-
oldData: change.oldData,
|
|
122
|
-
rowJournal: change.rowJournal,
|
|
123
|
-
oldJournal: change.oldJournal,
|
|
124
|
-
newRowid: change.newRowid,
|
|
125
|
-
oldRowid: change.oldRowid,
|
|
126
|
-
undoable: !snapshotsOwnStatement,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return track
|
|
131
|
-
? {
|
|
132
|
-
rows: track.returnRows ? rows : [],
|
|
133
|
-
columns: track.returnRows ? columns : [],
|
|
134
|
-
affectedRows: rows.length,
|
|
135
|
-
capturedChanges: 0,
|
|
136
|
-
}
|
|
137
|
-
: { rows, columns };
|
|
138
|
-
}
|
|
139
|
-
async function handle(request) {
|
|
140
|
-
const url = new URL(request.url);
|
|
141
|
-
const body = (await request.json().catch(() => ({})));
|
|
142
|
-
switch (url.pathname) {
|
|
143
|
-
case '/exec': {
|
|
144
|
-
const statement = {
|
|
145
|
-
sql: String(body.sql ?? ''),
|
|
146
|
-
params: Array.isArray(body.params) ? body.params : [],
|
|
147
|
-
track: body.track,
|
|
148
|
-
transactionID: String(body.transactionID || '') || undefined,
|
|
149
|
-
};
|
|
150
|
-
const result = body.track
|
|
151
|
-
? atomically(() => executeStatement(statement))
|
|
152
|
-
: executeStatement(statement);
|
|
153
|
-
return Response.json(result);
|
|
154
|
-
}
|
|
155
|
-
case '/batch': {
|
|
156
|
-
const statements = Array.isArray(body.statements) ? body.statements : [];
|
|
157
|
-
const results = atomically(() => statements
|
|
158
|
-
.map((statement) => typeof statement === 'string' ? { sql: statement } : statement)
|
|
159
|
-
.filter((statement) => statement?.sql?.trim())
|
|
160
|
-
.map((statement) => executeStatement(statement)));
|
|
161
|
-
return Response.json({ results });
|
|
162
|
-
}
|
|
163
|
-
case '/snapshot-tx-schema': {
|
|
164
|
-
const transactionID = String(body.transactionID || '');
|
|
165
|
-
if (!transactionID)
|
|
166
|
-
throw new Error('missing transactionID');
|
|
167
|
-
atomically(() => snapshotTxSchema(journalSql, transactionID, String(body.owner || 'default'), Array.isArray(body.affectedTables) ? body.affectedTables.map(String) : []));
|
|
168
|
-
return Response.json({ ok: true });
|
|
169
|
-
}
|
|
170
|
-
case '/commit-tx': {
|
|
171
|
-
const transactionID = String(body.transactionID || '');
|
|
172
|
-
if (!transactionID)
|
|
173
|
-
throw new Error('missing transactionID');
|
|
174
|
-
atomically(() => {
|
|
175
|
-
deletePendingChanges(journalSql, transactionID);
|
|
176
|
-
commitTxJournal(journalSql, transactionID);
|
|
177
|
-
});
|
|
178
|
-
return Response.json({ ok: true });
|
|
179
|
-
}
|
|
180
|
-
case '/rollback-tx': {
|
|
181
|
-
const transactionID = String(body.transactionID || '');
|
|
182
|
-
if (!transactionID)
|
|
183
|
-
throw new Error('missing transactionID');
|
|
184
|
-
atomically(() => {
|
|
185
|
-
rollbackPendingChanges(journalSql, transactionID);
|
|
186
|
-
rollbackTxJournal(journalSql, transactionID);
|
|
187
|
-
deletePendingChanges(journalSql, transactionID);
|
|
188
|
-
});
|
|
189
|
-
cdc.reload();
|
|
190
|
-
return Response.json({ ok: true });
|
|
191
|
-
}
|
|
192
|
-
default:
|
|
193
|
-
return Response.json({ error: `local sql backend: unknown path ${url.pathname}` }, { status: 404 });
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return {
|
|
197
|
-
async fetch(input, init) {
|
|
198
|
-
const request = new Request(input, init);
|
|
199
|
-
try {
|
|
200
|
-
return await handle(request);
|
|
201
|
-
}
|
|
202
|
-
catch (err) {
|
|
203
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
204
|
-
return Response.json({ error: message }, { status: 500 });
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
recoverOrphanedTransactions() {
|
|
208
|
-
const recovered = atomically(() => recoverTxJournal(journalSql, undefined, (transactionID) => {
|
|
209
|
-
rollbackPendingChanges(journalSql, transactionID);
|
|
210
|
-
deletePendingChanges(journalSql, transactionID);
|
|
211
|
-
}));
|
|
212
|
-
cdc.reload();
|
|
213
|
-
return recovered;
|
|
214
|
-
},
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
//# sourceMappingURL=local-sql-backend.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-sql-backend.js","sourceRoot":"","sources":["../../src/worker/local-sql-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* zero-cache embedded runner for cloudflare workers.
|
|
3
|
-
*
|
|
4
|
-
* runs zero-cache in-process with SINGLE_PROCESS=1, using bundler aliases
|
|
5
|
-
* to swap Node.js dependencies for CF-compatible shims:
|
|
6
|
-
*
|
|
7
|
-
* postgres → orez/worker/shims/postgres-browser
|
|
8
|
-
* (real postgres package over MessagePort)
|
|
9
|
-
* @rocicorp/zero-sqlite3 → orez/worker/shims/sqlite (DO SQLite)
|
|
10
|
-
* fastify → orez/worker/shims/fastify (route capture)
|
|
11
|
-
* ws → orez/worker/shims/ws (CF WebSocket)
|
|
12
|
-
*
|
|
13
|
-
* the postgres MessagePort proxy is backed by DoBackend, so zero-cache still
|
|
14
|
-
* uses its real PG wire protocol, but storage is Cloudflare DO SQLite instead
|
|
15
|
-
* of PGlite.
|
|
16
|
-
*
|
|
17
|
-
* usage in a Durable Object:
|
|
18
|
-
*
|
|
19
|
-
* import { startZeroCacheEmbedCF } from 'orez/worker'
|
|
20
|
-
*
|
|
21
|
-
* // in ensureInitialized():
|
|
22
|
-
* const zc = await startZeroCacheEmbedCF({ ... })
|
|
23
|
-
*
|
|
24
|
-
* // in DO fetch():
|
|
25
|
-
* return zc.handleRequest(request)
|
|
26
|
-
*
|
|
27
|
-
* the embed uses standard-accepted WebSockets. do not route these sockets
|
|
28
|
-
* through Durable Object hibernation APIs; the in-process zero-cache proxy must
|
|
29
|
-
* keep its live bridge for the connection lifetime.
|
|
30
|
-
*
|
|
31
|
-
* idle hibernation is achieved at a coarser grain instead: the DO watches
|
|
32
|
-
* `connectionCount` and, once it hits 0 past a grace window, calls stop() to
|
|
33
|
-
* tear the whole embed down. with no live bridge and no zero-cache timers left,
|
|
34
|
-
* the DO is evicted and stops accruing GB-s; the next request cold-starts it
|
|
35
|
-
* again from durable DO SQLite. see plans/cf-do-idle-hibernation.md and
|
|
36
|
-
* `shouldHibernateIdleZeroCache` in ./zero-cache-do-idle.ts.
|
|
37
|
-
*/
|
|
38
|
-
import { type DurableObjectWebSocketHandoffContext } from './durable-object-websocket-handoff.js';
|
|
39
|
-
export interface ZeroCacheEmbedCFOptions {
|
|
40
|
-
/** stable logical Durable Object identity. required for isolate-safe routing. */
|
|
41
|
-
instanceId: string;
|
|
42
|
-
/** DO SQLite storage owned by this logical Durable Object. */
|
|
43
|
-
doSqlite: unknown;
|
|
44
|
-
/** base URL for the DO SQL execution endpoints (`/exec`, `/batch`). */
|
|
45
|
-
backendUrl?: string;
|
|
46
|
-
/** custom fetch used by DoBackend; lets a DO route directly to another DO stub. */
|
|
47
|
-
backendFetch?: typeof fetch;
|
|
48
|
-
/** namespace sent to the DO SQL endpoints. */
|
|
49
|
-
backendNamespace?: string;
|
|
50
|
-
/** postgres username/password expected by the in-process proxy. */
|
|
51
|
-
pgUser?: string;
|
|
52
|
-
pgPassword?: string;
|
|
53
|
-
/** zero app ID (default: 'zero') */
|
|
54
|
-
appId?: string;
|
|
55
|
-
/** publication names */
|
|
56
|
-
publications?: string[];
|
|
57
|
-
/** additional env vars passed to zero-cache */
|
|
58
|
-
env?: Record<string, string>;
|
|
59
|
-
/** fetch implementation for Worker-local mutate/query API URLs. */
|
|
60
|
-
apiFetch?: typeof fetch;
|
|
61
|
-
/** optional instance-scoped diagnostic sink. */
|
|
62
|
-
log?: (event: Record<string, unknown>) => void;
|
|
63
|
-
/** timeout in ms for the complete zero-cache startup (default: 30000) */
|
|
64
|
-
readyTimeout?: number;
|
|
65
|
-
}
|
|
66
|
-
export interface ZeroCacheEmbedCF {
|
|
67
|
-
/** whether zero-cache is ready */
|
|
68
|
-
readonly ready: boolean;
|
|
69
|
-
/**
|
|
70
|
-
* number of live sync WebSocket sessions. zero means no client is
|
|
71
|
-
* connected, so the DO can be torn down + hibernated (see
|
|
72
|
-
* plans/cf-do-idle-hibernation.md). HTTP push/pull requests are stateless
|
|
73
|
-
* and not counted.
|
|
74
|
-
*/
|
|
75
|
-
readonly connectionCount: number;
|
|
76
|
-
/**
|
|
77
|
-
* handle an incoming request from the DO's fetch() handler.
|
|
78
|
-
* routes HTTP to zero-cache's Fastify handlers, WebSocket
|
|
79
|
-
* upgrades through the zero-cache handoff mechanism.
|
|
80
|
-
*/
|
|
81
|
-
handleRequest(request: Request, ctx?: DurableObjectWebSocketHandoffContext): Promise<Response>;
|
|
82
|
-
/** stop zero-cache */
|
|
83
|
-
stop(): Promise<void>;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* start zero-cache in embedded CF Workers mode.
|
|
87
|
-
*
|
|
88
|
-
* must be called with a DO SQLite handle for zero-cache's replica storage and
|
|
89
|
-
* a DoBackend target for upstream/CVR/change Postgres connections.
|
|
90
|
-
*/
|
|
91
|
-
export declare function startZeroCacheEmbedCF(opts: ZeroCacheEmbedCFOptions): Promise<ZeroCacheEmbedCF>;
|
|
92
|
-
//# sourceMappingURL=zero-cache-embed-cf.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zero-cache-embed-cf.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AA2BH,OAAO,EAGL,KAAK,oCAAoC,EAE1C,MAAM,uCAAuC,CAAA;AAuE9C,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAA;IAElB,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAA;IAEjB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,KAAK,CAAA;IAE3B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAA;IAEvB,gDAAgD;IAChD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IAE9C,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAEhC;;;;OAIG;IACH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,oCAAoC,GACzC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AA4CD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA4oB3B"}
|