1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-27 20:41:58 +03:00

OPFS async proxy: add a wait-and-retry policy to the get-sync-handle step to help account for cross-tab locking.

FossilOrigin-Name: 45c48c63d311052105d102189208495b2b53fa3c4174884ecf63b757aa4016e5
This commit is contained in:
stephan
2022-10-04 09:12:05 +00:00
parent f6b6188bdd
commit c7fb48d4b6
4 changed files with 63 additions and 27 deletions

View File

@ -915,9 +915,19 @@ const installOpfsVfs = function callee(asyncProxyUri = callee.defaultProxyUri){
opfsUtil.OpfsDb.prototype = Object.create(sqlite3.oo1.DB.prototype);
sqlite3.oo1.dbCtorHelper.setVfsPostOpenSql(
opfsVfs.pointer,
/* Truncate journal mode is faster than delete or wal for
OPFS, per speedtest1. */
"pragma journal_mode=truncate"
[
/* Truncate journal mode is faster than delete or wal for
this vfs, per speedtest1. */
"pragma journal_mode=truncate;",
/*
This vfs benefits hugely from cache on moderate/large
speedtest1 --size 50 and --size 100 workloads. We currently
rely on setting a non-default cache size when building
sqlite3.wasm. If that policy changes, the cache can
be set here.
*/
//"pragma cache_size=-8388608;"
].join('')
);
}