]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Give kvvfs.unlisten() a useful result value.
authorstephan <stephan@noemail.net>
Sun, 30 Nov 2025 05:25:44 +0000 (05:25 +0000)
committerstephan <stephan@noemail.net>
Sun, 30 Nov 2025 05:25:44 +0000 (05:25 +0000)
FossilOrigin-Name: bbd08b67ceeaae2a3a82655da5a3983f4e9057424de4223f1505ba74c36238af

ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js
ext/wasm/tester1.c-pp.js
manifest
manifest.uuid

index 4f0af5d18606e59b860b80e5a8a2566405d29b53..91cc8111a0b04f6dace0a3ced4945618375808e4 100644 (file)
@@ -1488,16 +1488,23 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
      This has no side effects if opt is invalid or is not a match for
      any listeners.
 
+     Return true if it unregisters its argument, else false.
+
      Added in version @kvvfs-v2-added-in@.
   */
   const sqlite3_js_kvvfs_unlisten = function(opt){
     const store = storageForZClass(opt?.storage);
     if( store?.listeners && opt.events ){
+      const n = store.listeners.length;
       store.listeners = store.listeners.filter((v)=>v!==opt);
+      const rc = n>store.listeners.length;
       if( !store.listeners.length ){
+        // to speed up downstream checks for listeners
         store.listeners = undefined;
       }
+      return rc;
     }
+    return false;
   };
 
   /**
index 72d207e3b2b17eb50fb6c60d06b7e2d8075c109b..e1ede17db0cabdc5d4e076dfd8a3b354073314b3 100644 (file)
@@ -3362,7 +3362,8 @@ globalThis.sqlite3InitModule = sqlite3InitModule;
             debug("kvvfs listener pageLog", pglog);
           }
           const before = JSON.stringify(counts);
-          sqlite3.kvvfs.unlisten(listener);
+          T.assert( sqlite3.kvvfs.unlisten(listener) )
+            .assert( !sqlite3.kvvfs.unlisten(listener) );
           db = new DB(dbFileRaw);
           db.exec("delete from kvvfs");
           db.close();
index fad204cc8adebdba561758c6cf74a76177e6e96c..f53d98af9b7df8da86ff0f4f1d382e44f0fa027f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Extend\sthe\skvvfs.listen()\sconfig\sto\senable\sposting\sof\sraw\sbinary\sdb\spages\sinstead\sof\sthe\skvvfs-encoding.\sThis\sis\smuch\smore\sexpensive\sbut\swas\sadded\sto...\sDemonstrate\sbasic\sasync\sstreaming\sof\skvvfs\sdb\spage-level\schanges\svia\slogging\sof\skvvfs\swrite/delete\sops.
-D 2025-11-30T05:20:17.833
+C Give\skvvfs.unlisten()\sa\suseful\sresult\svalue.
+D 2025-11-30T05:25:44.700
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -600,7 +600,7 @@ F ext/wasm/api/sqlite3-api-worker1.c-pp.js 1041dd645e8e821c082b628cd8d9acf70c667
 F ext/wasm/api/sqlite3-license-version-header.js 0c807a421f0187e778dc1078f10d2994b915123c1223fe752b60afdcd1263f89
 F ext/wasm/api/sqlite3-opfs-async-proxy.js 9654b565b346dc609b75d15337f20acfa7af7d9d558da1afeb9b6d8eaa404966
 F ext/wasm/api/sqlite3-vfs-helper.c-pp.js 3f828cc66758acb40e9c5b4dcfd87fd478a14c8fb7f0630264e6c7fa0e57515d
-F ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js 3d07cc5dd8b20fa81401c9bea93ab794fad4412dd4982280e695f7fb2f0bffbf
+F ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js 962b0f903da386f278669be52bf233e12f1d2bc1bbeb9b45753f2423e4b61d15
 F ext/wasm/api/sqlite3-vfs-opfs-sahpool.c-pp.js a2eea6442556867b589e04107796c6e1d04a472219529eeb45b7cd221d7d048b
 F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 88ce2078267a2d1af57525a32d896295f4a8db7664de0e17e82dc9ff006ed8d3
 F ext/wasm/api/sqlite3-vtab-helper.c-pp.js 366596d8ff73d4cefb938bbe95bc839d503c3fab6c8335ce4bf52f0d8a7dee81
@@ -647,7 +647,7 @@ F ext/wasm/test-opfs-vfs.html 1f2d672f3f3fce810dfd48a8d56914aba22e45c6834e262555
 F ext/wasm/test-opfs-vfs.js 1618670e466f424aa289859fe0ec8ded223e42e9e69b5c851f809baaaca1a00c
 F ext/wasm/tester1-worker.c-pp.html 0e432ec2c0d99cd470484337066e8d27e7aee4641d97115338f7d962bf7b081a
 F ext/wasm/tester1.c-pp.html 52d88fe2c6f21a046030a36410b4839b632f4424028197a45a3d5669ea724ddb
-F ext/wasm/tester1.c-pp.js 322e86c7b1627b61f9decdc741052aa52d62733af004055c6b9850365aa7f5bb
+F ext/wasm/tester1.c-pp.js 0f351a6f21dcf9fc40e90b4778ec1b56db7c24763ef00bab29cecb0382cf6b2d
 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
@@ -2180,8 +2180,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P a4f59496a53a079f8f73e4cde68f47dbd13d2d74de2ad11bc716e7e5c00f1ec0
-R 657f4aadff300838a0780e1d6467cc6f
+P 0f2bad285577c26f1185dcafd3b8ca2f16e74aa9dc40e6e23867150bccee4602
+R a91c43886f7953b96b0dc2b39d55f65b
 U stephan
-Z 248974dfe9e189a43e97fc46a03783b5
+Z 624b197b64a025faddc0668a7a1d59b0
 # Remove this line to create a well-formed Fossil manifest.
index ffbfc63fea86454276a57f08807f7d317bdb8f86..b5e09ce20a241202937672fe1724163c31a99c51 100644 (file)
@@ -1 +1 @@
-0f2bad285577c26f1185dcafd3b8ca2f16e74aa9dc40e6e23867150bccee4602
+bbd08b67ceeaae2a3a82655da5a3983f4e9057424de4223f1505ba74c36238af