@peerbit/indexer-sqlite3 1.0.6 → 1.0.7-a3e5123
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/peerbit/sqlite3-bundler-friendly.mjs +19 -10
- package/dist/peerbit/sqlite3-node.mjs +7 -7
- package/dist/peerbit/sqlite3-opfs-async-proxy.js +14 -147
- package/dist/peerbit/sqlite3.js +19 -10
- package/dist/peerbit/sqlite3.min.js +551 -629
- package/dist/peerbit/sqlite3.mjs +19 -10
- package/dist/peerbit/sqlite3.wasm +0 -0
- package/dist/peerbit/sqlite3.worker.min.js +38 -26
- package/dist/src/engine.d.ts +10 -20
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +104 -87
- package/dist/src/engine.js.map +1 -1
- package/dist/src/schema.d.ts +21 -8
- package/dist/src/schema.d.ts.map +1 -1
- package/dist/src/schema.js +141 -62
- package/dist/src/schema.js.map +1 -1
- package/dist/src/sqlite3.browser.d.ts.map +1 -1
- package/dist/src/sqlite3.browser.js +11 -1
- package/dist/src/sqlite3.browser.js.map +1 -1
- package/dist/src/sqlite3.d.ts.map +1 -1
- package/dist/src/sqlite3.js +19 -2
- package/dist/src/sqlite3.js.map +1 -1
- package/dist/src/sqlite3.wasm.d.ts +5 -5
- package/dist/src/sqlite3.wasm.d.ts.map +1 -1
- package/dist/src/sqlite3.wasm.js +9 -3
- package/dist/src/sqlite3.wasm.js.map +1 -1
- package/dist/src/types.d.ts +5 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +78 -78
- package/src/engine.ts +165 -151
- package/src/schema.ts +206 -92
- package/src/sqlite3.browser.ts +15 -2
- package/src/sqlite3.ts +22 -2
- package/src/sqlite3.wasm.ts +19 -12
- package/src/types.ts +6 -1
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
/*
|
|
27
27
|
** This code was built from sqlite3 version...
|
|
28
28
|
**
|
|
29
|
-
** SQLITE_VERSION "3.46.
|
|
30
|
-
** SQLITE_VERSION_NUMBER
|
|
31
|
-
** SQLITE_SOURCE_ID "2024-
|
|
29
|
+
** SQLITE_VERSION "3.46.1"
|
|
30
|
+
** SQLITE_VERSION_NUMBER 3046001
|
|
31
|
+
** SQLITE_SOURCE_ID "2024-08-13 09:16:08 c9c2ab54ba1f5f46360f1b4f35d849cd3f080e6fc2b6c60e91b16c63f69a1e33"
|
|
32
32
|
**
|
|
33
33
|
** Using the Emscripten SDK version 3.1.30.
|
|
34
34
|
*/
|
|
@@ -10685,11 +10685,11 @@ var sqlite3InitModule = (() => {
|
|
|
10685
10685
|
|
|
10686
10686
|
globalThis.sqlite3ApiBootstrap.initializers.push(function (sqlite3) {
|
|
10687
10687
|
sqlite3.version = {
|
|
10688
|
-
libVersion: '3.46.
|
|
10689
|
-
libVersionNumber:
|
|
10688
|
+
libVersion: '3.46.1',
|
|
10689
|
+
libVersionNumber: 3046001,
|
|
10690
10690
|
sourceId:
|
|
10691
|
-
'2024-
|
|
10692
|
-
downloadVersion:
|
|
10691
|
+
'2024-08-13 09:16:08 c9c2ab54ba1f5f46360f1b4f35d849cd3f080e6fc2b6c60e91b16c63f69a1e33',
|
|
10692
|
+
downloadVersion: 3460100,
|
|
10693
10693
|
};
|
|
10694
10694
|
});
|
|
10695
10695
|
|
|
@@ -12642,6 +12642,7 @@ var sqlite3InitModule = (() => {
|
|
|
12642
12642
|
'SQLITE_ACCESS_EXISTS',
|
|
12643
12643
|
'SQLITE_ACCESS_READWRITE',
|
|
12644
12644
|
'SQLITE_BUSY',
|
|
12645
|
+
'SQLITE_CANTOPEN',
|
|
12645
12646
|
'SQLITE_ERROR',
|
|
12646
12647
|
'SQLITE_IOERR',
|
|
12647
12648
|
'SQLITE_IOERR_ACCESS',
|
|
@@ -12686,7 +12687,11 @@ var sqlite3InitModule = (() => {
|
|
|
12686
12687
|
Atomics.store(state.sabOPView, state.opIds.whichOp, opNdx);
|
|
12687
12688
|
Atomics.notify(state.sabOPView, state.opIds.whichOp);
|
|
12688
12689
|
const t = performance.now();
|
|
12689
|
-
|
|
12690
|
+
while (
|
|
12691
|
+
'not-equal' !==
|
|
12692
|
+
Atomics.wait(state.sabOPView, state.opIds.rc, -1)
|
|
12693
|
+
) {}
|
|
12694
|
+
|
|
12690
12695
|
const rc = Atomics.load(state.sabOPView, state.opIds.rc);
|
|
12691
12696
|
metrics[op].wait += performance.now() - t;
|
|
12692
12697
|
if (rc && state.asyncS11nExceptions) {
|
|
@@ -12868,8 +12873,12 @@ var sqlite3InitModule = (() => {
|
|
|
12868
12873
|
|
|
12869
12874
|
const ioSyncWrappers = {
|
|
12870
12875
|
xCheckReservedLock: function (pFile, pOut) {
|
|
12871
|
-
|
|
12872
|
-
|
|
12876
|
+
if (1) {
|
|
12877
|
+
wasm.poke(pOut, 0, 'i32');
|
|
12878
|
+
} else {
|
|
12879
|
+
const f = __openFiles[pFile];
|
|
12880
|
+
wasm.poke(pOut, f.lockType ? 1 : 0, 'i32');
|
|
12881
|
+
}
|
|
12873
12882
|
return 0;
|
|
12874
12883
|
},
|
|
12875
12884
|
xClose: function (pFile) {
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
/*
|
|
27
27
|
** This code was built from sqlite3 version...
|
|
28
28
|
**
|
|
29
|
-
** SQLITE_VERSION "3.46.
|
|
30
|
-
** SQLITE_VERSION_NUMBER
|
|
31
|
-
** SQLITE_SOURCE_ID "2024-
|
|
29
|
+
** SQLITE_VERSION "3.46.1"
|
|
30
|
+
** SQLITE_VERSION_NUMBER 3046001
|
|
31
|
+
** SQLITE_SOURCE_ID "2024-08-13 09:16:08 c9c2ab54ba1f5f46360f1b4f35d849cd3f080e6fc2b6c60e91b16c63f69a1e33"
|
|
32
32
|
**
|
|
33
33
|
** Using the Emscripten SDK version 3.1.30.
|
|
34
34
|
*/
|
|
@@ -10730,11 +10730,11 @@ var sqlite3InitModule = (() => {
|
|
|
10730
10730
|
|
|
10731
10731
|
globalThis.sqlite3ApiBootstrap.initializers.push(function (sqlite3) {
|
|
10732
10732
|
sqlite3.version = {
|
|
10733
|
-
libVersion: '3.46.
|
|
10734
|
-
libVersionNumber:
|
|
10733
|
+
libVersion: '3.46.1',
|
|
10734
|
+
libVersionNumber: 3046001,
|
|
10735
10735
|
sourceId:
|
|
10736
|
-
'2024-
|
|
10737
|
-
downloadVersion:
|
|
10736
|
+
'2024-08-13 09:16:08 c9c2ab54ba1f5f46360f1b4f35d849cd3f080e6fc2b6c60e91b16c63f69a1e33',
|
|
10737
|
+
downloadVersion: 3460100,
|
|
10738
10738
|
};
|
|
10739
10739
|
});
|
|
10740
10740
|
|
|
@@ -79,48 +79,6 @@ const installAsyncProxy = function () {
|
|
|
79
79
|
const log = (...args) => logImpl(2, ...args);
|
|
80
80
|
const warn = (...args) => logImpl(1, ...args);
|
|
81
81
|
const error = (...args) => logImpl(0, ...args);
|
|
82
|
-
const metrics = Object.create(null);
|
|
83
|
-
metrics.reset = () => {
|
|
84
|
-
let k;
|
|
85
|
-
const r = (m) => (m.count = m.time = m.wait = 0);
|
|
86
|
-
for (k in state.opIds) {
|
|
87
|
-
r((metrics[k] = Object.create(null)));
|
|
88
|
-
}
|
|
89
|
-
let s = (metrics.s11n = Object.create(null));
|
|
90
|
-
s = s.serialize = Object.create(null);
|
|
91
|
-
s.count = s.time = 0;
|
|
92
|
-
s = metrics.s11n.deserialize = Object.create(null);
|
|
93
|
-
s.count = s.time = 0;
|
|
94
|
-
};
|
|
95
|
-
metrics.dump = () => {
|
|
96
|
-
let k,
|
|
97
|
-
n = 0,
|
|
98
|
-
t = 0,
|
|
99
|
-
w = 0;
|
|
100
|
-
for (k in state.opIds) {
|
|
101
|
-
const m = metrics[k];
|
|
102
|
-
n += m.count;
|
|
103
|
-
t += m.time;
|
|
104
|
-
w += m.wait;
|
|
105
|
-
m.avgTime = m.count && m.time ? m.time / m.count : 0;
|
|
106
|
-
}
|
|
107
|
-
console.log(
|
|
108
|
-
globalThis?.location?.href,
|
|
109
|
-
'metrics for',
|
|
110
|
-
globalThis?.location?.href,
|
|
111
|
-
':\n',
|
|
112
|
-
metrics,
|
|
113
|
-
'\nTotal of',
|
|
114
|
-
n,
|
|
115
|
-
'op(s) for',
|
|
116
|
-
t,
|
|
117
|
-
'ms',
|
|
118
|
-
'approx',
|
|
119
|
-
w,
|
|
120
|
-
'ms spent waiting on OPFS APIs.',
|
|
121
|
-
);
|
|
122
|
-
console.log('Serialization metrics:', metrics.s11n);
|
|
123
|
-
};
|
|
124
82
|
|
|
125
83
|
const __openFiles = Object.create(null);
|
|
126
84
|
|
|
@@ -189,17 +147,22 @@ const installAsyncProxy = function () {
|
|
|
189
147
|
this.name = 'GetSyncHandleError';
|
|
190
148
|
}
|
|
191
149
|
}
|
|
150
|
+
|
|
192
151
|
GetSyncHandleError.convertRc = (e, rc) => {
|
|
193
|
-
if (
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
152
|
+
if (e instanceof GetSyncHandleError) {
|
|
153
|
+
if (
|
|
154
|
+
e.cause.name === 'NoModificationAllowedError' ||
|
|
155
|
+
(e.cause.name === 'DOMException' &&
|
|
156
|
+
0 === e.cause.message.indexOf('Access Handles cannot'))
|
|
157
|
+
) {
|
|
158
|
+
return state.sq3Codes.SQLITE_BUSY;
|
|
159
|
+
} else if ('NotFoundError' === e.cause.name) {
|
|
160
|
+
return state.sq3Codes.SQLITE_CANTOPEN;
|
|
161
|
+
}
|
|
162
|
+
} else if ('NotFoundError' === e?.name) {
|
|
163
|
+
return state.sq3Codes.SQLITE_CANTOPEN;
|
|
202
164
|
}
|
|
165
|
+
return rc;
|
|
203
166
|
};
|
|
204
167
|
|
|
205
168
|
const getSyncHandle = async (fh, opName) => {
|
|
@@ -267,79 +230,39 @@ const installAsyncProxy = function () {
|
|
|
267
230
|
if (fh.readOnly) toss(opName + '(): File is read-only: ' + fh.filenameAbs);
|
|
268
231
|
};
|
|
269
232
|
|
|
270
|
-
const __mTimer = Object.create(null);
|
|
271
|
-
__mTimer.op = undefined;
|
|
272
|
-
__mTimer.start = undefined;
|
|
273
|
-
const mTimeStart = (op) => {
|
|
274
|
-
__mTimer.start = performance.now();
|
|
275
|
-
__mTimer.op = op;
|
|
276
|
-
|
|
277
|
-
++metrics[op].count;
|
|
278
|
-
};
|
|
279
|
-
const mTimeEnd = () =>
|
|
280
|
-
(metrics[__mTimer.op].time += performance.now() - __mTimer.start);
|
|
281
|
-
const __wTimer = Object.create(null);
|
|
282
|
-
__wTimer.op = undefined;
|
|
283
|
-
__wTimer.start = undefined;
|
|
284
|
-
const wTimeStart = (op) => {
|
|
285
|
-
__wTimer.start = performance.now();
|
|
286
|
-
__wTimer.op = op;
|
|
287
|
-
};
|
|
288
|
-
const wTimeEnd = () =>
|
|
289
|
-
(metrics[__wTimer.op].wait += performance.now() - __wTimer.start);
|
|
290
|
-
|
|
291
233
|
let flagAsyncShutdown = false;
|
|
292
234
|
|
|
293
235
|
const vfsAsyncImpls = {
|
|
294
|
-
'opfs-async-metrics': async () => {
|
|
295
|
-
mTimeStart('opfs-async-metrics');
|
|
296
|
-
metrics.dump();
|
|
297
|
-
storeAndNotify('opfs-async-metrics', 0);
|
|
298
|
-
mTimeEnd();
|
|
299
|
-
},
|
|
300
236
|
'opfs-async-shutdown': async () => {
|
|
301
237
|
flagAsyncShutdown = true;
|
|
302
238
|
storeAndNotify('opfs-async-shutdown', 0);
|
|
303
239
|
},
|
|
304
240
|
mkdir: async (dirname) => {
|
|
305
|
-
mTimeStart('mkdir');
|
|
306
241
|
let rc = 0;
|
|
307
|
-
wTimeStart('mkdir');
|
|
308
242
|
try {
|
|
309
243
|
await getDirForFilename(dirname + '/filepart', true);
|
|
310
244
|
} catch (e) {
|
|
311
245
|
state.s11n.storeException(2, e);
|
|
312
246
|
rc = state.sq3Codes.SQLITE_IOERR;
|
|
313
|
-
} finally {
|
|
314
|
-
wTimeEnd();
|
|
315
247
|
}
|
|
316
248
|
storeAndNotify('mkdir', rc);
|
|
317
|
-
mTimeEnd();
|
|
318
249
|
},
|
|
319
250
|
xAccess: async (filename) => {
|
|
320
|
-
mTimeStart('xAccess');
|
|
321
|
-
|
|
322
251
|
let rc = 0;
|
|
323
|
-
wTimeStart('xAccess');
|
|
324
252
|
try {
|
|
325
253
|
const [dh, fn] = await getDirForFilename(filename);
|
|
326
254
|
await dh.getFileHandle(fn);
|
|
327
255
|
} catch (e) {
|
|
328
256
|
state.s11n.storeException(2, e);
|
|
329
257
|
rc = state.sq3Codes.SQLITE_IOERR;
|
|
330
|
-
} finally {
|
|
331
|
-
wTimeEnd();
|
|
332
258
|
}
|
|
333
259
|
storeAndNotify('xAccess', rc);
|
|
334
|
-
mTimeEnd();
|
|
335
260
|
},
|
|
336
261
|
xClose: async function (fid) {
|
|
337
262
|
const opName = 'xClose';
|
|
338
|
-
mTimeStart(opName);
|
|
339
263
|
__implicitLocks.delete(fid);
|
|
340
264
|
const fh = __openFiles[fid];
|
|
341
265
|
let rc = 0;
|
|
342
|
-
wTimeStart(opName);
|
|
343
266
|
if (fh) {
|
|
344
267
|
delete __openFiles[fid];
|
|
345
268
|
await closeSyncHandle(fh);
|
|
@@ -354,19 +277,14 @@ const installAsyncProxy = function () {
|
|
|
354
277
|
state.s11n.serialize();
|
|
355
278
|
rc = state.sq3Codes.SQLITE_NOTFOUND;
|
|
356
279
|
}
|
|
357
|
-
wTimeEnd();
|
|
358
280
|
storeAndNotify(opName, rc);
|
|
359
|
-
mTimeEnd();
|
|
360
281
|
},
|
|
361
282
|
xDelete: async function (...args) {
|
|
362
|
-
mTimeStart('xDelete');
|
|
363
283
|
const rc = await vfsAsyncImpls.xDeleteNoWait(...args);
|
|
364
284
|
storeAndNotify('xDelete', rc);
|
|
365
|
-
mTimeEnd();
|
|
366
285
|
},
|
|
367
286
|
xDeleteNoWait: async function (filename, syncDir = 0, recursive = false) {
|
|
368
287
|
let rc = 0;
|
|
369
|
-
wTimeStart('xDelete');
|
|
370
288
|
try {
|
|
371
289
|
while (filename) {
|
|
372
290
|
const [hDir, filenamePart] = await getDirForFilename(filename, false);
|
|
@@ -382,14 +300,11 @@ const installAsyncProxy = function () {
|
|
|
382
300
|
state.s11n.storeException(2, e);
|
|
383
301
|
rc = state.sq3Codes.SQLITE_IOERR_DELETE;
|
|
384
302
|
}
|
|
385
|
-
wTimeEnd();
|
|
386
303
|
return rc;
|
|
387
304
|
},
|
|
388
305
|
xFileSize: async function (fid) {
|
|
389
|
-
mTimeStart('xFileSize');
|
|
390
306
|
const fh = __openFiles[fid];
|
|
391
307
|
let rc = 0;
|
|
392
|
-
wTimeStart('xFileSize');
|
|
393
308
|
try {
|
|
394
309
|
const sz = await (await getSyncHandle(fh, 'xFileSize')).getSize();
|
|
395
310
|
state.s11n.serialize(Number(sz));
|
|
@@ -398,18 +313,14 @@ const installAsyncProxy = function () {
|
|
|
398
313
|
rc = GetSyncHandleError.convertRc(e, state.sq3Codes.SQLITE_IOERR);
|
|
399
314
|
}
|
|
400
315
|
await releaseImplicitLock(fh);
|
|
401
|
-
wTimeEnd();
|
|
402
316
|
storeAndNotify('xFileSize', rc);
|
|
403
|
-
mTimeEnd();
|
|
404
317
|
},
|
|
405
318
|
xLock: async function (fid, lockType) {
|
|
406
|
-
mTimeStart('xLock');
|
|
407
319
|
const fh = __openFiles[fid];
|
|
408
320
|
let rc = 0;
|
|
409
321
|
const oldLockType = fh.xLock;
|
|
410
322
|
fh.xLock = lockType;
|
|
411
323
|
if (!fh.syncHandle) {
|
|
412
|
-
wTimeStart('xLock');
|
|
413
324
|
try {
|
|
414
325
|
await getSyncHandle(fh, 'xLock');
|
|
415
326
|
__implicitLocks.delete(fid);
|
|
@@ -421,16 +332,12 @@ const installAsyncProxy = function () {
|
|
|
421
332
|
);
|
|
422
333
|
fh.xLock = oldLockType;
|
|
423
334
|
}
|
|
424
|
-
wTimeEnd();
|
|
425
335
|
}
|
|
426
336
|
storeAndNotify('xLock', rc);
|
|
427
|
-
mTimeEnd();
|
|
428
337
|
},
|
|
429
338
|
xOpen: async function (fid, filename, flags, opfsFlags) {
|
|
430
339
|
const opName = 'xOpen';
|
|
431
|
-
mTimeStart(opName);
|
|
432
340
|
const create = state.sq3Codes.SQLITE_OPEN_CREATE & flags;
|
|
433
|
-
wTimeStart('xOpen');
|
|
434
341
|
try {
|
|
435
342
|
let hDir, filenamePart;
|
|
436
343
|
try {
|
|
@@ -438,8 +345,6 @@ const installAsyncProxy = function () {
|
|
|
438
345
|
} catch (e) {
|
|
439
346
|
state.s11n.storeException(1, e);
|
|
440
347
|
storeAndNotify(opName, state.sq3Codes.SQLITE_NOTFOUND);
|
|
441
|
-
mTimeEnd();
|
|
442
|
-
wTimeEnd();
|
|
443
348
|
return;
|
|
444
349
|
}
|
|
445
350
|
if (state.opfsFlags.OPFS_UNLINK_BEFORE_OPEN & opfsFlags) {
|
|
@@ -448,7 +353,6 @@ const installAsyncProxy = function () {
|
|
|
448
353
|
} catch (e) {}
|
|
449
354
|
}
|
|
450
355
|
const hFile = await hDir.getFileHandle(filenamePart, { create });
|
|
451
|
-
wTimeEnd();
|
|
452
356
|
const fh = Object.assign(Object.create(null), {
|
|
453
357
|
fid: fid,
|
|
454
358
|
filenameAbs: filename,
|
|
@@ -464,68 +368,51 @@ const installAsyncProxy = function () {
|
|
|
464
368
|
fh.releaseImplicitLocks =
|
|
465
369
|
opfsFlags & state.opfsFlags.OPFS_UNLOCK_ASAP ||
|
|
466
370
|
state.opfsFlags.defaultUnlockAsap;
|
|
467
|
-
if (0 && 0 === (flags & state.sq3Codes.SQLITE_OPEN_MAIN_DB)) {
|
|
468
|
-
fh.xLock = 'xOpen';
|
|
469
|
-
await getSyncHandle(fh, 'xOpen');
|
|
470
|
-
}
|
|
471
371
|
__openFiles[fid] = fh;
|
|
472
372
|
storeAndNotify(opName, 0);
|
|
473
373
|
} catch (e) {
|
|
474
|
-
wTimeEnd();
|
|
475
374
|
error(opName, e);
|
|
476
375
|
state.s11n.storeException(1, e);
|
|
477
376
|
storeAndNotify(opName, state.sq3Codes.SQLITE_IOERR);
|
|
478
377
|
}
|
|
479
|
-
mTimeEnd();
|
|
480
378
|
},
|
|
481
379
|
xRead: async function (fid, n, offset64) {
|
|
482
|
-
mTimeStart('xRead');
|
|
483
380
|
let rc = 0,
|
|
484
381
|
nRead;
|
|
485
382
|
const fh = __openFiles[fid];
|
|
486
383
|
try {
|
|
487
|
-
wTimeStart('xRead');
|
|
488
384
|
nRead = (await getSyncHandle(fh, 'xRead')).read(
|
|
489
385
|
fh.sabView.subarray(0, n),
|
|
490
386
|
{ at: Number(offset64) },
|
|
491
387
|
);
|
|
492
|
-
wTimeEnd();
|
|
493
388
|
if (nRead < n) {
|
|
494
389
|
fh.sabView.fill(0, nRead, n);
|
|
495
390
|
rc = state.sq3Codes.SQLITE_IOERR_SHORT_READ;
|
|
496
391
|
}
|
|
497
392
|
} catch (e) {
|
|
498
|
-
if (undefined === nRead) wTimeEnd();
|
|
499
393
|
error('xRead() failed', e, fh);
|
|
500
394
|
state.s11n.storeException(1, e);
|
|
501
395
|
rc = GetSyncHandleError.convertRc(e, state.sq3Codes.SQLITE_IOERR_READ);
|
|
502
396
|
}
|
|
503
397
|
await releaseImplicitLock(fh);
|
|
504
398
|
storeAndNotify('xRead', rc);
|
|
505
|
-
mTimeEnd();
|
|
506
399
|
},
|
|
507
400
|
xSync: async function (fid, flags) {
|
|
508
|
-
mTimeStart('xSync');
|
|
509
401
|
const fh = __openFiles[fid];
|
|
510
402
|
let rc = 0;
|
|
511
403
|
if (!fh.readOnly && fh.syncHandle) {
|
|
512
404
|
try {
|
|
513
|
-
wTimeStart('xSync');
|
|
514
405
|
await fh.syncHandle.flush();
|
|
515
406
|
} catch (e) {
|
|
516
407
|
state.s11n.storeException(2, e);
|
|
517
408
|
rc = state.sq3Codes.SQLITE_IOERR_FSYNC;
|
|
518
409
|
}
|
|
519
|
-
wTimeEnd();
|
|
520
410
|
}
|
|
521
411
|
storeAndNotify('xSync', rc);
|
|
522
|
-
mTimeEnd();
|
|
523
412
|
},
|
|
524
413
|
xTruncate: async function (fid, size) {
|
|
525
|
-
mTimeStart('xTruncate');
|
|
526
414
|
let rc = 0;
|
|
527
415
|
const fh = __openFiles[fid];
|
|
528
|
-
wTimeStart('xTruncate');
|
|
529
416
|
try {
|
|
530
417
|
affirmNotRO('xTruncate', fh);
|
|
531
418
|
await (await getSyncHandle(fh, 'xTruncate')).truncate(size);
|
|
@@ -538,32 +425,24 @@ const installAsyncProxy = function () {
|
|
|
538
425
|
);
|
|
539
426
|
}
|
|
540
427
|
await releaseImplicitLock(fh);
|
|
541
|
-
wTimeEnd();
|
|
542
428
|
storeAndNotify('xTruncate', rc);
|
|
543
|
-
mTimeEnd();
|
|
544
429
|
},
|
|
545
430
|
xUnlock: async function (fid, lockType) {
|
|
546
|
-
mTimeStart('xUnlock');
|
|
547
431
|
let rc = 0;
|
|
548
432
|
const fh = __openFiles[fid];
|
|
549
433
|
if (state.sq3Codes.SQLITE_LOCK_NONE === lockType && fh.syncHandle) {
|
|
550
|
-
wTimeStart('xUnlock');
|
|
551
434
|
try {
|
|
552
435
|
await closeSyncHandle(fh);
|
|
553
436
|
} catch (e) {
|
|
554
437
|
state.s11n.storeException(1, e);
|
|
555
438
|
rc = state.sq3Codes.SQLITE_IOERR_UNLOCK;
|
|
556
439
|
}
|
|
557
|
-
wTimeEnd();
|
|
558
440
|
}
|
|
559
441
|
storeAndNotify('xUnlock', rc);
|
|
560
|
-
mTimeEnd();
|
|
561
442
|
},
|
|
562
443
|
xWrite: async function (fid, n, offset64) {
|
|
563
|
-
mTimeStart('xWrite');
|
|
564
444
|
let rc;
|
|
565
445
|
const fh = __openFiles[fid];
|
|
566
|
-
wTimeStart('xWrite');
|
|
567
446
|
try {
|
|
568
447
|
affirmNotRO('xWrite', fh);
|
|
569
448
|
rc =
|
|
@@ -579,9 +458,7 @@ const installAsyncProxy = function () {
|
|
|
579
458
|
rc = GetSyncHandleError.convertRc(e, state.sq3Codes.SQLITE_IOERR_WRITE);
|
|
580
459
|
}
|
|
581
460
|
await releaseImplicitLock(fh);
|
|
582
|
-
wTimeEnd();
|
|
583
461
|
storeAndNotify('xWrite', rc);
|
|
584
|
-
mTimeEnd();
|
|
585
462
|
},
|
|
586
463
|
};
|
|
587
464
|
|
|
@@ -638,8 +515,6 @@ const installAsyncProxy = function () {
|
|
|
638
515
|
}
|
|
639
516
|
};
|
|
640
517
|
state.s11n.deserialize = function (clear = false) {
|
|
641
|
-
++metrics.s11n.deserialize.count;
|
|
642
|
-
const t = performance.now();
|
|
643
518
|
const argc = viewU8[0];
|
|
644
519
|
const rc = argc ? [] : null;
|
|
645
520
|
if (argc) {
|
|
@@ -667,12 +542,9 @@ const installAsyncProxy = function () {
|
|
|
667
542
|
}
|
|
668
543
|
if (clear) viewU8[0] = 0;
|
|
669
544
|
|
|
670
|
-
metrics.s11n.deserialize.time += performance.now() - t;
|
|
671
545
|
return rc;
|
|
672
546
|
};
|
|
673
547
|
state.s11n.serialize = function (...args) {
|
|
674
|
-
const t = performance.now();
|
|
675
|
-
++metrics.s11n.serialize.count;
|
|
676
548
|
if (args.length) {
|
|
677
549
|
const typeIds = [];
|
|
678
550
|
let i = 0,
|
|
@@ -698,7 +570,6 @@ const installAsyncProxy = function () {
|
|
|
698
570
|
} else {
|
|
699
571
|
viewU8[0] = 0;
|
|
700
572
|
}
|
|
701
|
-
metrics.s11n.serialize.time += performance.now() - t;
|
|
702
573
|
};
|
|
703
574
|
|
|
704
575
|
state.s11n.storeException = state.asyncS11nExceptions
|
|
@@ -777,7 +648,6 @@ const installAsyncProxy = function () {
|
|
|
777
648
|
}
|
|
778
649
|
});
|
|
779
650
|
initS11n();
|
|
780
|
-
metrics.reset();
|
|
781
651
|
log('init state', state);
|
|
782
652
|
wPost('opfs-async-inited');
|
|
783
653
|
waitLoop();
|
|
@@ -792,9 +662,6 @@ const installAsyncProxy = function () {
|
|
|
792
662
|
waitLoop();
|
|
793
663
|
}
|
|
794
664
|
break;
|
|
795
|
-
case 'opfs-async-metrics':
|
|
796
|
-
metrics.dump();
|
|
797
|
-
break;
|
|
798
665
|
}
|
|
799
666
|
};
|
|
800
667
|
wPost('opfs-async-loaded');
|
package/dist/peerbit/sqlite3.js
CHANGED
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
/*
|
|
27
27
|
** This code was built from sqlite3 version...
|
|
28
28
|
**
|
|
29
|
-
** SQLITE_VERSION "3.46.
|
|
30
|
-
** SQLITE_VERSION_NUMBER
|
|
31
|
-
** SQLITE_SOURCE_ID "2024-
|
|
29
|
+
** SQLITE_VERSION "3.46.1"
|
|
30
|
+
** SQLITE_VERSION_NUMBER 3046001
|
|
31
|
+
** SQLITE_SOURCE_ID "2024-08-13 09:16:08 c9c2ab54ba1f5f46360f1b4f35d849cd3f080e6fc2b6c60e91b16c63f69a1e33"
|
|
32
32
|
**
|
|
33
33
|
** Using the Emscripten SDK version 3.1.30.
|
|
34
34
|
*/
|
|
@@ -10713,11 +10713,11 @@ var sqlite3InitModule = (() => {
|
|
|
10713
10713
|
|
|
10714
10714
|
globalThis.sqlite3ApiBootstrap.initializers.push(function (sqlite3) {
|
|
10715
10715
|
sqlite3.version = {
|
|
10716
|
-
libVersion: '3.46.
|
|
10717
|
-
libVersionNumber:
|
|
10716
|
+
libVersion: '3.46.1',
|
|
10717
|
+
libVersionNumber: 3046001,
|
|
10718
10718
|
sourceId:
|
|
10719
|
-
'2024-
|
|
10720
|
-
downloadVersion:
|
|
10719
|
+
'2024-08-13 09:16:08 c9c2ab54ba1f5f46360f1b4f35d849cd3f080e6fc2b6c60e91b16c63f69a1e33',
|
|
10720
|
+
downloadVersion: 3460100,
|
|
10721
10721
|
};
|
|
10722
10722
|
});
|
|
10723
10723
|
|
|
@@ -12668,6 +12668,7 @@ var sqlite3InitModule = (() => {
|
|
|
12668
12668
|
'SQLITE_ACCESS_EXISTS',
|
|
12669
12669
|
'SQLITE_ACCESS_READWRITE',
|
|
12670
12670
|
'SQLITE_BUSY',
|
|
12671
|
+
'SQLITE_CANTOPEN',
|
|
12671
12672
|
'SQLITE_ERROR',
|
|
12672
12673
|
'SQLITE_IOERR',
|
|
12673
12674
|
'SQLITE_IOERR_ACCESS',
|
|
@@ -12712,7 +12713,11 @@ var sqlite3InitModule = (() => {
|
|
|
12712
12713
|
Atomics.store(state.sabOPView, state.opIds.whichOp, opNdx);
|
|
12713
12714
|
Atomics.notify(state.sabOPView, state.opIds.whichOp);
|
|
12714
12715
|
const t = performance.now();
|
|
12715
|
-
|
|
12716
|
+
while (
|
|
12717
|
+
'not-equal' !==
|
|
12718
|
+
Atomics.wait(state.sabOPView, state.opIds.rc, -1)
|
|
12719
|
+
) {}
|
|
12720
|
+
|
|
12716
12721
|
const rc = Atomics.load(state.sabOPView, state.opIds.rc);
|
|
12717
12722
|
metrics[op].wait += performance.now() - t;
|
|
12718
12723
|
if (rc && state.asyncS11nExceptions) {
|
|
@@ -12894,8 +12899,12 @@ var sqlite3InitModule = (() => {
|
|
|
12894
12899
|
|
|
12895
12900
|
const ioSyncWrappers = {
|
|
12896
12901
|
xCheckReservedLock: function (pFile, pOut) {
|
|
12897
|
-
|
|
12898
|
-
|
|
12902
|
+
if (1) {
|
|
12903
|
+
wasm.poke(pOut, 0, 'i32');
|
|
12904
|
+
} else {
|
|
12905
|
+
const f = __openFiles[pFile];
|
|
12906
|
+
wasm.poke(pOut, f.lockType ? 1 : 0, 'i32');
|
|
12907
|
+
}
|
|
12899
12908
|
return 0;
|
|
12900
12909
|
},
|
|
12901
12910
|
xClose: function (pFile) {
|