Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for ext/wasm/api/sqlite3-opfs-async-proxy.js
2024-10-17
| ||
12:17 | [4708c527] part of check-in [63ee3584] Fix the OPFS VFS's xOpen() to honor the read-only flag. Fix the OPFS SAHPool VFS to enable re-installation of the VFS after calling OpfsSAHPoolUtil.removeVfs(). (check-in: [63ee3584] user: stephan branch: branch-3.46, size: 29233) | |
12:14 | [3774befd] part of check-in [0a326240] Ensure that the OPFS VFS's xOpen() writes back the read-only flag to the output flags. Resolves the problem reported in forum post cf37d5ff1182c31081. (check-in: [0a326240] user: stephan branch: trunk, size: 30013) | |
2024-07-12
| ||
13:51 | [dd4054e4] part of check-in [c7519d98] Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves issue #12 of the npm distribution. (check-in: [c7519d98] user: stephan branch: branch-3.46, size: 29249) | |
2024-07-11
| ||
14:07 | [e8f1df56] part of check-in [67c035c3] Remove the timing and counter metrics from the OPFS VFS, as they're long-since unused so are just wasted CPU cycles. (check-in: [67c035c3] user: stephan branch: opfs-errant-op, size: 30029) | |
2024-06-17
| ||
13:06 | [e0106685] part of check-in [d34e7880] Improve the JS-exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (check-in: [d34e7880] user: stephan branch: branch-3.46, size: 33206) | |
2024-06-12
| ||
22:15 | [881af464] part of check-in [5bd9fd5f] Remove some dead JS code. Improve the exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (check-in: [5bd9fd5f] user: stephan branch: trunk, size: 33986) | |
12:17 | [a77fe462] part of check-in [587ed3a5] Doc updates in JS code. No functional changes. (check-in: [587ed3a5] user: stephan branch: trunk, size: 34242) | |
2024-03-14
| ||
13:18 | [196ad83d] part of check-in [f1570943] JS: remove an unused function argument and some debug-related comments. No functional changes. (check-in: [f1570943] user: stephan branch: trunk, size: 33462) | |
2024-03-11
| ||
09:32 | [b4c7ce9d] part of check-in [e83f9788] Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file. (check-in: [e83f9788] user: stephan branch: opfs-delete-before-open, size: 33593) | |
2023-07-16
| ||
11:49 | [8cf8a897] part of check-in [52f23db9] Micro-optimizations in opfs-sahpool. (check-in: [52f23db9] user: stephan branch: opfs-sahpool, size: 33204) | |
2023-05-30
| ||
14:10 | [961bbc3c] part of check-in [a61467d1] Minor tweak to the OPFS async proxy to attempt to account for a spurious high-load console error message which was reported via the sqlite-wasm npm project. (check-in: [a61467d1] user: stephan branch: trunk, size: 33121) | |
2023-03-07
| ||
19:12 | [70914ae9] part of check-in [dbbe8f25] Replace use of 'self' in JS code with 'globalThis', as that works in browsers and node environments. Avoid using globalThis.location if it's not set (e.g. in node). Based on feedback in forum post ac7a94d4f77db235. Minor JS build tweaks. (check-in: [dbbe8f25] user: stephan branch: trunk, size: 32314) | |
2023-02-06
| ||
14:01 | [2bc6b2b6] part of check-in [c54f29d8] Add capability to override the JS API's internal use of console.log/debug/warn/error() with client-provided versions via the bootstrap-time config object. (check-in: [c54f29d8] user: stephan branch: trunk, size: 32282) | |
2022-12-08
| ||
04:19 | [7795b84b] part of check-in [0ee49545] Remove some dead JS code and tweak some docs. (check-in: [0ee49545] user: stephan branch: wasm-vtab, size: 32240) | |
2022-12-02
| ||
18:56 | [f79dd8d9] part of check-in [57dd593e] Minor internal tweaks to the OPFS VFS. Resolve a missing result code which lead to a null deref in xFileSize(). (check-in: [57dd593e] user: stephan branch: trunk, size: 32875) | |
18:06 | [132e27f2] part of check-in [0d36021d] OPFS VFS: translate createSyncAccessHandle() exceptions which appear to be locking violations to SQLITE_BUSY. This seems to improve concurrency considerably even with a reduced retry count of 5 (was 6). (check-in: [0d36021d] user: stephan branch: trunk, size: 32875) | |
2022-11-30
| ||
08:37 | [9963c78b] part of check-in [eddafaff] Simplify how the OPFS VFS async proxy copies initial state sent to it from the synchronous side of the connection. Make the lock-wait time a multiple of the wait-loop timeout interval. (check-in: [eddafaff] user: stephan branch: trunk, size: 33010) | |
07:17 | [efb0a714] part of check-in [79832808] Rename some OPFS JS files. Prevent JS bindings of sqlite3_uri_...() from performing JS-to-C-string argument conversion on their first argument, as doing so is specifically illegal. (check-in: [79832808] user: stephan branch: trunk, size: 33738) | |
03:08 | [315582a4] part of check-in [7ce8608e] Doc and logging text tweaks in the OPFS async proxy and test app. (check-in: [7ce8608e] user: stephan branch: trunk, size: 33693) | |
2022-11-29
| ||
06:09 | [4b897371] part of check-in [61799b05] Minor internal cleanups and docs in the OPFS sqlite3_vfs. (check-in: [61799b05] user: stephan branch: trunk, size: 33609) | |
05:25 | [b5dd7eda] part of check-in [0c5c51f4] Internal restructuring of the OPFS sqlite3_vfs in order to facilitate certain experimentation and improve error reporting/hints if it cannot be activated. Deprecate the name sqlite3.opfs.OpfsDb, preferring sqlite3.oo1.OpfsDb for consistency with JsStorageDb and any future DB subclasses. (check-in: [0c5c51f4] user: stephan branch: trunk, size: 33027) | |
2022-11-27
| ||
00:57 | [798383f6] part of check-in [e9dd87e2] Document an OPFS API change in Chrome v108 which does not break our code but does change several formerly async methods to synchronous. No code changes. (check-in: [e9dd87e2] user: stephan branch: trunk, size: 30616) | |
2022-11-24
| ||
17:53 | [d933d4a3] part of check-in [c0458cac] More work on the OPFS concurrency testing app. (check-in: [c0458cac] user: stephan branch: opfs-unlock-asap, size: 29796) | |
2022-11-23
| ||
19:03 | [20030993] part of check-in [d23c9170] Add an experimental OPFS VFS-specific URI flag, opfs-unlock-asap, which tells the VFS to release implicit locks ASAP. This permits higher concurrency but hurts performance considerably. This may or may not be obsoleted by other concurrency-related experimentation. (check-in: [d23c9170] user: stephan branch: opfs-unlock-asap, size: 30709) | |
16:39 | [3142ed3a] part of check-in [c5b7a971] Initial infrastructure for adding a mode to the OPFS VFS which causes implicit locks to be released ASAP, which increases concurrency at the cost of performance. (check-in: [c5b7a971] user: stephan branch: opfs-unlock-asap, size: 31323) | |
2022-11-21
| ||
05:18 | [1ec10873] part of check-in [a8d4da15] More tweaking of OPFS concurrency measures and the related test app. (check-in: [a8d4da15] user: stephan branch: trunk, size: 28382) | |
04:12 | [021af8b3] part of check-in [2debbbca] Resolve missing SQLITE_LOCKED result code which triggered a new (since last checkin) exception in the OPFS VFS. Improve output of the OPFS contention tester app. (check-in: [2debbbca] user: stephan branch: trunk, size: 28519) | |
03:50 | [97cf1909] part of check-in [96f76e76] Add test app for experimenting with multi-worker OPFS concurrency. Tweak OPFS VFS to significantly improve the otherwise "unfortunate" concurrency situation. (check-in: [96f76e76] user: stephan branch: trunk, size: 28513) | |
2022-11-10
| ||
13:14 | [24d1c198] part of check-in [a7fe91af] Rework automatically acquired OPFS locks to be released during idle time. This eliminates the performance hit reported in [46304ba057707c]. (check-in: [a7fe91af] user: stephan branch: opfs-lock-without-xlock, size: 27560) | |
11:35 | [721ea9f7] part of check-in [46304ba0] OPFS: if an op which needs a lock is called when no lock has been obtained, automatically lock it at the start of the op and unlock it at the end of that op. This is an attempt to alleviate the cross-tab contention described in forum post 58a377083cd24a but it increases speedtest1 run time by approximately 4x. Perhaps auto-lock can be combined with the older idle-time-based auto-unlock to unlock such locks (but not those from xLock()) to improve this? (check-in: [46304ba0] user: stephan branch: opfs-lock-without-xlock, size: 26560) | |
2022-11-03
| ||
21:21 | [ab7d2888] part of check-in [e92e1f42] Globally replace '' with "" for empty JS strings to please C preprocessor. (check-in: [e92e1f42] user: stephan branch: trunk, size: 25612) | |
2022-11-02
| ||
11:53 | [936f5773] part of check-in [b35e1225] Add sqlite3_wasm_vfs_create_file() to replace Emscripten's FS.createDataFile() in a (mostly) VFS-agnostic way. Add a test for worker1's export (to bytearray) support. Re-add worker1 open-from-bytearray using sqlite3_wasm_vfs_create_file() but it's untested (requires a new interactive test app or maybe reconsideration). (check-in: [b35e1225] user: stephan branch: trunk, size: 25612) | |
08:49 | [9815bd04] part of check-in [5bc83d56] Fix a symbol name typo which broke and exception-handling case in OPFS xOpen(). (check-in: [5bc83d56] user: stephan branch: trunk, size: 25003) | |
2022-11-01
| ||
07:49 | [2627bf8d] part of check-in [86a341d7] Significant cleanups and expansion of the sqlite3.opfs utilities. Add oo1.DB.dbVfsName(). Add VFS name to worker1:open's arguments and result. (check-in: [86a341d7] user: stephan branch: trunk, size: 24964) | |
2022-10-31
| ||
11:53 | [b2264efe] part of check-in [32e1a2d2] Internal tweaks to the OPFS VFS result codes. (check-in: [32e1a2d2] user: stephan branch: trunk, size: 24937) | |
2022-10-30
| ||
11:22 | [08acf5cf] part of check-in [646fe2ce] Refactoring towards being able to distinguish locking-related errors from non-locking errors in OPFS VFS operations. On a branch because it's not yet clear whether this is a misuse of the SQLITE_IOERR_... codes. Edit: indeed, this is a misuse of the result codes. (check-in: [646fe2ce] user: stephan branch: opfs-locking-result-codes, size: 25385) | |
10:24 | [29f6f5c3] part of check-in [bbce49d8] Adjust automatic OPFS locking retries such that they will wait up to a total of 3 seconds spanning 4 attempts. (check-in: [bbce49d8] user: stephan branch: trunk, size: 24201) | |
2022-10-25
| ||
08:06 | [f04cb1eb] part of check-in [48645f7b] Minor cleanups and doc improvements in the OPFS sqlite3_vfs proxy. (check-in: [48645f7b] user: stephan branch: trunk, size: 24176) | |
2022-10-19
| ||
04:44 | Renamed ext/wasm/sqlite3-opfs-async-proxy.js → ext/wasm/api/sqlite3-opfs-async-proxy.js. [206ce6bb] part of check-in [6d468dab] Apply considerable acrobatics to get the JS/WASM deliverables building to and loadable from a directory other than the one which contains the app-level code. Requires an only-slightly-leaky abstraction of passing a URL argument when loading sqlite3.js but provides much greater flexibility in where the JS/WASM files are located. (check-in: [6d468dab] user: stephan branch: trunk, size: 23623) | |