orez 0.0.18 → 0.0.19

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.
@@ -6,7 +6,8 @@
6
6
  * it's talking to a real postgres with logical replication.
7
7
  */
8
8
  import { log } from '../log.js';
9
- import { getChangesSince, getCurrentWatermark, } from './change-tracker.js';
9
+ import { pgMutex } from '../mutex.js';
10
+ import { getChangesSince, getCurrentWatermark, installTriggersOnShardTables, } from './change-tracker.js';
10
11
  import { encodeBegin, encodeCommit, encodeRelation, encodeInsert, encodeUpdate, encodeDelete, encodeKeepalive, wrapXLogData, wrapCopyData, getTableOid, inferColumns, } from './pgoutput-encoder.js';
11
12
  // current lsn counter
12
13
  let currentLsn = 0x1000000n;
@@ -179,6 +180,11 @@ export async function handleReplicationQuery(query, db) {
179
180
  if (upper.startsWith('ALTER ROLE') && upper.includes('REPLICATION')) {
180
181
  return buildCommandComplete('ALTER ROLE');
181
182
  }
183
+ // SET TRANSACTION - pglite rejects this if any query ran first (e.g. SET search_path).
184
+ // return synthetic response since pglite is single-connection and doesn't need isolation levels.
185
+ if (upper.startsWith('SET TRANSACTION') || upper.startsWith('SET SESSION')) {
186
+ return buildCommandComplete('SET');
187
+ }
182
188
  return null;
183
189
  }
184
190
  /**
@@ -195,8 +201,21 @@ export async function handleStartReplication(query, writer, db) {
195
201
  new DataView(copyBoth.buffer).setInt16(6, 0); // 0 columns
196
202
  writer.write(copyBoth);
197
203
  let lastWatermark = 0;
198
- // set up LISTEN for real-time change notifications
199
- await db.exec(`
204
+ // declared outside mutex block so they're accessible in the poll loop
205
+ const tableKeyColumns = new Map();
206
+ const excludedColumns = new Map();
207
+ const booleanColumns = new Map();
208
+ // acquire mutex for all setup queries to avoid conflicting with proxy connections.
209
+ // the change-streamer's initial copy also queries PGlite via the proxy, and
210
+ // direct db.query()/db.exec() calls here bypass the proxy's mutex, causing
211
+ // "already in transaction" errors when they interleave.
212
+ await pgMutex.acquire();
213
+ try {
214
+ // install change tracking triggers on shard schema tables (e.g. chat_0.clients)
215
+ // these track zero-cache's lastMutationID for .server promise resolution
216
+ await installTriggersOnShardTables(db);
217
+ // set up LISTEN for real-time change notifications
218
+ await db.exec(`
200
219
  CREATE OR REPLACE FUNCTION public._zero_notify_change() RETURNS TRIGGER AS $$
201
220
  BEGIN
202
221
  PERFORM pg_notify('_zero_changes', TG_TABLE_NAME);
@@ -204,66 +223,109 @@ export async function handleStartReplication(query, writer, db) {
204
223
  END;
205
224
  $$ LANGUAGE plpgsql;
206
225
  `);
207
- // install notify trigger on tracked tables (use configured publication if available)
208
- const pubName = process.env.ZERO_APP_PUBLICATIONS;
209
- let tables;
210
- if (pubName) {
211
- const result = await db.query(`SELECT tablename FROM pg_publication_tables
226
+ // install notify trigger on tracked tables (use configured publication if available)
227
+ const pubName = process.env.ZERO_APP_PUBLICATIONS;
228
+ let tables;
229
+ if (pubName) {
230
+ const result = await db.query(`SELECT tablename FROM pg_publication_tables
212
231
  WHERE pubname = $1 AND schemaname = 'public' AND tablename NOT LIKE '_zero_%'`, [pubName]);
213
- tables = result.rows;
214
- }
215
- else {
216
- const result = await db.query(`SELECT tablename FROM pg_tables
232
+ tables = result.rows;
233
+ }
234
+ else {
235
+ const result = await db.query(`SELECT tablename FROM pg_tables
217
236
  WHERE schemaname = 'public'
218
237
  AND tablename NOT IN ('migrations', '_zero_changes')
219
238
  AND tablename NOT LIKE '_zero_%'`);
220
- tables = result.rows;
221
- }
222
- for (const { tablename } of tables) {
223
- const quoted = '"' + tablename.replace(/"/g, '""') + '"';
224
- await db.exec(`
239
+ tables = result.rows;
240
+ }
241
+ for (const { tablename } of tables) {
242
+ const quoted = '"' + tablename.replace(/"/g, '""') + '"';
243
+ await db.exec(`
225
244
  DROP TRIGGER IF EXISTS _zero_notify_trigger ON public.${quoted};
226
245
  CREATE TRIGGER _zero_notify_trigger
227
246
  AFTER INSERT OR UPDATE OR DELETE ON public.${quoted}
228
247
  FOR EACH STATEMENT EXECUTE FUNCTION public._zero_notify_change();
229
248
  `);
230
- }
231
- // build primary key lookup for all public tables
232
- const tableKeyColumns = new Map();
233
- const pkResult = await db.query(`SELECT tc.table_name, kcu.column_name
234
- FROM information_schema.table_constraints tc
235
- JOIN information_schema.key_column_usage kcu
236
- ON tc.constraint_name = kcu.constraint_name
237
- AND tc.table_schema = kcu.table_schema
238
- WHERE tc.constraint_type = 'PRIMARY KEY'
239
- AND tc.table_schema = 'public'`);
240
- for (const { table_name, column_name } of pkResult.rows) {
241
- let keys = tableKeyColumns.get(table_name);
242
- if (!keys) {
243
- keys = new Set();
244
- tableKeyColumns.set(table_name, keys);
245
249
  }
246
- keys.add(column_name);
247
- }
248
- log.debug.proxy(`loaded primary keys for ${tableKeyColumns.size} tables`);
249
- // build excluded columns lookup (types zero-cache can't handle)
250
- const excludedColumns = new Map();
251
- const UNSUPPORTED_TYPES = new Set(['tsvector', 'tsquery', 'USER-DEFINED']);
252
- const colResult = await db.query(`SELECT table_name, column_name, data_type
253
- FROM information_schema.columns
254
- WHERE table_schema = 'public'`);
255
- for (const { table_name, column_name, data_type } of colResult.rows) {
256
- if (UNSUPPORTED_TYPES.has(data_type)) {
257
- let cols = excludedColumns.get(table_name);
258
- if (!cols) {
259
- cols = new Set();
260
- excludedColumns.set(table_name, cols);
250
+ // discover shard schemas (e.g. chat_0) and install NOTIFY triggers
251
+ const shardSchemas = await db.query(`SELECT nspname FROM pg_namespace
252
+ WHERE nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast', 'public')
253
+ AND nspname NOT LIKE 'pg_%'
254
+ AND nspname NOT LIKE 'zero_%'
255
+ AND nspname NOT LIKE '_zero_%'
256
+ AND nspname NOT LIKE '%/%'`);
257
+ const relevantSchemas = ['public', ...shardSchemas.rows.map((r) => r.nspname)];
258
+ for (const schema of relevantSchemas) {
259
+ if (schema === 'public')
260
+ continue;
261
+ const shardTables = await db.query(`SELECT tablename FROM pg_tables WHERE schemaname = $1`, [schema]);
262
+ for (const { tablename } of shardTables.rows) {
263
+ const quotedSchema = '"' + schema.replace(/"/g, '""') + '"';
264
+ const quotedTable = '"' + tablename.replace(/"/g, '""') + '"';
265
+ await db.exec(`
266
+ DROP TRIGGER IF EXISTS _zero_notify_trigger ON ${quotedSchema}.${quotedTable};
267
+ CREATE TRIGGER _zero_notify_trigger
268
+ AFTER INSERT OR UPDATE OR DELETE ON ${quotedSchema}.${quotedTable}
269
+ FOR EACH STATEMENT EXECUTE FUNCTION public._zero_notify_change();
270
+ `);
271
+ }
272
+ if (shardTables.rows.length > 0) {
273
+ log.debug.proxy(`installed notify triggers on ${shardTables.rows.length} tables in schema "${schema}"`);
274
+ }
275
+ }
276
+ // build primary key lookup for all relevant schemas
277
+ for (const schema of relevantSchemas) {
278
+ const pkResult = await db.query(`SELECT tc.table_name, kcu.column_name
279
+ FROM information_schema.table_constraints tc
280
+ JOIN information_schema.key_column_usage kcu
281
+ ON tc.constraint_name = kcu.constraint_name
282
+ AND tc.table_schema = kcu.table_schema
283
+ WHERE tc.constraint_type = 'PRIMARY KEY'
284
+ AND tc.table_schema = $1`, [schema]);
285
+ for (const { table_name, column_name } of pkResult.rows) {
286
+ const key = `${schema}.${table_name}`;
287
+ let keys = tableKeyColumns.get(key);
288
+ if (!keys) {
289
+ keys = new Set();
290
+ tableKeyColumns.set(key, keys);
291
+ }
292
+ keys.add(column_name);
293
+ }
294
+ }
295
+ log.debug.proxy(`loaded primary keys for ${tableKeyColumns.size} tables`);
296
+ // build excluded columns lookup (types zero-cache can't handle)
297
+ // also track boolean columns so we can send correct typeOid (16) in RELATION messages.
298
+ const UNSUPPORTED_TYPES = new Set(['tsvector', 'tsquery', 'USER-DEFINED']);
299
+ for (const schema of relevantSchemas) {
300
+ const colResult = await db.query(`SELECT table_name, column_name, data_type
301
+ FROM information_schema.columns
302
+ WHERE table_schema = $1`, [schema]);
303
+ for (const { table_name, column_name, data_type } of colResult.rows) {
304
+ const key = `${schema}.${table_name}`;
305
+ if (UNSUPPORTED_TYPES.has(data_type)) {
306
+ let cols = excludedColumns.get(key);
307
+ if (!cols) {
308
+ cols = new Set();
309
+ excludedColumns.set(key, cols);
310
+ }
311
+ cols.add(column_name);
312
+ }
313
+ if (data_type === 'boolean') {
314
+ let cols = booleanColumns.get(key);
315
+ if (!cols) {
316
+ cols = new Set();
317
+ booleanColumns.set(key, cols);
318
+ }
319
+ cols.add(column_name);
320
+ }
261
321
  }
262
- cols.add(column_name);
322
+ }
323
+ if (excludedColumns.size > 0) {
324
+ log.debug.proxy(`excluding unsupported columns: ${[...excludedColumns.entries()].map(([t, c]) => `${t}(${[...c].join(',')})`).join(', ')}`);
263
325
  }
264
326
  }
265
- if (excludedColumns.size > 0) {
266
- log.debug.proxy(`excluding unsupported columns: ${[...excludedColumns.entries()].map(([t, c]) => `${t}(${[...c].join(',')})`).join(', ')}`);
327
+ finally {
328
+ pgMutex.release();
267
329
  }
268
330
  // track which tables we've sent RELATION messages for
269
331
  const sentRelations = new Set();
@@ -274,9 +336,17 @@ export async function handleStartReplication(query, writer, db) {
274
336
  const poll = async () => {
275
337
  while (running) {
276
338
  try {
277
- const changes = await getChangesSince(db, lastWatermark, 100);
339
+ // acquire mutex to avoid conflicting with proxy connections
340
+ await pgMutex.acquire();
341
+ let changes;
342
+ try {
343
+ changes = await getChangesSince(db, lastWatermark, 100);
344
+ }
345
+ finally {
346
+ pgMutex.release();
347
+ }
278
348
  if (changes.length > 0) {
279
- await streamChanges(changes, writer, sentRelations, txCounter++, tableKeyColumns, excludedColumns);
349
+ await streamChanges(changes, writer, sentRelations, txCounter++, tableKeyColumns, excludedColumns, booleanColumns);
280
350
  lastWatermark = changes[changes.length - 1].watermark;
281
351
  }
282
352
  // send keepalive
@@ -299,15 +369,20 @@ export async function handleStartReplication(query, writer, db) {
299
369
  await poll();
300
370
  log.debug.proxy('replication: poll loop exited');
301
371
  }
302
- async function streamChanges(changes, writer, sentRelations, txId, tableKeyColumns, excludedColumns) {
372
+ async function streamChanges(changes, writer, sentRelations, txId, tableKeyColumns, excludedColumns, booleanColumns) {
303
373
  const ts = nowMicros();
304
374
  const lsn = nextLsn();
305
375
  // BEGIN
306
376
  const beginMsg = wrapXLogData(lsn, lsn, ts, encodeBegin(lsn, ts, txId));
307
377
  writer.write(wrapCopyData(beginMsg));
308
378
  for (const change of changes) {
309
- const tableOid = getTableOid(change.table_name);
310
- const excluded = excludedColumns.get(change.table_name);
379
+ // parse schema-qualified name (schema.table or bare table)
380
+ const dot = change.table_name.indexOf('.');
381
+ const schema = dot !== -1 ? change.table_name.substring(0, dot) : 'public';
382
+ const tableName = dot !== -1 ? change.table_name.substring(dot + 1) : change.table_name;
383
+ const qualifiedKey = `${schema}.${tableName}`;
384
+ const tableOid = getTableOid(qualifiedKey);
385
+ const excluded = excludedColumns.get(qualifiedKey);
311
386
  // filter out unsupported columns from row data
312
387
  let rowData = change.row_data;
313
388
  let oldData = change.old_data;
@@ -322,16 +397,18 @@ async function streamChanges(changes, writer, sentRelations, txId, tableKeyColum
322
397
  const row = rowData || oldData;
323
398
  if (!row)
324
399
  continue;
325
- const keySet = tableKeyColumns.get(change.table_name);
400
+ const keySet = tableKeyColumns.get(qualifiedKey);
401
+ const boolSet = booleanColumns.get(qualifiedKey);
326
402
  const columns = inferColumns(row).map((col) => ({
327
403
  ...col,
404
+ typeOid: boolSet?.has(col.name) ? 16 : col.typeOid,
328
405
  isKey: keySet?.has(col.name) ?? false,
329
406
  }));
330
407
  // send RELATION if not yet sent
331
- if (!sentRelations.has(change.table_name)) {
332
- const relMsg = encodeRelation(tableOid, 'public', change.table_name, 0x64, columns);
408
+ if (!sentRelations.has(qualifiedKey)) {
409
+ const relMsg = encodeRelation(tableOid, schema, tableName, 0x64, columns);
333
410
  writer.write(wrapCopyData(wrapXLogData(lsn, lsn, ts, relMsg)));
334
- sentRelations.add(change.table_name);
411
+ sentRelations.add(qualifiedKey);
335
412
  }
336
413
  // send the change
337
414
  let changeMsg = null;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pgoutput-encoder.d.ts","sourceRoot":"","sources":["../../src/replication/pgoutput-encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,iBAAS,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAGD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE,CAMvE;AAmBD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAOnF;AAGD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,UAAU,CAQZ;AAGD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CA2CZ;AA4CD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CAQZ;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CAqBZ;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CAQZ;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,UAAU,GACf,UAAU,CAQZ;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAMzD;AAGD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,GACtB,UAAU,CAOZ;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"pgoutput-encoder.d.ts","sourceRoot":"","sources":["../../src/replication/pgoutput-encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,iBAAS,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAGD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE,CAMvE;AAmBD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAOnF;AAGD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,UAAU,CAQZ;AAGD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CA2CZ;AAoDD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CAQZ;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CAqBZ;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,UAAU,EAAE,GACpB,UAAU,CAQZ;AAGD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,UAAU,GACf,UAAU,CAQZ;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAMzD;AAGD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,GACtB,UAAU,CAOZ;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -108,7 +108,17 @@ function encodeTupleData(row, columns) {
108
108
  totalSize += 1; // 'n' byte
109
109
  }
110
110
  else {
111
- const strVal = typeof val === 'object' ? JSON.stringify(val) : String(val);
111
+ // convert to postgresql text format
112
+ let strVal;
113
+ if (typeof val === 'boolean') {
114
+ strVal = val ? 't' : 'f';
115
+ }
116
+ else if (typeof val === 'object') {
117
+ strVal = JSON.stringify(val);
118
+ }
119
+ else {
120
+ strVal = String(val);
121
+ }
112
122
  const bytes = encodeString(strVal);
113
123
  values.push(bytes);
114
124
  totalSize += 1 + 4 + bytes.length; // 't' + len + data
@@ -1 +1 @@
1
- {"version":3,"file":"pgoutput-encoder.js","sourceRoot":"","sources":["../../src/replication/pgoutput-encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pgoutput-encoder.js","sourceRoot":"","sources":["../../src/replication/pgoutput-encoder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "dev": "tsc --watch",
33
33
  "test": "vitest run",
34
34
  "test:watch": "vitest",
35
- "lint": "oxlint --import-plugin",
35
+ "lint": "oxlint --import-plugin --ignore-pattern sqlite-wasm/",
36
36
  "format": "oxfmt .",
37
37
  "format:check": "oxfmt --check .",
38
38
  "check": "tsc --noEmit",
@@ -43,7 +43,7 @@
43
43
  "dependencies": {
44
44
  "@electric-sql/pglite": "^0.2.17",
45
45
  "@rocicorp/zero": ">=0.1.0",
46
- "bedrock-sqlite": "0.0.10",
46
+ "bedrock-sqlite": "0.0.11",
47
47
  "citty": "^0.2.0",
48
48
  "pg-gateway": "^0.3.0-beta.4"
49
49
  },
package/src/cli.ts CHANGED
@@ -105,7 +105,7 @@ const main = defineCommand({
105
105
  'disable-wasm-sqlite': {
106
106
  type: 'boolean',
107
107
  description: 'use native @rocicorp/zero-sqlite3 instead of wasm bedrock-sqlite',
108
- default: false,
108
+ default: true,
109
109
  },
110
110
  'on-db-ready': {
111
111
  type: 'string',
package/src/config.ts CHANGED
@@ -27,7 +27,7 @@ export function getConfig(overrides: Partial<ZeroLiteConfig> = {}): ZeroLiteConf
27
27
  migrationsDir: overrides.migrationsDir || '',
28
28
  seedFile: overrides.seedFile || 'src/database/seed.sql',
29
29
  skipZeroCache: overrides.skipZeroCache || false,
30
- disableWasmSqlite: overrides.disableWasmSqlite || false,
30
+ disableWasmSqlite: overrides.disableWasmSqlite ?? true,
31
31
  logLevel: overrides.logLevel || 'info',
32
32
  pgliteOptions: overrides.pgliteOptions || {},
33
33
  onDbReady: overrides.onDbReady || '',
package/src/index.ts CHANGED
@@ -272,6 +272,15 @@ function patchSqliteForWasm(): void {
272
272
  if (current.includes('OrigDatabase')) return // already patched
273
273
  }
274
274
 
275
+ // back up originals before patching
276
+ if (existsSync(indexPath)) {
277
+ writeFileSync(indexPath + '.original', readFileSync(indexPath))
278
+ }
279
+ const dbBackupPath = resolve(libDir, 'database.js')
280
+ if (existsSync(dbBackupPath)) {
281
+ writeFileSync(dbBackupPath + '.original', readFileSync(dbBackupPath))
282
+ }
283
+
275
284
  // resolve bedrock-sqlite's dist entry point
276
285
  const bedrockEntry = resolvePackage('bedrock-sqlite')
277
286
  if (!existsSync(bedrockEntry)) {
@@ -287,9 +296,6 @@ var OrigDatabase = mod.Database;
287
296
  var SqliteError = mod.SqliteError;
288
297
 
289
298
  // wrap constructor to set busy_timeout on every connection immediately.
290
- // VFS nodejsLock retries with Atomics.wait, and nodejsSleep enables
291
- // SQLite's busy handler - so busy_timeout works properly in WASM now.
292
- // WAL mode is left to zero-cache to manage (needed for BEGIN CONCURRENT).
293
299
  function Database() {
294
300
  var db = new OrigDatabase(...arguments);
295
301
  try {
@@ -358,6 +364,31 @@ module.exports.SqliteError = SqliteError;
358
364
  }
359
365
  }
360
366
 
367
+ function unpatchSqliteWasm(): void {
368
+ // restore native @rocicorp/zero-sqlite3 if it was previously patched
369
+ try {
370
+ const sqliteEntry = resolvePackage('@rocicorp/zero-sqlite3')
371
+ if (!sqliteEntry) return
372
+ const libDir = resolve(sqliteEntry, '..')
373
+ const indexPath = resolve(libDir, 'index.js')
374
+ if (!existsSync(indexPath)) return
375
+ const current = readFileSync(indexPath, 'utf-8')
376
+ if (!current.includes('OrigDatabase')) return // not patched
377
+
378
+ // restore from backups if available
379
+ for (const file of ['index.js', 'database.js']) {
380
+ const filePath = resolve(libDir, file)
381
+ const backupPath = filePath + '.original'
382
+ if (existsSync(backupPath)) {
383
+ writeFileSync(filePath, readFileSync(backupPath))
384
+ }
385
+ }
386
+ log.orez('restored native @rocicorp/zero-sqlite3 (removed wasm patch)')
387
+ } catch (e) {
388
+ log.orez(`failed to restore native sqlite: ${e}`)
389
+ }
390
+ }
391
+
361
392
  async function startZeroCache(config: ZeroLiteConfig): Promise<ChildProcess> {
362
393
  // resolve @rocicorp/zero entry for finding zero-cache modules
363
394
  const zeroEntry = resolvePackage('@rocicorp/zero')
@@ -370,6 +401,7 @@ async function startZeroCache(config: ZeroLiteConfig): Promise<ChildProcess> {
370
401
  if (!config.disableWasmSqlite) {
371
402
  patchSqliteForWasm()
372
403
  } else {
404
+ unpatchSqliteWasm()
373
405
  log.debug.orez('wasm sqlite disabled, using native @rocicorp/zero-sqlite3')
374
406
  }
375
407