orez 0.4.73 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +42 -1
  2. package/dist/cf-do/cdc.d.ts +148 -0
  3. package/dist/cf-do/cdc.d.ts.map +1 -0
  4. package/dist/cf-do/cdc.js +719 -0
  5. package/dist/cf-do/cdc.js.map +1 -0
  6. package/dist/cf-do/row-undo.d.ts +36 -0
  7. package/dist/cf-do/row-undo.d.ts.map +1 -0
  8. package/dist/cf-do/row-undo.js +209 -0
  9. package/dist/cf-do/row-undo.js.map +1 -0
  10. package/dist/cf-do/tx-journal.d.ts +32 -10
  11. package/dist/cf-do/tx-journal.d.ts.map +1 -1
  12. package/dist/cf-do/tx-journal.js +148 -31
  13. package/dist/cf-do/tx-journal.js.map +1 -1
  14. package/dist/cf-do/watermark.d.ts +7 -0
  15. package/dist/cf-do/watermark.d.ts.map +1 -1
  16. package/dist/cf-do/watermark.js +9 -0
  17. package/dist/cf-do/watermark.js.map +1 -1
  18. package/dist/cf-do/worker.d.ts +19 -1
  19. package/dist/cf-do/worker.d.ts.map +1 -1
  20. package/dist/cf-do/worker.js +218 -46
  21. package/dist/cf-do/worker.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +1 -0
  24. package/dist/cli.js.map +1 -1
  25. package/dist/config.d.ts +35 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +1 -0
  28. package/dist/config.js.map +1 -1
  29. package/dist/do-sql-tracking.d.ts +2 -0
  30. package/dist/do-sql-tracking.d.ts.map +1 -1
  31. package/dist/do-sql-tracking.js +11 -1
  32. package/dist/do-sql-tracking.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +146 -40
  36. package/dist/index.js.map +1 -1
  37. package/dist/pg-proxy-do-backend.d.ts +8 -0
  38. package/dist/pg-proxy-do-backend.d.ts.map +1 -1
  39. package/dist/pg-proxy-do-backend.js +301 -47
  40. package/dist/pg-proxy-do-backend.js.map +1 -1
  41. package/dist/pg-proxy.d.ts +22 -1
  42. package/dist/pg-proxy.d.ts.map +1 -1
  43. package/dist/pg-proxy.js +63 -1
  44. package/dist/pg-proxy.js.map +1 -1
  45. package/dist/pg-sqlite-compiler/index.d.ts.map +1 -1
  46. package/dist/pg-sqlite-compiler/index.js +9 -1
  47. package/dist/pg-sqlite-compiler/index.js.map +1 -1
  48. package/dist/pg-sqlite-compiler/passes/datetime.d.ts +2 -0
  49. package/dist/pg-sqlite-compiler/passes/datetime.d.ts.map +1 -1
  50. package/dist/pg-sqlite-compiler/passes/datetime.js +20 -18
  51. package/dist/pg-sqlite-compiler/passes/datetime.js.map +1 -1
  52. package/dist/pg-sqlite-compiler/passes/index.d.ts.map +1 -1
  53. package/dist/pg-sqlite-compiler/passes/index.js +6 -1
  54. package/dist/pg-sqlite-compiler/passes/index.js.map +1 -1
  55. package/dist/pg-sqlite-compiler/passes/json-functions.d.ts +3 -0
  56. package/dist/pg-sqlite-compiler/passes/json-functions.d.ts.map +1 -0
  57. package/dist/pg-sqlite-compiler/passes/json-functions.js +57 -0
  58. package/dist/pg-sqlite-compiler/passes/json-functions.js.map +1 -0
  59. package/dist/pg-sqlite-compiler/passes/row-json.d.ts +3 -0
  60. package/dist/pg-sqlite-compiler/passes/row-json.d.ts.map +1 -0
  61. package/dist/pg-sqlite-compiler/passes/row-json.js +230 -0
  62. package/dist/pg-sqlite-compiler/passes/row-json.js.map +1 -0
  63. package/dist/pg-sqlite-compiler/passes/schema.d.ts.map +1 -1
  64. package/dist/pg-sqlite-compiler/passes/schema.js +16 -1
  65. package/dist/pg-sqlite-compiler/passes/schema.js.map +1 -1
  66. package/dist/pg-sqlite-compiler/passes/string-functions.d.ts +11 -0
  67. package/dist/pg-sqlite-compiler/passes/string-functions.d.ts.map +1 -0
  68. package/dist/pg-sqlite-compiler/passes/string-functions.js +37 -0
  69. package/dist/pg-sqlite-compiler/passes/string-functions.js.map +1 -0
  70. package/dist/worker/local-sql-backend.d.ts.map +1 -1
  71. package/dist/worker/local-sql-backend.js +114 -13
  72. package/dist/worker/local-sql-backend.js.map +1 -1
  73. package/package.json +2 -2
@@ -2,9 +2,10 @@
2
2
  * durable transaction journal for the DO SQL backend.
3
3
  *
4
4
  * the Durable Object refuses raw SQL BEGIN/COMMIT, so DoBackend emulates pg
5
- * transactions by applying writes eagerly and snapshotting each table on its
6
- * first in-tx write (`_orez_tx_<txID>_*` tables). before this journal, the
7
- * snapshot bookkeeping lived only in the client's memory: a DO eviction or
5
+ * transactions by applying writes eagerly. Parsed DML is rolled back from the
6
+ * CDC row before-images captured by the same SQLite statement; unknown writes
7
+ * fall back to a first-write table snapshot (`_orez_tx_<txID>_*`). Before this
8
+ * journal, the rollback bookkeeping lived only in the client's memory: a DO eviction or
8
9
  * deploy upgrade-kill mid-transaction persisted the partial writes forever
9
10
  * (the 2026-06 poisoned cdc changeLog incident — zero's catchup replays
10
11
  * begin→data→begin and the replicator wedges permanently).
@@ -12,13 +13,13 @@
12
13
  * the journal makes the snapshot bookkeeping durable and the commit point
13
14
  * atomic:
14
15
  *
15
- * - every snapshot is recorded in `_orez_tx_manifest` in the same atomic
16
- * /batch that creates the snapshot table.
17
- * - COMMIT = one atomic storage transaction that drops the snapshots and
16
+ * - every row-journal marker or fallback snapshot is recorded in
17
+ * `_orez_tx_manifest` atomically with its rollback state.
18
+ * - COMMIT = one atomic storage transaction that drops rollback state and
18
19
  * deletes the manifest rows (plus promoting pending tracked changes in
19
20
  * ZeroDO). a tx is committed if and only if its manifest rows are gone.
20
- * - ROLLBACK = one atomic storage transaction that restores every table
21
- * from its snapshot (reverse order, triggers detached during restore).
21
+ * - ROLLBACK = one atomic storage transaction that restores row before-images
22
+ * plus any fallback table snapshots (in reverse order).
22
23
  * - RECOVERY (`recoverTxJournal`) rolls back every manifest tx for an
23
24
  * owner whose process generation is known dead (e.g. the zero-cache
24
25
  * embed at boot, before it opens any pg session), so a partial tx is
@@ -28,6 +29,7 @@
28
29
  * same core runs inside ZeroDO's ctx.storage.transaction() and inside the
29
30
  * embed-local backend's transactionSync().
30
31
  */
32
+ import { restoreTriggers, suspendTriggers, writableColumns } from './cdc.js';
31
33
  export const TX_MANIFEST_TABLE = '_orez_tx_manifest';
32
34
  export const TX_MANIFEST_DDL = `CREATE TABLE IF NOT EXISTS "${TX_MANIFEST_TABLE}" (` +
33
35
  'seq INTEGER PRIMARY KEY AUTOINCREMENT, ' +
@@ -57,6 +59,45 @@ function manifestRows(sql, txID) {
57
59
  function dropTable(sql, table) {
58
60
  sql.exec(`DROP TABLE IF EXISTS ${quoteIdent(table)}`);
59
61
  }
62
+ /** Parent snapshots must restore before children so FK cascades cannot erase a restored child. */
63
+ function parentFirst(sql, rows) {
64
+ const byTable = new Map(rows.map((row) => [row.original, row]));
65
+ const edges = new Map(rows.map((row) => [row.original, new Set()]));
66
+ const incoming = new Map(rows.map((row) => [row.original, 0]));
67
+ for (const child of rows) {
68
+ const parents = sql
69
+ .exec(`PRAGMA foreign_key_list(${quoteIdent(child.original)})`)
70
+ .toArray()
71
+ .map((row) => String(row.table ?? ''));
72
+ for (const parent of new Set(parents)) {
73
+ if (!byTable.has(parent) || parent === child.original)
74
+ continue;
75
+ const children = edges.get(parent);
76
+ if (children.has(child.original))
77
+ continue;
78
+ children.add(child.original);
79
+ incoming.set(child.original, (incoming.get(child.original) ?? 0) + 1);
80
+ }
81
+ }
82
+ const ready = rows.filter((row) => incoming.get(row.original) === 0);
83
+ const ordered = [];
84
+ while (ready.length > 0) {
85
+ const row = ready.shift();
86
+ ordered.push(row);
87
+ for (const child of edges.get(row.original) ?? []) {
88
+ const count = (incoming.get(child) ?? 0) - 1;
89
+ incoming.set(child, count);
90
+ if (count === 0)
91
+ ready.push(byTable.get(child));
92
+ }
93
+ }
94
+ // Cyclic foreign keys are checked at the surrounding transaction boundary;
95
+ // retain deterministic manifest order for the strongly connected remainder.
96
+ for (const row of rows)
97
+ if (!ordered.includes(row))
98
+ ordered.push(row);
99
+ return ordered;
100
+ }
60
101
  /**
61
102
  * commit a journaled transaction: drop its snapshot tables and delete its
62
103
  * manifest rows. the data writes were applied eagerly during the tx, so once
@@ -74,7 +115,7 @@ export function commitTxJournal(sql, txID) {
74
115
  }
75
116
  /**
76
117
  * roll back a journaled transaction: restore every snapshotted table to its
77
- * pre-tx contents (reverse snapshot order), drop tables that did not exist at
118
+ * pre-tx contents (parents before children), drop tables that did not exist at
78
119
  * first write (null snapshot), then clean up. triggers on restored tables are
79
120
  * detached during the restore and re-created after, so restore DML doesn't
80
121
  * re-fire change tracking. must run inside an atomic storage transaction.
@@ -86,35 +127,110 @@ export function rollbackTxJournal(sql, txID) {
86
127
  if (rows.length === 0)
87
128
  return;
88
129
  const restoredTables = rows.filter((row) => row.snapshot).map((row) => row.original);
89
- const triggers = triggerDefinitionsForTables(sql, restoredTables);
90
- for (const trigger of triggers) {
91
- sql.exec(`DROP TRIGGER IF EXISTS ${quoteIdent(trigger.name)}`);
130
+ const triggers = suspendTriggers(sql, restoredTables);
131
+ // Defer constraint checks across the whole atomic restore. Delete every
132
+ // snapshotted table before inserting any snapshot rows: interleaving those
133
+ // phases lets a later DELETE in a cyclic cascade erase an earlier restore.
134
+ sql.exec('PRAGMA defer_foreign_keys = ON');
135
+ const snapshotRows = parentFirst(sql, rows.filter((row) => row.snapshot !== null && row.snapshot !== ''));
136
+ for (const row of snapshotRows) {
137
+ sql.exec(`DELETE FROM ${quoteIdent(row.original)}`);
92
138
  }
93
- for (const row of rows) {
139
+ for (const row of snapshotRows) {
94
140
  const quotedTable = quoteIdent(row.original);
95
- if (!row.snapshot) {
96
- sql.exec(`DROP TABLE IF EXISTS ${quotedTable}`);
97
- continue;
98
- }
99
141
  const quotedSnapshot = quoteIdent(row.snapshot);
100
- sql.exec(`DELETE FROM ${quotedTable}`);
101
- sql.exec(`INSERT OR REPLACE INTO ${quotedTable} SELECT * FROM ${quotedSnapshot}`);
142
+ // `SELECT *` also selects generated columns, which SQLite refuses to let
143
+ // any INSERT name, so restore the writable columns explicitly.
144
+ const columns = writableColumns(sql, row.original);
145
+ const columnList = columns.map(quoteIdent).join(', ');
146
+ sql.exec(`INSERT OR REPLACE INTO ${quotedTable} (${columnList}) SELECT ${columnList} FROM ${quotedSnapshot}`);
147
+ }
148
+ for (const row of snapshotRows) {
149
+ const quotedSnapshot = quoteIdent(row.snapshot);
102
150
  sql.exec(`DROP TABLE IF EXISTS ${quotedSnapshot}`);
103
151
  }
104
- for (const trigger of triggers)
105
- sql.exec(trigger.sql);
152
+ for (const row of rows) {
153
+ if (row.snapshot === null) {
154
+ sql.exec(`DROP TABLE IF EXISTS ${quoteIdent(row.original)}`);
155
+ }
156
+ // Empty-string snapshots are row-journaled tables. Their before-images
157
+ // were restored by the owner's CDC undo callback before this function.
158
+ }
159
+ restoreTriggers(sql, triggers);
106
160
  sql.exec(`DELETE FROM "${TX_MANIFEST_TABLE}" WHERE tx_id = ?`, txID);
107
161
  }
108
- function triggerDefinitionsForTables(sql, tables) {
109
- const uniqueTables = [...new Set(tables)].filter(Boolean);
110
- if (uniqueTables.length === 0)
111
- return [];
112
- const placeholders = uniqueTables.map(() => '?').join(', ');
113
- return sql
114
- .exec(`SELECT name, sql FROM sqlite_master WHERE type = 'trigger' AND tbl_name IN (${placeholders}) ORDER BY name`, ...uniqueTables)
162
+ /**
163
+ * Point a transaction's journal entry for `table` at a real table snapshot.
164
+ *
165
+ * DoBackend marks a parsed write row-journaled (an empty snapshot) before the
166
+ * DO has said whether it can capture that table. When CDC declines it, because
167
+ * the table has no stable row identity, that empty marker promises a row-level
168
+ * rollback nothing is able to perform. The owner therefore copies the table and
169
+ * rewrites the marker in the same storage transaction as the write, which puts
170
+ * the transaction back on the snapshot path recovery already knows how to
171
+ * replay. Safe to call repeatedly: only the first write to a table in a
172
+ * transaction takes the copy.
173
+ */
174
+ export function upgradeToTableSnapshot(sql, txID, table) {
175
+ sql.exec(TX_MANIFEST_DDL);
176
+ const existing = sql
177
+ .exec(`SELECT seq, snapshot FROM "${TX_MANIFEST_TABLE}" WHERE tx_id = ? AND original = ? ORDER BY seq`, txID, table)
178
+ .toArray();
179
+ // A null snapshot means the table did not exist at first write, so rollback
180
+ // drops it and no copy is needed. A non-empty one is already a real snapshot.
181
+ const snapshotted = existing.some((row) => row.snapshot === null || String(row.snapshot ?? '') !== '');
182
+ if (snapshotted)
183
+ return;
184
+ // Name the snapshot after the manifest row's seq, which is an AUTOINCREMENT
185
+ // primary key and therefore unique. Deriving the name from the table instead
186
+ // would have to sanitize it into an identifier, and that is not injective:
187
+ // `a-b` and `a_b` would collide on one snapshot table, so rolling the first
188
+ // one back would restore the other's rows and then drop the table the second
189
+ // still needs.
190
+ const seq = existing.length > 0
191
+ ? Number(existing[0].seq)
192
+ : Number(sql
193
+ .exec(`INSERT INTO "${TX_MANIFEST_TABLE}" (tx_id, owner, original, snapshot) VALUES (?, 'default', ?, '') RETURNING seq`, txID, table)
194
+ .toArray()[0]?.seq);
195
+ const snapshot = `_orez_tx_undo_${seq}`;
196
+ sql.exec(`DROP TABLE IF EXISTS ${quoteIdent(snapshot)}`);
197
+ sql.exec(`CREATE TABLE ${quoteIdent(snapshot)} AS SELECT * FROM ${quoteIdent(table)}`);
198
+ sql.exec(`UPDATE "${TX_MANIFEST_TABLE}" SET snapshot = ? WHERE seq = ?`, snapshot, seq);
199
+ }
200
+ /**
201
+ * Snapshot every user table before a statement whose source table has a
202
+ * business trigger or is the parent of a cascading/SET foreign-key action.
203
+ * Those effects can reach unregistered tables, and SQLite's trigger staging
204
+ * order is not causal DML order. This conservative fallback is paid only by
205
+ * side-effecting writes and makes table snapshots authoritative for them.
206
+ */
207
+ export function snapshotSideEffectWriteTables(sql, txID, sourceTable) {
208
+ const hasBusinessTrigger = sql
209
+ .exec("SELECT 1 AS ok FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ? AND name NOT GLOB '_orez_cdc_*' LIMIT 1", sourceTable)
210
+ .toArray().length > 0;
211
+ const tables = sql
212
+ .exec("SELECT name FROM sqlite_master WHERE type = 'table' " +
213
+ "AND name NOT GLOB 'sqlite_*' AND name NOT GLOB '_orez_*' " +
214
+ "AND name NOT GLOB '_zero_*' ORDER BY name")
115
215
  .toArray()
116
- .map((row) => ({ name: String(row.name ?? ''), sql: String(row.sql ?? '') }))
117
- .filter((trigger) => trigger.name && trigger.sql);
216
+ .map((row) => String(row.name ?? ''))
217
+ .filter(Boolean);
218
+ const hasReferentialAction = tables.some((child) => sql
219
+ .exec(`PRAGMA foreign_key_list(${quoteIdent(child)})`)
220
+ .toArray()
221
+ .some((row) => {
222
+ if (String(row.table ?? '') !== sourceTable)
223
+ return false;
224
+ return [row.on_update, row.on_delete].some((action) => {
225
+ const normalized = String(action ?? 'NO ACTION').toUpperCase();
226
+ return normalized !== 'NO ACTION' && normalized !== 'RESTRICT';
227
+ });
228
+ }));
229
+ if (!hasBusinessTrigger && !hasReferentialAction)
230
+ return false;
231
+ for (const table of tables)
232
+ upgradeToTableSnapshot(sql, txID, table);
233
+ return true;
118
234
  }
119
235
  /**
120
236
  * roll back every journaled transaction belonging to `owner` (or every
@@ -128,7 +244,7 @@ function triggerDefinitionsForTables(sql, tables) {
128
244
  * returns the recovered transaction ids so callers can clean up associated
129
245
  * state (e.g. pending tracked changes).
130
246
  */
131
- export function recoverTxJournal(sql, owner) {
247
+ export function recoverTxJournal(sql, owner, beforeRollback) {
132
248
  const recovered = [];
133
249
  if (manifestTableExists(sql)) {
134
250
  const txRows = owner === undefined
@@ -138,6 +254,7 @@ export function recoverTxJournal(sql, owner) {
138
254
  .toArray();
139
255
  for (const row of txRows) {
140
256
  const txID = String(row.tx_id);
257
+ beforeRollback?.(txID);
141
258
  rollbackTxJournal(sql, txID);
142
259
  recovered.push(txID);
143
260
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tx-journal.js","sourceRoot":"","sources":["../../src/cf-do/tx-journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx-journal.js","sourceRoot":"","sources":["../../src/cf-do/tx-journal.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,13 @@ export declare class DurableWatermarkState {
9
9
  private readonly sql;
10
10
  private tablesReady;
11
11
  constructor(sql: DurableSqlStorage);
12
+ /**
13
+ * Forget that the tables exist. `ensureTables` runs inside the owner's
14
+ * storage transaction, so an abort rolls its CREATE TABLE back while this
15
+ * object still remembers succeeding, and every later insert would hit a table
16
+ * SQLite no longer has.
17
+ */
18
+ invalidateCache(): void;
12
19
  ensureTables(): void;
13
20
  next(): number;
14
21
  mark(watermark: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"watermark.d.ts","sourceRoot":"","sources":["../../src/cf-do/watermark.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC1C,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAA;CAC1D;AAaD,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,OAAO,CAAC,WAAW,CAAQ;gBAEE,GAAG,EAAE,iBAAiB;IAEnD,YAAY,IAAI,IAAI;IAcpB,IAAI,IAAI,MAAM;IAId,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,IAAI,MAAM;IAcjB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,wBAAwB;CAiBjC"}
1
+ {"version":3,"file":"watermark.d.ts","sourceRoot":"","sources":["../../src/cf-do/watermark.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC1C,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAA;CAC1D;AAaD,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,OAAO,CAAC,WAAW,CAAQ;gBAEE,GAAG,EAAE,iBAAiB;IAEnD;;;;;OAKG;IACH,eAAe,IAAI,IAAI;IAIvB,YAAY,IAAI,IAAI;IAcpB,IAAI,IAAI,MAAM;IAId,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,IAAI,MAAM;IAcjB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,wBAAwB;CAiBjC"}
@@ -12,6 +12,15 @@ export class DurableWatermarkState {
12
12
  constructor(sql) {
13
13
  this.sql = sql;
14
14
  }
15
+ /**
16
+ * Forget that the tables exist. `ensureTables` runs inside the owner's
17
+ * storage transaction, so an abort rolls its CREATE TABLE back while this
18
+ * object still remembers succeeding, and every later insert would hit a table
19
+ * SQLite no longer has.
20
+ */
21
+ invalidateCache() {
22
+ this.tablesReady = false;
23
+ }
15
24
  ensureTables() {
16
25
  if (this.tablesReady)
17
26
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"watermark.js","sourceRoot":"","sources":["../../src/cf-do/watermark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watermark.js","sourceRoot":"","sources":["../../src/cf-do/watermark.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,14 @@ interface Env {
23
23
  export declare class ZeroDO extends DurableObject {
24
24
  private sql;
25
25
  private watermarks;
26
+ private cdc;
26
27
  private schemaTables;
27
28
  private tableSchemas;
28
29
  private writeBudget;
29
30
  private writeBudgetDisabled;
30
31
  private writeBudgetAdminToken;
31
32
  private activeWriteMeasurements;
33
+ private pendingChangesSchemaReady;
32
34
  private recordWriteBudgetRows;
33
35
  private writeBudgetErrorResponse;
34
36
  constructor(ctx: DurableObjectState, env: Env);
@@ -68,6 +70,20 @@ export declare class ZeroDO extends DurableObject {
68
70
  private handleRecoverTransactions;
69
71
  private handleChanges;
70
72
  private handleSnapshot;
73
+ /**
74
+ * Run work in a storage transaction, re-deriving every in-memory schema cache
75
+ * from SQLite if it aborts.
76
+ *
77
+ * ctx.storage.transaction() rolls the SQLite side back on throw, but the
78
+ * caches are plain fields that keep asserting state SQLite no longer has: a
79
+ * CDC table stays "registered and verified" with no trigger left on disk, so
80
+ * ensureTable short-circuits and every later write to it goes silently
81
+ * uncaptured. The readiness flags are the same class: their CREATE TABLE is
82
+ * rolled back while the flag still says the table exists.
83
+ */
84
+ private atomically;
85
+ private atomicallySync;
86
+ private invalidateSchemaCaches;
71
87
  private tableHasColumn;
72
88
  private executeSQL;
73
89
  private cursorRows;
@@ -85,10 +101,12 @@ export declare class ZeroDO extends DurableObject {
85
101
  private updateRow;
86
102
  private deleteRow;
87
103
  private appendChange;
104
+ /** Record a trigger-captured change, before-images and row identity included. */
105
+ private appendCapturedChange;
88
106
  private appendTrackedChange;
89
107
  private appendCommittedTrackedChange;
90
108
  private ensurePendingTrackedChangesTable;
91
- private appendPendingTrackedChange;
109
+ private rollbackPendingTrackedChanges;
92
110
  private commitPendingTrackedChanges;
93
111
  private deletePendingTrackedChanges;
94
112
  private readChangesSince;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cf-do/worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAYlD;;;;;;;;;;;;;GAaG;AAEH,UAAU,GAAG;IACX,OAAO,EAAE,sBAAsB,CAAA;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,gCAAgC,CAAC,EAAE,MAAM,CAAA;IACzC,6BAA6B,CAAC,EAAE,MAAM,CAAA;CACvC;AAiID,qBAAa,MAAO,SAAQ,aAAa;IACvC,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,uBAAuB,CAAqC;IAEpE,OAAO,CAAC,qBAAqB;YA6Bf,wBAAwB;gBAO1B,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;IAkDvC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;YA+ClC,uBAAuB;IAgBrC,OAAO,CAAC,iBAAiB;IA0CnB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW;IA8B3E,cAAc,CACZ,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO;IAGpB,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,UAAU;YAqBJ,cAAc;IA4B5B,OAAO,CAAC,UAAU;YAcJ,UAAU;IAoCxB,2EAA2E;YAC7D,WAAW;YAkEX,0BAA0B;IAkBxC,OAAO,CAAC,qBAAqB;IAO7B;;;;;;OAMG;YACW,uBAAuB;YAyBvB,yBAAyB;IAwBvC;;;;OAIG;YACW,yBAAyB;YAiBzB,aAAa;YAuCb,cAAc;IAuB5B,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,mCAAmC;IAW3C,OAAO,CAAC,iCAAiC;IAMzC,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,0BAA0B;IAkBlC,OAAO,CAAC,2BAA2B;IAuBnC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,qBAAqB;IAsC7B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,YAAY;CAOrB;;mBAGsB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;;AAD5D,wBAQC;AAqBD,UAAU,kBAAkB;IAC1B,OAAO,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE,CAAA;IAC3E,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACzD,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;CACzC"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/cf-do/worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AA8BlD;;;;;;;;;;;;;GAaG;AAEH,UAAU,GAAG;IACX,OAAO,EAAE,sBAAsB,CAAA;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,gCAAgC,CAAC,EAAE,MAAM,CAAA;IACzC,6BAA6B,CAAC,EAAE,MAAM,CAAA;CACvC;AAqID,qBAAa,MAAO,SAAQ,aAAa;IACvC,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,uBAAuB,CAAqC;IACpE,OAAO,CAAC,yBAAyB,CAAQ;IAEzC,OAAO,CAAC,qBAAqB;YA6Bf,wBAAwB;gBAO1B,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;IAmDvC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;YA+ClC,uBAAuB;IAgBrC,OAAO,CAAC,iBAAiB;IA0CnB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW;IA8B3E,cAAc,CACZ,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO;IAGpB,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,UAAU;YAqBJ,cAAc;IA4B5B,OAAO,CAAC,UAAU;YAcJ,UAAU;IAwCxB,2EAA2E;YAC7D,WAAW;YAyEX,0BAA0B;IAkBxC,OAAO,CAAC,qBAAqB;IAO7B;;;;;;OAMG;YACW,uBAAuB;YAyBvB,yBAAyB;IAyBvC;;;;OAIG;YACW,yBAAyB;YAmBzB,aAAa;YAuCb,cAAc;IAmB5B;;;;;;;;;;OAUG;YACW,UAAU;IASxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,UAAU;IAoHlB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,mCAAmC;IAW3C,OAAO,CAAC,iCAAiC;IAMzC,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,YAAY;IASpB,iFAAiF;IACjF,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,2BAA2B;IAuBnC,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,qBAAqB;IAsC7B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,YAAY;CAOrB;;mBAGsB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;;AAD5D,wBAQC;AAqBD,UAAU,kBAAkB;IAC1B,OAAO,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE,CAAA;IAC3E,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACzD,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;CACzC"}