]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge opfs-wl into trunk, not so much for the "opfs-wl" VFS, which is stil tentative...
authorstephan <stephan@noemail.net>
Sun, 8 Mar 2026 08:32:22 +0000 (08:32 +0000)
committerstephan <stephan@noemail.net>
Sun, 8 Mar 2026 08:32:22 +0000 (08:32 +0000)
FossilOrigin-Name: bcaa876c6dafee0995d239f59b6ce7810b6f5faa219b9c392966211ae3dec17a

1  2 
ext/wasm/api/sqlite3-api-prologue.js
ext/wasm/tester1.c-pp.js
ext/wasm/tests/opfs/concurrency/worker.js
manifest
manifest.uuid

Simple merge
Simple merge
index 5d28bedee0ed4eaf96f4a7702bad75c8bffe6b19,a698fc96f7d851e9f83c7d9fc41f7f1046e88801..fb603cf795c4cad26fcb984f6b44d6a9d2126e3a
@@@ -46,16 -52,39 +52,40 @@@ globalThis.sqlite3InitModule().then(asy
      }
    };
    const run = async function(){
-     db = new sqlite3.oo1.OpfsDb({
-       filename: 'file:'+dbName+'?opfs-unlock-asap='+options.unlockAsap,
-       flags: 'c'
+     const Ctors = Object.assign(Object.create(null),{
+       opfs: sqlite3.oo1.OpfsDb,
+       'opfs-wl': sqlite3.oo1.OpfsWlDb
      });
+     const ctor = Ctors[options.vfs];
+     if( !ctor ){
+       stderr("Invalid VFS name:",vfs);
+       return;
+     }
++    stdout("ctor:", options.vfs);
+     while(true){
+       try{
+         db = new ctor({
+           filename: 'file:'+dbName+'?opfs-unlock-asap='+options.unlockAsap,
+           flags: 'c'
+         });
+         break;
+       }catch(e){
+         if(e instanceof sqlite3.SQLite3Error
+            && sqlite3.capi.SQLITE_BUSY===e.resultCode){
+           stderr("Retrying open() for BUSY:",e.message);
+           continue;
+         }
+         throw e;
+       }
+     }
      sqlite3.capi.sqlite3_busy_timeout(db.pointer, 5000);
-     db.transaction((db)=>{
-       db.exec([
-         "create table if not exists t1(w TEXT UNIQUE ON CONFLICT REPLACE,v);",
-         "create table if not exists t2(w TEXT UNIQUE ON CONFLICT REPLACE,v);"
-       ]);
+     sqlite3.capi.sqlite3_js_retry_busy(-1, ()=>{
+       db.transaction((db)=>{
+         db.exec([
+           "create table if not exists t1(w TEXT UNIQUE ON CONFLICT REPLACE,v);",
+           "create table if not exists t2(w TEXT UNIQUE ON CONFLICT REPLACE,v);"
+         ]);
+       });
      });
  
      const maxIterations =
diff --cc manifest
index 9b6f4841be73b3ead676d3e91886f98f01f01d3a,7dd4119fcaa7066e32ff84526117d435c36c7d88..7f650c37c32eed4e3938e242340fed3e1c0aba12
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Add\sparens\saround\san\sexpression\sin\sthe\sCLI\sshell\sto\saccount\sfor\soperator\sprecedence,\sas\sreported\sin\s[forum:856ff7a2f1|forum\spost\s856ff7a2f1].
- D 2026-03-08T07:02:46.194
 -C Update\sthe\stester1\sSEE\stests\sto\saccount\sfor\sopfs-wl.
 -D 2026-03-08T08:09:09.808
++C Merge\sopfs-wl\sinto\strunk,\snot\sso\smuch\sfor\sthe\s"opfs-wl"\sVFS,\swhich\sis\sstil\stentative\s(working\sfine\sbut\swith\slittle\sperceived\sbenefit),\sbut\sfor\sthe\s"opfs"\sVFS\scleanups\swhich\snecessarily\shappened\saround\sit.
++D 2026-03-08T08:32:22.078
  F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@@ -584,21 -584,24 +584,24 @@@ F ext/wasm/api/EXPORTED_FUNCTIONS.c-pp 
  F ext/wasm/api/README.md a905d5c6bfc3e2df875bd391d6d6b7b48d41b43bdee02ad115b47244781a7e81
  F ext/wasm/api/extern-post-js.c-pp.js d9f42ecbedc784c0d086bc37800e52946a14f7a21600b291daa3f963c314f930
  F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41
+ F ext/wasm/api/opfs-common-inline.c-pp.js 5be8d6d91963849e218221b48206ae55612630bb2cd7f30b1b6fcf7a9e374b76
+ F ext/wasm/api/opfs-common-shared.c-pp.js 49f4b044dfb3becd8c926ef42b7494da680e5ac878c6d10ef510b66f74ad55a1
  F ext/wasm/api/post-js-footer.js a50c1a2c4d008aede7b2aa1f18891a7ee71437c2f415b8aeb3db237ddce2935b
- F ext/wasm/api/post-js-header.js d24bd0d065f3489c8b78ddf3ead6321e5d047187a162cd503c41700e03dd1f06
+ F ext/wasm/api/post-js-header.js f35d2dcf1ab7f22a93d565f8e0b622a2934fc4e743edf3b708e4dd8140eeff55
  F ext/wasm/api/pre-js.c-pp.js 9234ea680a2f6a2a177e8dcd934bdc5811a9f8409165433a252b87f4c07bba6f
 -F ext/wasm/api/sqlite3-api-glue.c-pp.js 9b33e3ee467791dec4fd1b444b12a8545dfbb6c8b28ac651c7bdc7661a3b5a5c
 +F ext/wasm/api/sqlite3-api-glue.c-pp.js 7afb3da3510facafd94ce31133ec847d0d4db5b2b5e4325941803fd3bca07c16
  F ext/wasm/api/sqlite3-api-oo1.c-pp.js 45454631265d9ce82685f1a64e1650ee19c8e121c41db98a22b534c15e543cfa
- F ext/wasm/api/sqlite3-api-prologue.js 2eac3d601c8a824fda1529f9eb894518672d3e575b49c0601094afda442b294f
 -F ext/wasm/api/sqlite3-api-prologue.js df30ccb31affb2bbe9a2de63d6276c7ec1192ec732e79a0138449a19ec04b988
++F ext/wasm/api/sqlite3-api-prologue.js db1ba33ca7092f12d5bb6cb615c78c457432be4a1d26785686993a8909950d72
  F ext/wasm/api/sqlite3-api-worker1.c-pp.js 1041dd645e8e821c082b628cd8d9acf70c667430f9d45167569633ffc7567938
  F ext/wasm/api/sqlite3-license-version-header.js 98d90255a12d02214db634e041c8e7f2f133d9361a8ebf000ba9c9af4c6761cc
- F ext/wasm/api/sqlite3-opfs-async-proxy.js 92d6d327a862f1627ff3e88e60fdfea9def06ad539d98929ba46490e64372736
 -F ext/wasm/api/sqlite3-opfs-async-proxy.c-pp.js c2236c9037ccac368be6eeed3e5f6ed3cefed0d20539c9092139f27a76aaf1ba
++F ext/wasm/api/sqlite3-opfs-async-proxy.c-pp.js c2236c9037ccac368be6eeed3e5f6ed3cefed0d20539c9092139f27a76aaf1ba w ext/wasm/api/sqlite3-opfs-async-proxy.js
  F ext/wasm/api/sqlite3-vfs-helper.c-pp.js 3f828cc66758acb40e9c5b4dcfd87fd478a14c8fb7f0630264e6c7fa0e57515d
- F ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js 2ccf4322f42063aefc150972943e750c77f7926b866f1639d40eec05df075b6e
- F ext/wasm/api/sqlite3-vfs-opfs-sahpool.c-pp.js 1575ea6bbcf2da1e6df6892c17521a0c1c1c199a672e9090176ea0b88de48bd9
- F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 88ce2078267a2d1af57525a32d896295f4a8db7664de0e17e82dc9ff006ed8d3
+ F ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js f907fa712d1c9d98a3c08393f3e97a664857782da11670e129d39e383f45f968
+ F ext/wasm/api/sqlite3-vfs-opfs-sahpool.c-pp.js cf5fba74978d3e0983f68505d9695ee7836853855590a92ccc5a96e27db5350b
+ F ext/wasm/api/sqlite3-vfs-opfs-wl.c-pp.js 743650cfefed0df900171971065c2d618e5652177a98844ddb6695c70149968e
+ F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 4b02d7063d00e2d4f42d4ca79a8a0bca1b275257e135bc154d35b701ed1d234a
  F ext/wasm/api/sqlite3-vtab-helper.c-pp.js 366596d8ff73d4cefb938bbe95bc839d503c3fab6c8335ce4bf52f0d8a7dee81
 -F ext/wasm/api/sqlite3-wasm.c 45bb20e19b245136711f9b78584371233975811b6560c29ed9b650e225417e29
 +F ext/wasm/api/sqlite3-wasm.c ddf9d435b2e901eaceb805ff694e9609c2f32b5cf89a4f164e734a6fa303fdd2
  F ext/wasm/api/sqlite3-worker1-promiser.c-pp.js aa9715f661fb700459a5a6cb1c32a4d6a770723b47aa9ac0e16c2cf87d622a66
  F ext/wasm/api/sqlite3-worker1.c-pp.js bd0655687090e3b1657268a6a9cacde1ea2a734079d194e16dbbed9083e51b38
  F ext/wasm/c-pp-lite.c f38254fba42561728c2e4764a7ba8d68700091e7c2f4418112868c0daba16783
@@@ -641,10 -644,10 +644,10 @@@ F ext/wasm/test-opfs-vfs.html 1f2d672f3
  F ext/wasm/test-opfs-vfs.js 1618670e466f424aa289859fe0ec8ded223e42e9e69b5c851f809baaaca1a00c
  F ext/wasm/tester1-worker.c-pp.html d0032241d0b24d996cf1c4dd0dde364189693af9b5c986e48af7d3d720fcd244
  F ext/wasm/tester1.c-pp.html 52d88fe2c6f21a046030a36410b4839b632f4424028197a45a3d5669ea724ddb
- F ext/wasm/tester1.c-pp.js 1c81b2b3f6c02adbb50ff48e07645946cd066cd215c0b8b500574fefecacf5c8
- F ext/wasm/tests/opfs/concurrency/index.html 657578a6e9ce1e9b8be951549ed93a6a471f4520a99e5b545928668f4285fb5e
- F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65ad09f510589c779b7cc6a803a88
- F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
 -F ext/wasm/tester1.c-pp.js a84541ec9cfedcb41279a0da6b34c052a2c7b397c696b8a8a8f85964c8d1e9ca
++F ext/wasm/tester1.c-pp.js e26e78fe450375b43a88a5da41946b8997612201a592770f19ec827b2bf96cc0
+ F ext/wasm/tests/opfs/concurrency/index.html c8ac239f6fb45440adbdddb33a0fde2c61a20799189d60b8926be702a27dd226
+ F ext/wasm/tests/opfs/concurrency/test.js 46c772bc18abb0fcbb058d57b5aaee9e7938f948ecdd802c6ca0850ad3519f92
 -F ext/wasm/tests/opfs/concurrency/worker.js fc985ec86b70b057224e8caaa9c5a11892ea9b980a5c5da21b1efdf5f12bc3f6
++F ext/wasm/tests/opfs/concurrency/worker.js 4edeec8d88f14c9603c9d4e32ce379ce1d5394f3c5e820776e26a603d600b3e3
  F ext/wasm/tests/opfs/sahpool/digest-worker.js b0ab6218588f1f0a6d15a363b493ceaf29bfb87804d9e0165915a9996377cf79
  F ext/wasm/tests/opfs/sahpool/digest.html 206d08a34dc8bd570b2581d3d9ab3ecad3201b516a598dd096dcf3cf8cd81df8
  F ext/wasm/tests/opfs/sahpool/index.html be736567fd92d3ecb9754c145755037cbbd2bca01385e2732294b53f4c842328
@@@ -2189,8 -2191,8 +2192,9 @@@ F tool/warnings-clang.sh bbf6a1e685e534
  F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
  F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
- P 0c5d4fe0bd322b4c8dbd0800001317a21cd511b00244de74b4db3fd051153879
- R d722ffeb4d76b155994400ff67e06b8f
 -P 17ac8d7bdfaf96510abea8c11019045c1703b7040655d9c4c8d7001636260b50
 -R 20c127d6b469936bc976ef9124b5bb85
++P da3ad170aebf57f2202e56673ac149bc51077d126ab5928f1db16492e403d5b9 616d32c8380ef47c5a7c2eb765e7b6fbec9500d4e16c837f4ee11d71c239a55f
++R 7fa9d9bc620afcdc086430a72b380676
++T +closed 616d32c8380ef47c5a7c2eb765e7b6fbec9500d4e16c837f4ee11d71c239a55f Closed\sby\sintegrate-merge.
  U stephan
- Z f680be3a93bb03be191e09867e313221
 -Z c738f3c585f3f955ad9c9cce49c18902
++Z eb8fc8dc10da8c389057ea48d94a3dd6
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index 56e3347d8a23231d7f6f521ff8aed01a66252a59,4539686e521c90b5d9cfeeb1ae16642532f1a3b5..15421985002d1ae86b6f4be7a98a590901e5d79d
@@@ -1,1 -1,1 +1,1 @@@
- da3ad170aebf57f2202e56673ac149bc51077d126ab5928f1db16492e403d5b9
 -616d32c8380ef47c5a7c2eb765e7b6fbec9500d4e16c837f4ee11d71c239a55f
++bcaa876c6dafee0995d239f59b6ce7810b6f5faa219b9c392966211ae3dec17a