]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Get the kvvfs v2 working in 64-bit wasm builds (a 0 vs null vs BigInt issue).
authorstephan <stephan@noemail.net>
Sun, 23 Nov 2025 16:54:16 +0000 (16:54 +0000)
committerstephan <stephan@noemail.net>
Sun, 23 Nov 2025 16:54:16 +0000 (16:54 +0000)
FossilOrigin-Name: 4811742688bd8ae847c0a13ca9b395b2d2edd24ce4e7760a5d1b0adf1c7f332d

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

index 04ce27ffb51f7a08f9087073ede9255323d0dad1..08b67116cbdba4c388a512c57bd5ede1c753de35 100644 (file)
@@ -288,7 +288,7 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
   const keyForStorage = (store, zClass, zKey)=>{
     //debug("keyForStorage(",store, wasm.cstrToJs(zClass), wasm.cstrToJs(zKey));
     return wasm.exports.sqlite3__wasm_kvvfsMakeKeyOnPstack(
-      store.keyPrefix ? zClass : null, zKey
+      store.keyPrefix ? zClass : wasm.ptr.null, zKey
     );
   };
   /* We use this for the many small key allocations we need.
@@ -502,7 +502,7 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
               /* this messes up the recordHandler methods. They have only
                  the key, not the sqlite3_file object, so cannot map
                  a prefixless key to a storage object. */
-                f.$zClass = null;
+                f.$zClass = wasm.ptr.null;
               }
             }else{
               /* TODO: a url flag which tells it to keep the storage
@@ -510,7 +510,7 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
                  Storage-ish objects. We can accomplish that by
                  simply increasing the refcount once more. */
               util.assert( !f.$isJournal, "Opening a journal before its db? "+jzClass );
-              //breaks stuff f.$zClass = null /* causes the "kvvfs-" prefix to be elided from keys */;
+              //breaks stuff f.$zClass = wasm.ptr.null /* causes the "kvvfs-" prefix to be elided from keys */;
               const other = f.$isJournal
                     ? jzClass.replace(cache.rxJournalSuffix,'')
                     : jzClass + '-journal';
index a3a55354447fe5aacaa5860af63276198c91a7c7..73065f8e2cda3611aecc90597fd3a3a8d08d4a86 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Eliminate\sthe\ssuperfluous\s'kvvfs-'\spart\sof\skeys\sfor\stransient\sstorage\sand\scleanup\stheir\sexport\sa\sbit.\sReminder\sfor\slater:\swe\scould\spotentially\suse\sthe\sdbpage\svtab\sto\sserialize\sany\sdb\sto\sthis\sJSON-friendly\sform.
-D 2025-11-23T16:35:18.976
+C Get\sthe\skvvfs\sv2\sworking\sin\s64-bit\swasm\sbuilds\s(a\s0\svs\snull\svs\sBigInt\sissue).
+D 2025-11-23T16:54:16.202
 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 d0c2ec2286ca5f9105de3492a8e26f7bbd574e57d7265f422bbbe1cf3938b9f8
+F ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js 6886aa3a355ea7332190877fac6e5d569ee0c158cf467b45b0fc876e5d305d33
 F ext/wasm/api/sqlite3-vfs-opfs-sahpool.c-pp.js 26cb41d5a62f46a106b6371eb00fef02de3cdbfaa51338ba087a45f53028e0d0
 F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 88ce2078267a2d1af57525a32d896295f4a8db7664de0e17e82dc9ff006ed8d3
 F ext/wasm/api/sqlite3-vtab-helper.c-pp.js 9097074724172e31e56ce20ccd7482259cf72a76124213cbc9469d757676da86
@@ -2178,8 +2178,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 6bc64059410b1868b7a3576e16d03c02e7c007a2be8b313e386eeb2e2a35c258
-R e0e07027fde0a231888a4f23ac8cccb2
+P f63014f70febf82976a99f9f1ce6d793e2ca8d1dd2f72622152b64b2d65f8adc
+R 9d104150c6613ed7753bd1fb4ac1b002
 U stephan
-Z 9e765b52f44e0a91da1bd1e93d48590e
+Z cb3a60effd1de39bc1ff05e3b6dc575c
 # Remove this line to create a well-formed Fossil manifest.
index 14f1da4f7167475cd43e9acff69d849e96de0b88..fc86bee876768210885154895b6651e340ca75b3 100644 (file)
@@ -1 +1 @@
-f63014f70febf82976a99f9f1ce6d793e2ca8d1dd2f72622152b64b2d65f8adc
+4811742688bd8ae847c0a13ca9b395b2d2edd24ce4e7760a5d1b0adf1c7f332d