@livestore/sqlite-wasm 0.4.0-dev.22 → 0.4.0-dev.24

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 (79) hide show
  1. package/README.md +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/FacadeVFS.d.ts +0 -1
  4. package/dist/FacadeVFS.d.ts.map +1 -1
  5. package/dist/FacadeVFS.js +9 -14
  6. package/dist/FacadeVFS.js.map +1 -1
  7. package/dist/browser/mod.d.ts +2 -2
  8. package/dist/browser/mod.d.ts.map +1 -1
  9. package/dist/browser/mod.js +2 -2
  10. package/dist/browser/mod.js.map +1 -1
  11. package/dist/browser/opfs/AccessHandlePoolVFS.d.ts.map +1 -1
  12. package/dist/browser/opfs/AccessHandlePoolVFS.js +15 -13
  13. package/dist/browser/opfs/AccessHandlePoolVFS.js.map +1 -1
  14. package/dist/browser/opfs/opfs-sah-pool.js +3 -3
  15. package/dist/browser/opfs/opfs-sah-pool.js.map +1 -1
  16. package/dist/cf/CloudflareDurableObjectVFS.d.ts +104 -0
  17. package/dist/cf/CloudflareDurableObjectVFS.d.ts.map +1 -0
  18. package/dist/cf/CloudflareDurableObjectVFS.js +281 -0
  19. package/dist/cf/CloudflareDurableObjectVFS.js.map +1 -0
  20. package/dist/cf/CloudflareWorkerVFS.d.ts.map +1 -1
  21. package/dist/cf/CloudflareWorkerVFS.js +29 -28
  22. package/dist/cf/CloudflareWorkerVFS.js.map +1 -1
  23. package/dist/cf/mod.d.ts +3 -4
  24. package/dist/cf/mod.d.ts.map +1 -1
  25. package/dist/cf/mod.js +4 -12
  26. package/dist/cf/mod.js.map +1 -1
  27. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js +5 -4
  28. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js.map +1 -1
  29. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js +3 -3
  30. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js.map +1 -1
  31. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js +3 -3
  32. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js.map +1 -1
  33. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js +3 -3
  34. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js.map +1 -1
  35. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js +194 -179
  36. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js.map +1 -1
  37. package/dist/in-memory-vfs.d.ts.map +1 -1
  38. package/dist/in-memory-vfs.js +0 -1
  39. package/dist/in-memory-vfs.js.map +1 -1
  40. package/dist/load-wasm/mod.node.js +1 -1
  41. package/dist/load-wasm/mod.node.js.map +1 -1
  42. package/dist/load-wasm/mod.workerd.d.ts.map +1 -1
  43. package/dist/load-wasm/mod.workerd.js.map +1 -1
  44. package/dist/make-sqlite-db.d.ts.map +1 -1
  45. package/dist/make-sqlite-db.js +16 -4
  46. package/dist/make-sqlite-db.js.map +1 -1
  47. package/dist/node/NodeFS.d.ts.map +1 -1
  48. package/dist/node/NodeFS.js +13 -13
  49. package/dist/node/NodeFS.js.map +1 -1
  50. package/package.json +54 -15
  51. package/src/FacadeVFS.ts +9 -14
  52. package/src/browser/mod.ts +1 -1
  53. package/src/browser/opfs/AccessHandlePoolVFS.ts +33 -25
  54. package/src/browser/opfs/opfs-sah-pool.ts +3 -3
  55. package/src/cf/CloudflareDurableObjectVFS.ts +325 -0
  56. package/src/cf/CloudflareWorkerVFS.ts +41 -39
  57. package/src/cf/README.md +3 -3
  58. package/src/cf/mod.ts +10 -15
  59. package/src/cf/test/README.md +55 -26
  60. package/src/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.ts +6 -4
  61. package/src/cf/test/async-storage/cloudflare-worker-vfs-core.test.ts +4 -3
  62. package/src/cf/test/async-storage/cloudflare-worker-vfs-integration.test.ts +4 -3
  63. package/src/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.ts +4 -3
  64. package/src/cf/test/sql/cloudflare-sql-vfs-core.test.ts +228 -197
  65. package/src/in-memory-vfs.ts +0 -1
  66. package/src/load-wasm/mod.node.ts +1 -1
  67. package/src/load-wasm/mod.workerd.ts +0 -1
  68. package/src/make-sqlite-db.ts +24 -4
  69. package/src/node/NodeFS.ts +24 -23
  70. package/dist/cf/BlockManager.d.ts +0 -61
  71. package/dist/cf/BlockManager.d.ts.map +0 -1
  72. package/dist/cf/BlockManager.js +0 -157
  73. package/dist/cf/BlockManager.js.map +0 -1
  74. package/dist/cf/CloudflareSqlVFS.d.ts +0 -51
  75. package/dist/cf/CloudflareSqlVFS.d.ts.map +0 -1
  76. package/dist/cf/CloudflareSqlVFS.js +0 -351
  77. package/dist/cf/CloudflareSqlVFS.js.map +0 -1
  78. package/src/cf/BlockManager.ts +0 -225
  79. package/src/cf/CloudflareSqlVFS.ts +0 -450
@@ -1,113 +1,118 @@
1
1
  /// <reference types="vitest/globals" />
2
2
  import * as VFS from '@livestore/wa-sqlite/src/VFS.js';
3
3
  import { beforeEach, describe, expect, it } from 'vitest';
4
- import { CloudflareSqlVFS } from "../../mod.js";
5
- describe('CloudflareSqlVFS - Core Functionality', () => {
4
+ import { CF_SQL_VFS_PAGE_SIZE, CloudflareDurableObjectVFS } from "../../mod.js";
5
+ const makePage = (fillByte, text) => {
6
+ const page = new Uint8Array(CF_SQL_VFS_PAGE_SIZE);
7
+ page.fill(fillByte);
8
+ if (text !== undefined) {
9
+ page.set(new TextEncoder().encode(text));
10
+ }
11
+ return page;
12
+ };
13
+ describe('CloudflareDurableObjectVFS - Core Functionality', () => {
6
14
  let vfs;
7
15
  let mockSql;
8
- let mockDatabase;
16
+ /** In-memory page store keyed by file_path and page_no */
17
+ let mockPages;
9
18
  let queryLog;
10
19
  beforeEach(async () => {
11
- mockDatabase = new Map();
20
+ mockPages = new Map();
12
21
  queryLog = [];
22
+ const getOrCreateFilePages = (filePath) => {
23
+ let pages = mockPages.get(filePath);
24
+ if (pages === undefined) {
25
+ pages = new Map();
26
+ mockPages.set(filePath, pages);
27
+ }
28
+ return pages;
29
+ };
13
30
  // Mock SQL storage that mimics the Cloudflare DurableObject SQL API
14
31
  mockSql = {
15
32
  exec: (query, ...bindings) => {
16
33
  queryLog.push(`${query} [${bindings.join(', ')}]`);
17
- // Simple SQL parser for testing - handles basic CREATE, INSERT, SELECT, UPDATE, DELETE
18
- const normalizedQuery = query.trim().toUpperCase();
19
- if (normalizedQuery.includes('CREATE TABLE') ||
20
- normalizedQuery.includes('CREATE INDEX') ||
21
- normalizedQuery.includes('CREATE TRIGGER')) {
22
- // Handle schema creation
34
+ const normalizedQuery = query.trim().replace(/\s+/g, ' ').toUpperCase();
35
+ if (normalizedQuery.includes('CREATE TABLE') === true) {
23
36
  return createMockCursor([]);
24
37
  }
25
- if (normalizedQuery.startsWith('INSERT OR REPLACE INTO VFS_BLOCKS')) {
26
- const [filePath, blockId, blockData] = bindings;
27
- const key = `blocks:${filePath}`;
28
- if (!mockDatabase.has(key)) {
29
- mockDatabase.set(key, []);
30
- }
31
- const blocks = mockDatabase.get(key);
32
- const existingIndex = blocks.findIndex((b) => b.block_id === blockId);
33
- const blockEntry = { file_path: filePath, block_id: blockId, block_data: blockData };
34
- if (existingIndex >= 0) {
35
- blocks[existingIndex] = blockEntry;
36
- }
37
- else {
38
- blocks.push(blockEntry);
39
- }
38
+ // INSERT OR REPLACE INTO vfs_pages (file_path, page_no, page_data) VALUES (?, ?, ?)
39
+ if (normalizedQuery.startsWith('INSERT OR REPLACE INTO VFS_PAGES') === true) {
40
+ const [filePath, pageNo, pageData] = bindings;
41
+ getOrCreateFilePages(filePath).set(pageNo, pageData instanceof Uint8Array ? pageData : new Uint8Array(pageData));
40
42
  return createMockCursor([]);
41
43
  }
42
- if (normalizedQuery.startsWith('INSERT INTO VFS_FILES')) {
43
- const [filePath, fileSize, flags, createdAt, modifiedAt] = bindings;
44
- mockDatabase.set(`file:${filePath}`, {
45
- file_path: filePath,
46
- file_size: fileSize,
47
- flags: flags,
48
- created_at: createdAt,
49
- modified_at: modifiedAt,
50
- });
51
- return createMockCursor([]);
44
+ // SELECT page_data FROM vfs_pages WHERE file_path = ? AND page_no = ?
45
+ if (normalizedQuery.startsWith('SELECT PAGE_DATA FROM VFS_PAGES WHERE FILE_PATH = ? AND PAGE_NO = ?') === true) {
46
+ const [filePath, pageNo] = bindings;
47
+ const data = mockPages.get(filePath)?.get(pageNo);
48
+ return createMockCursor(data !== undefined ? [{ page_data: data }] : []);
52
49
  }
53
- if (normalizedQuery.startsWith('SELECT') && normalizedQuery.includes('FROM VFS_FILES')) {
54
- if (normalizedQuery.includes('WHERE FILE_PATH = ?')) {
55
- const [filePath] = bindings;
56
- const fileData = mockDatabase.get(`file:${filePath}`);
57
- return createMockCursor(fileData ? [fileData] : []);
50
+ // SELECT 1 AS x FROM vfs_pages LIMIT 1
51
+ if (normalizedQuery.includes('SELECT 1 AS X FROM VFS_PAGES') === true) {
52
+ if (mockPages.size > 0) {
53
+ return createMockCursor([{ x: 1 }]);
58
54
  }
59
55
  return createMockCursor([]);
60
56
  }
61
- if (normalizedQuery.startsWith('SELECT') && normalizedQuery.includes('FROM VFS_BLOCKS')) {
62
- if (normalizedQuery.includes('WHERE FILE_PATH = ?')) {
63
- const filePath = bindings[0];
64
- const blocks = mockDatabase.get(`blocks:${filePath}`) || [];
65
- if (normalizedQuery.includes('AND BLOCK_ID IN')) {
66
- const requestedBlockIds = bindings.slice(1);
67
- const matchingBlocks = blocks.filter((b) => requestedBlockIds.includes(b.block_id));
68
- return createMockCursor(matchingBlocks);
69
- }
70
- return createMockCursor(blocks);
57
+ // SELECT MAX(page_no) AS max_page FROM vfs_pages WHERE file_path = ?
58
+ if (normalizedQuery.includes('SELECT MAX(PAGE_NO) AS MAX_PAGE FROM VFS_PAGES WHERE FILE_PATH = ?') === true) {
59
+ const [filePath] = bindings;
60
+ const pages = mockPages.get(filePath);
61
+ if (pages === undefined || pages.size === 0) {
62
+ return createMockCursor([{ max_page: null }]);
71
63
  }
72
- return createMockCursor([]);
64
+ const maxPage = Math.max(...pages.keys());
65
+ return createMockCursor([{ max_page: maxPage }]);
73
66
  }
74
- if (normalizedQuery.startsWith('UPDATE VFS_FILES')) {
75
- if (normalizedQuery.includes('SET FILE_SIZE = ?')) {
76
- const [newSize, filePath] = bindings;
77
- const fileData = mockDatabase.get(`file:${filePath}`);
78
- if (fileData) {
79
- fileData.file_size = newSize;
80
- fileData.modified_at = Math.floor(Date.now() / 1000);
67
+ // SELECT COUNT(*) AS total_pages, COALESCE(...) FROM vfs_pages
68
+ if (normalizedQuery.includes('FROM VFS_PAGES') === true && normalizedQuery.includes('COUNT(*)') === true) {
69
+ let totalBytes = 0;
70
+ let totalPages = 0;
71
+ for (const pages of mockPages.values()) {
72
+ totalPages += pages.size;
73
+ for (const data of pages.values()) {
74
+ totalBytes += data.length;
81
75
  }
82
76
  }
83
- return createMockCursor([]);
77
+ return createMockCursor([{ total_pages: totalPages, total_bytes: totalBytes }]);
84
78
  }
85
- if (normalizedQuery.startsWith('DELETE FROM VFS_BLOCKS')) {
86
- const [filePath, minBlockId] = bindings;
87
- const blocks = mockDatabase.get(`blocks:${filePath}`);
88
- if (blocks) {
89
- const filteredBlocks = blocks.filter((b) => b.block_id < minBlockId);
90
- mockDatabase.set(`blocks:${filePath}`, filteredBlocks);
79
+ // DELETE FROM vfs_pages WHERE file_path = ? AND page_no >= ?
80
+ if (normalizedQuery.startsWith('DELETE FROM VFS_PAGES WHERE FILE_PATH = ? AND PAGE_NO >= ?') === true) {
81
+ const [filePath, minPageNo] = bindings;
82
+ const pages = mockPages.get(filePath);
83
+ if (pages !== undefined) {
84
+ for (const pageNo of pages.keys()) {
85
+ if (pageNo >= minPageNo) {
86
+ pages.delete(pageNo);
87
+ }
88
+ }
89
+ if (pages.size === 0) {
90
+ mockPages.delete(filePath);
91
+ }
91
92
  }
92
93
  return createMockCursor([]);
93
94
  }
94
- if (normalizedQuery.startsWith('DELETE FROM VFS_FILES')) {
95
+ // DELETE FROM vfs_pages WHERE file_path = ?
96
+ if (normalizedQuery === 'DELETE FROM VFS_PAGES WHERE FILE_PATH = ?') {
95
97
  const [filePath] = bindings;
96
- mockDatabase.delete(`file:${filePath}`);
97
- mockDatabase.delete(`blocks:${filePath}`);
98
+ mockPages.delete(filePath);
99
+ return createMockCursor([]);
100
+ }
101
+ // DELETE FROM vfs_pages (no WHERE - full wipe)
102
+ if (normalizedQuery === 'DELETE FROM VFS_PAGES') {
103
+ mockPages.clear();
98
104
  return createMockCursor([]);
99
105
  }
100
- // Default empty result for unhandled queries
101
106
  console.warn('Unhandled query:', query, bindings);
102
107
  return createMockCursor([]);
103
108
  },
104
109
  get databaseSize() {
105
- return 1024 * 1024; // Mock 1MB database
110
+ return 1024 * 1024;
106
111
  },
107
112
  Cursor: {},
108
113
  Statement: {},
109
114
  };
110
- function createMockCursor(data) {
115
+ const createMockCursor = (data) => {
111
116
  let index = 0;
112
117
  return {
113
118
  next: () => {
@@ -141,12 +146,11 @@ describe('CloudflareSqlVFS - Core Functionality', () => {
141
146
  }
142
147
  },
143
148
  };
144
- }
145
- vfs = new CloudflareSqlVFS('test-sql-vfs', mockSql, {});
146
- await vfs.isReady();
149
+ };
150
+ vfs = new CloudflareDurableObjectVFS('test-sql-vfs', mockSql, {});
147
151
  });
148
152
  describe('Basic File Operations', () => {
149
- it('should create and open files', async () => {
153
+ it('should create and open files', () => {
150
154
  const path = '/test/basic.db';
151
155
  const fileId = 1;
152
156
  const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
@@ -154,42 +158,56 @@ describe('CloudflareSqlVFS - Core Functionality', () => {
154
158
  const result = vfs.jOpen(path, fileId, flags, pOutFlags);
155
159
  expect(result).toBe(VFS.SQLITE_OK);
156
160
  expect(pOutFlags.getUint32(0, true)).toBe(flags);
157
- expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
158
- // Verify file was created in mock database
159
- expect(mockDatabase.has(`file:${path}`)).toBe(true);
160
161
  });
161
- it('should handle file access checks', async () => {
162
- const path = '/test/access.db';
163
- const fileId = 1;
164
- const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
162
+ it('should delete only the opened file on close when SQLITE_OPEN_DELETEONCLOSE is set', () => {
165
163
  const pOutFlags = new DataView(new ArrayBuffer(4));
166
- // File doesn't exist initially
167
- const pResOut = new DataView(new ArrayBuffer(4));
168
- expect(vfs.jAccess(path, VFS.SQLITE_ACCESS_EXISTS, pResOut)).toBe(VFS.SQLITE_OK);
169
- expect(pResOut.getUint32(0, true)).toBe(0);
170
- // Create file
171
- vfs.jOpen(path, fileId, flags, pOutFlags);
172
- vfs.jClose(fileId);
173
- // File should exist now
174
- expect(vfs.jAccess(path, VFS.SQLITE_ACCESS_EXISTS, pResOut)).toBe(VFS.SQLITE_OK);
175
- expect(pResOut.getUint32(0, true)).toBe(1);
164
+ const keepPath = '/test/keep-on-close.db';
165
+ const keepFileId = 1;
166
+ const keepFlags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
167
+ vfs.jOpen(keepPath, keepFileId, keepFlags, pOutFlags);
168
+ const keepData = makePage(0x11, 'keep-me');
169
+ expect(vfs.jWrite(keepFileId, keepData, 0)).toBe(VFS.SQLITE_OK);
170
+ const deletePath = '/test/delete-on-close.db';
171
+ const deleteFileId = 2;
172
+ const deleteFlags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE | VFS.SQLITE_OPEN_DELETEONCLOSE;
173
+ vfs.jOpen(deletePath, deleteFileId, deleteFlags, pOutFlags);
174
+ expect(vfs.jWrite(deleteFileId, makePage(0x22, 'delete-me'), 0)).toBe(VFS.SQLITE_OK);
175
+ expect(vfs.jClose(deleteFileId)).toBe(VFS.SQLITE_OK);
176
+ const readBuffer = new Uint8Array(keepData.length);
177
+ expect(vfs.jRead(keepFileId, readBuffer, 0)).toBe(VFS.SQLITE_OK);
178
+ expect(readBuffer).toEqual(keepData);
179
+ expect(mockPages.has(deletePath)).toBe(false);
176
180
  });
177
- it('should handle basic read/write operations', async () => {
181
+ it('should handle basic read/write operations', () => {
178
182
  const path = '/test/readwrite.db';
179
183
  const fileId = 1;
180
184
  const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
181
185
  const pOutFlags = new DataView(new ArrayBuffer(4));
182
186
  vfs.jOpen(path, fileId, flags, pOutFlags);
183
187
  // Write data
184
- const testData = new TextEncoder().encode('Hello, SQL VFS!');
188
+ const testData = makePage(0x33, 'Hello, SQL VFS!');
185
189
  expect(vfs.jWrite(fileId, testData, 0)).toBe(VFS.SQLITE_OK);
186
190
  // Read data back
187
191
  const readBuffer = new Uint8Array(testData.length);
188
192
  expect(vfs.jRead(fileId, readBuffer, 0)).toBe(VFS.SQLITE_OK);
189
193
  expect(readBuffer).toEqual(testData);
190
- vfs.jClose(fileId);
191
194
  });
192
- it('should handle file size operations', async () => {
195
+ it('should isolate pages by file path', () => {
196
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
197
+ const pOutFlags = new DataView(new ArrayBuffer(4));
198
+ const oldPath = '/test/state-old.db';
199
+ const oldFileId = 1;
200
+ vfs.jOpen(oldPath, oldFileId, flags, pOutFlags);
201
+ const oldData = makePage(0x44, 'stale-state');
202
+ expect(vfs.jWrite(oldFileId, oldData, 0)).toBe(VFS.SQLITE_OK);
203
+ const newPath = '/test/state-new.db';
204
+ const newFileId = 2;
205
+ vfs.jOpen(newPath, newFileId, flags, pOutFlags);
206
+ const readBuffer = new Uint8Array(oldData.length);
207
+ expect(vfs.jRead(newFileId, readBuffer, 0)).toBe(VFS.SQLITE_OK);
208
+ expect(readBuffer).toEqual(new Uint8Array(oldData.length));
209
+ });
210
+ it('should handle file size operations', () => {
193
211
  const path = '/test/size.db';
194
212
  const fileId = 1;
195
213
  const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
@@ -199,117 +217,98 @@ describe('CloudflareSqlVFS - Core Functionality', () => {
199
217
  const pSize64 = new DataView(new ArrayBuffer(8));
200
218
  expect(vfs.jFileSize(fileId, pSize64)).toBe(VFS.SQLITE_OK);
201
219
  expect(pSize64.getBigInt64(0, true)).toBe(0n);
202
- // Write data and check size
203
- const testData = new Uint8Array(1000);
220
+ // Write one full page (8 KiB) and check size
221
+ const pageSize = CF_SQL_VFS_PAGE_SIZE;
222
+ const testData = new Uint8Array(pageSize);
204
223
  testData.fill(0xaa);
205
224
  vfs.jWrite(fileId, testData, 0);
206
225
  expect(vfs.jFileSize(fileId, pSize64)).toBe(VFS.SQLITE_OK);
207
- expect(pSize64.getBigInt64(0, true)).toBe(1000n);
208
- vfs.jClose(fileId);
226
+ expect(pSize64.getBigInt64(0, true)).toBe(BigInt(pageSize));
209
227
  });
210
- it('should handle file truncation', async () => {
228
+ it('should handle file truncation', () => {
211
229
  const path = '/test/truncate.db';
212
230
  const fileId = 1;
213
231
  const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
214
232
  const pOutFlags = new DataView(new ArrayBuffer(4));
215
233
  vfs.jOpen(path, fileId, flags, pOutFlags);
216
- // Write data
217
- const testData = new Uint8Array(2000);
218
- testData.fill(0xbb);
219
- vfs.jWrite(fileId, testData, 0);
220
- // Truncate to smaller size
221
- expect(vfs.jTruncate(fileId, 500)).toBe(VFS.SQLITE_OK);
234
+ // Write two full pages
235
+ const pageSize = CF_SQL_VFS_PAGE_SIZE;
236
+ vfs.jWrite(fileId, makePage(0xbb), 0);
237
+ vfs.jWrite(fileId, makePage(0xcc), pageSize);
238
+ // Truncate to one page
239
+ expect(vfs.jTruncate(fileId, pageSize)).toBe(VFS.SQLITE_OK);
222
240
  // Verify size
223
241
  const pSize64 = new DataView(new ArrayBuffer(8));
224
242
  expect(vfs.jFileSize(fileId, pSize64)).toBe(VFS.SQLITE_OK);
225
- expect(pSize64.getBigInt64(0, true)).toBe(500n);
226
- vfs.jClose(fileId);
227
- });
228
- it('should handle sync operations', async () => {
229
- const path = '/test/sync.db';
230
- const fileId = 1;
231
- const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
232
- const pOutFlags = new DataView(new ArrayBuffer(4));
233
- vfs.jOpen(path, fileId, flags, pOutFlags);
234
- const testData = new TextEncoder().encode('Sync test data');
235
- vfs.jWrite(fileId, testData, 0);
236
- // Test different sync modes - should all be no-ops for SQL VFS
237
- expect(vfs.jSync(fileId, VFS.SQLITE_SYNC_NORMAL)).toBe(VFS.SQLITE_OK);
238
- expect(vfs.jSync(fileId, VFS.SQLITE_SYNC_FULL)).toBe(VFS.SQLITE_OK);
239
- expect(vfs.jSync(fileId, VFS.SQLITE_SYNC_DATAONLY)).toBe(VFS.SQLITE_OK);
240
- vfs.jClose(fileId);
243
+ expect(pSize64.getBigInt64(0, true)).toBe(BigInt(pageSize));
241
244
  });
242
- it('should handle file deletion', async () => {
245
+ it('should handle file deletion', () => {
243
246
  const path = '/test/delete.db';
244
247
  const fileId = 1;
245
248
  const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
246
249
  const pOutFlags = new DataView(new ArrayBuffer(4));
247
250
  // Create file
248
251
  vfs.jOpen(path, fileId, flags, pOutFlags);
249
- const testData = new TextEncoder().encode('Delete test');
252
+ const testData = makePage(0x55, 'Delete test');
250
253
  vfs.jWrite(fileId, testData, 0);
251
- vfs.jClose(fileId);
252
254
  // Delete file
253
255
  expect(vfs.jDelete(path, 0)).toBe(VFS.SQLITE_OK);
254
- // Verify file is gone
255
- expect(mockDatabase.has(`file:${path}`)).toBe(false);
256
- expect(mockDatabase.has(`blocks:${path}`)).toBe(false);
256
+ // Verify pages are gone
257
+ expect(mockPages.size).toBe(0);
257
258
  });
258
- });
259
- describe('VFS Management', () => {
260
- it('should provide correct VFS characteristics', () => {
261
- expect(vfs.jSectorSize(1)).toBe(4096);
262
- expect(vfs.jDeviceCharacteristics(1)).toBe(VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN);
263
- });
264
- it('should handle multiple files', async () => {
265
- const files = [
266
- { path: '/test/file1.db', id: 1 },
267
- { path: '/test/file2.db', id: 2 },
268
- { path: '/test/file3.db', id: 3 },
269
- ];
259
+ it('should delete only the requested file path', () => {
270
260
  const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
271
261
  const pOutFlags = new DataView(new ArrayBuffer(4));
272
- // Open all files
273
- for (const file of files) {
274
- expect(vfs.jOpen(file.path, file.id, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
275
- }
276
- // Write different data to each
277
- for (let i = 0; i < files.length; i++) {
278
- const data = new TextEncoder().encode(`File ${i + 1} data`);
279
- expect(vfs.jWrite(files[i]?.id ?? 0, data, 0)).toBe(VFS.SQLITE_OK);
280
- }
281
- // Read back and verify
282
- for (let i = 0; i < files.length; i++) {
283
- const expected = new TextEncoder().encode(`File ${i + 1} data`);
284
- const actual = new Uint8Array(expected.length);
285
- expect(vfs.jRead(files[i]?.id ?? 0, actual, 0)).toBe(VFS.SQLITE_OK);
286
- expect(actual).toEqual(expected);
287
- }
288
- // Close all files
289
- for (const file of files) {
290
- expect(vfs.jClose(file.id)).toBe(VFS.SQLITE_OK);
291
- }
262
+ const keepPath = '/test/keep.db';
263
+ const keepFileId = 1;
264
+ vfs.jOpen(keepPath, keepFileId, flags, pOutFlags);
265
+ const keepData = makePage(0x66, 'keep-me');
266
+ expect(vfs.jWrite(keepFileId, keepData, 0)).toBe(VFS.SQLITE_OK);
267
+ const deletePath = '/test/delete-only.db';
268
+ const deleteFileId = 2;
269
+ vfs.jOpen(deletePath, deleteFileId, flags, pOutFlags);
270
+ expect(vfs.jWrite(deleteFileId, makePage(0x77, 'delete-me'), 0)).toBe(VFS.SQLITE_OK);
271
+ expect(vfs.jDelete(deletePath, 0)).toBe(VFS.SQLITE_OK);
272
+ const readBuffer = new Uint8Array(keepData.length);
273
+ expect(vfs.jRead(keepFileId, readBuffer, 0)).toBe(VFS.SQLITE_OK);
274
+ expect(readBuffer).toEqual(keepData);
275
+ expect(mockPages.has(deletePath)).toBe(false);
292
276
  });
277
+ });
278
+ describe('VFS Management', () => {
293
279
  it('should provide VFS statistics', () => {
294
280
  const stats = vfs.getStats();
295
- expect(stats).toHaveProperty('activeFiles');
296
- expect(stats).toHaveProperty('openFiles');
297
- expect(stats).toHaveProperty('maxFiles');
298
- expect(stats).toHaveProperty('blockSize');
281
+ expect(stats).toHaveProperty('pageSize');
282
+ expect(stats).toHaveProperty('totalPages');
299
283
  expect(stats).toHaveProperty('totalStoredBytes');
300
- expect(stats.blockSize).toBe(64 * 1024);
284
+ expect(stats.pageSize).toBe(CF_SQL_VFS_PAGE_SIZE);
301
285
  });
302
286
  });
303
287
  describe('Error Handling', () => {
304
- it('should handle invalid file IDs', () => {
288
+ it('should return SQLITE_IOERR for handle-based operations on unknown file IDs', () => {
305
289
  const invalidFileId = 999;
306
- const buffer = new Uint8Array(100);
290
+ const buffer = new Uint8Array(CF_SQL_VFS_PAGE_SIZE);
291
+ const pSize64 = new DataView(new ArrayBuffer(8));
307
292
  expect(vfs.jRead(invalidFileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
308
293
  expect(vfs.jWrite(invalidFileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
309
- expect(vfs.jTruncate(invalidFileId, 50)).toBe(VFS.SQLITE_IOERR);
310
- expect(vfs.jSync(invalidFileId, 0)).toBe(VFS.SQLITE_IOERR);
294
+ expect(vfs.jTruncate(invalidFileId, 0)).toBe(VFS.SQLITE_IOERR);
295
+ expect(vfs.jFileSize(invalidFileId, pSize64)).toBe(VFS.SQLITE_IOERR);
311
296
  expect(vfs.jClose(invalidFileId)).toBe(VFS.SQLITE_OK);
312
297
  });
298
+ it('should return SQLITE_IOERR for handle-based operations after close', () => {
299
+ const path = '/test/closed.db';
300
+ const fileId = 1;
301
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
302
+ const pOutFlags = new DataView(new ArrayBuffer(4));
303
+ const buffer = new Uint8Array(CF_SQL_VFS_PAGE_SIZE);
304
+ const pSize64 = new DataView(new ArrayBuffer(8));
305
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
306
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
307
+ expect(vfs.jRead(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
308
+ expect(vfs.jWrite(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
309
+ expect(vfs.jTruncate(fileId, 0)).toBe(VFS.SQLITE_IOERR);
310
+ expect(vfs.jFileSize(fileId, pSize64)).toBe(VFS.SQLITE_IOERR);
311
+ });
313
312
  it('should handle invalid paths', () => {
314
313
  const invalidPath = '';
315
314
  const fileId = 1;
@@ -317,18 +316,34 @@ describe('CloudflareSqlVFS - Core Functionality', () => {
317
316
  const pOutFlags = new DataView(new ArrayBuffer(4));
318
317
  expect(vfs.jOpen(invalidPath, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
319
318
  });
320
- it('should handle file operations on closed files', () => {
321
- const path = '/test/closed.db';
319
+ it('should reject writes that do not match the configured page size', () => {
320
+ const path = '/test/page-size-mismatch.db';
322
321
  const fileId = 1;
323
322
  const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
324
323
  const pOutFlags = new DataView(new ArrayBuffer(4));
325
- // Open and close file
326
- vfs.jOpen(path, fileId, flags, pOutFlags);
327
- vfs.jClose(fileId);
328
- // Try to operate on closed file
329
- const buffer = new Uint8Array(10);
330
- expect(vfs.jRead(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
331
- expect(vfs.jWrite(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
324
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
325
+ expect(vfs.jWrite(fileId, new Uint8Array(CF_SQL_VFS_PAGE_SIZE / 2), 0)).toBe(VFS.SQLITE_IOERR);
326
+ expect(mockPages.size).toBe(0);
327
+ });
328
+ it('should reject writes at non-page-aligned offsets', () => {
329
+ const path = '/test/page-offset-mismatch.db';
330
+ const fileId = 1;
331
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
332
+ const pOutFlags = new DataView(new ArrayBuffer(4));
333
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
334
+ expect(vfs.jWrite(fileId, makePage(0x88), CF_SQL_VFS_PAGE_SIZE / 2)).toBe(VFS.SQLITE_IOERR);
335
+ expect(mockPages.size).toBe(0);
336
+ });
337
+ it('should always report not found from jAccess', () => {
338
+ const path = '/test/access.db';
339
+ const fileId = 1;
340
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
341
+ const pOutFlags = new DataView(new ArrayBuffer(4));
342
+ const pResOut = new DataView(new ArrayBuffer(4));
343
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
344
+ expect(vfs.jWrite(fileId, makePage(0x99, 'access-test'), 0)).toBe(VFS.SQLITE_OK);
345
+ expect(vfs.jAccess(path, VFS.SQLITE_ACCESS_EXISTS, pResOut)).toBe(VFS.SQLITE_OK);
346
+ expect(pResOut.getUint32(0, true)).toBe(0);
332
347
  });
333
348
  });
334
349
  describe('Constants and Compatibility', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-sql-vfs-core.test.js","sourceRoot":"","sources":["../../../../src/cf/test/sql/cloudflare-sql-vfs-core.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare-sql-vfs-core.test.js","sourceRoot":"","sources":["../../../../src/cf/test/sql/cloudflare-sql-vfs-core.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-vfs.d.ts","sourceRoot":"","sources":["../src/in-memory-vfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAI1E,eAAO,MAAM,cAAc,GAAI,SAAS,QAAQ,CAAC,SAAS;;;CAczD,CAAA"}
1
+ {"version":3,"file":"in-memory-vfs.d.ts","sourceRoot":"","sources":["../src/in-memory-vfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAI1E,eAAO,MAAM,cAAc,GAAI,SAAS,QAAQ,CAAC,SAAS;;;CAazD,CAAA"}
@@ -2,7 +2,6 @@ import { MemoryVFS } from '@livestore/wa-sqlite/src/examples/MemoryVFS.js';
2
2
  let cachedMemoryVfs;
3
3
  export const makeInMemoryDb = (sqlite3) => {
4
4
  if (sqlite3.vfs_registered.has('memory-vfs') === false) {
5
- // @ts-expect-error TODO fix types
6
5
  const vfs = new MemoryVFS('memory-vfs', sqlite3.module);
7
6
  // @ts-expect-error TODO fix types
8
7
  sqlite3.vfs_register(vfs, false);
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-vfs.js","sourceRoot":"","sources":["../src/in-memory-vfs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAE1E,IAAI,eAAsC,CAAA;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA2B,EAAE,EAAE;IAC5D,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;QACvD,kCAAkC;QAClC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,YAAY,EAAG,OAAe,CAAC,MAAM,CAAC,CAAA;QAEhE,kCAAkC;QAClC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAChC,eAAe,GAAG,GAAG,CAAA;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;IAC1E,MAAM,GAAG,GAAG,eAAgB,CAAA;IAE5B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;AAC3B,CAAC,CAAA"}
1
+ {"version":3,"file":"in-memory-vfs.js","sourceRoot":"","sources":["../src/in-memory-vfs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAE1E,IAAI,eAAsC,CAAA;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA2B,EAAE,EAAE;IAC5D,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,YAAY,EAAG,OAAe,CAAC,MAAM,CAAC,CAAA;QAEhE,kCAAkC;QAClC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAChC,eAAe,GAAG,GAAG,CAAA;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;IAC1E,MAAM,GAAG,GAAG,eAAgB,CAAA;IAE5B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;AAC3B,CAAC,CAAA"}
@@ -5,7 +5,7 @@ export const loadSqlite3Wasm = async () => {
5
5
  // https://github.com/rhashimoto/wa-sqlite/issues/143#issuecomment-1899060056
6
6
  // module._free(module._malloc(10_000 * 4096 + 65_536))
7
7
  const sqlite3 = WaSqlite.Factory(module);
8
- // @ts-expect-error TODO fix types
8
+ // @ts-expect-error Adding module property for internal use (not in wa-sqlite types)
9
9
  sqlite3.module = module;
10
10
  return sqlite3;
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mod.node.js","sourceRoot":"","sources":["../../src/load-wasm/mod.node.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,8CAA8C,CAAA;AAC1E,OAAO,KAAK,QAAQ,MAAM,wCAAwC,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;IACtC,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,kCAAkC;IAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"mod.node.js","sourceRoot":"","sources":["../../src/load-wasm/mod.node.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,8CAA8C,CAAA;AAC1E,OAAO,KAAK,QAAQ,MAAM,wCAAwC,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;IACtC,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,oFAAoF;IACpF,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}