]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Further tweaks towards 64-bit wasm. Fiddle is failing intermittently from the C level...
authorstephan <stephan@noemail.net>
Sat, 20 Sep 2025 20:23:59 +0000 (20:23 +0000)
committerstephan <stephan@noemail.net>
Sat, 20 Sep 2025 20:23:59 +0000 (20:23 +0000)
FossilOrigin-Name: 9fd82ebe31993c11e61a47205b7fc17a28283ec96cf278df1b6ea8a196d1fcb1

ext/wasm/api/sqlite3-api-oo1.c-pp.js
ext/wasm/api/sqlite3-vfs-opfs.c-pp.js
ext/wasm/fiddle/fiddle-worker.js
manifest
manifest.uuid

index c8b7b71ba78084bff77a9d82cdd4622951baeb2c..b00e3e9a278050466617c8161b17c6836e33de45 100644 (file)
@@ -263,11 +263,11 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
       this.filename = capi.sqlite3_db_filename(pDb,'main');
     }else{
       let fn = opt.filename, vfsName = opt.vfs, flagsStr = opt.flags;
-      if(('string'!==typeof fn && 'number'!==typeof fn)
-         || 'string'!==typeof flagsStr
-         || (vfsName && ('string'!==typeof vfsName && 'number'!==typeof vfsName))){
+      if( ('string'!==typeof fn && !wasm.isPtr(fn))
+          || 'string'!==typeof flagsStr
+          || (vfsName && ('string'!==typeof vfsName && !wasm.isPtr(vfsName))) ){
         sqlite3.config.error("Invalid DB ctor args",opt,arguments);
-        toss3("Invalid arguments for DB constructor.");
+        toss3("Invalid arguments for DB constructor:", arguments, "opts:", opt);
       }
       let fnJs = ('number'===typeof fn) ? wasm.cstrToJs(fn) : fn;
       const vfsCheck = ctor._name2vfs[fnJs];
@@ -285,7 +285,7 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
       const stack = wasm.pstack.pointer;
       try {
         const pPtr = wasm.pstack.allocPtr() /* output (sqlite3**) arg */;
-        let rc = capi.sqlite3_open_v2(fn, pPtr, oflags, vfsName || 0);
+        let rc = capi.sqlite3_open_v2(fn, pPtr, oflags, vfsName || wasm.NullPtr);
         pDb = wasm.peekPtr(pPtr);
         checkSqlite3Rc(pDb, rc);
         capi.sqlite3_extended_result_codes(pDb, 1);
@@ -1075,7 +1075,7 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
           pSql = wasm.peekPtr(pzTail);
           sqlByteLen = Number(wasm.ptrAdd(pSqlEnd,-pSql));
           if(!pStmt) continue;
-          sqlite3.config.debug("exec() pSql =",capi.sqlite3_sql(pStmt));
+          //sqlite3.config.debug("exec() pSql =",capi.sqlite3_sql(pStmt));
           if(saveSql) saveSql.push(capi.sqlite3_sql(pStmt).trim());
           stmt = new Stmt(this, pStmt, BindTypes);
           if(bind && stmt.parameterCount){
index 9cacae788cfcb275c4cd5bf241fbe9743018874a..3f7e81cc959e89c9e23cdd03304c727852a825db 100644 (file)
@@ -844,7 +844,9 @@ const installOpfsVfs = function callee(options){
         const f = __openFiles[pFile];
         let rc;
         try {
-          f.sabView.set(wasm.heap8u().subarray(pSrc, pSrc+n));
+          f.sabView.set(wasm.heap8u().subarray(
+            Number(pSrc), Number(pSrc) + n
+          ));
           rc = opRun('xWrite', pFile, n, Number(offset64));
         }catch(e){
           error("xWrite(",arguments,") failed:",e,f);
@@ -951,7 +953,8 @@ const installOpfsVfs = function callee(options){
       vfsSyncWrappers.xRandomness = function(pVfs, nOut, pOut){
         const heap = wasm.heap8u();
         let i = 0;
-        for(; i < nOut; ++i) heap[pOut + i] = (Math.random()*255000) & 0xFF;
+        const npOut = Number(pOut);
+        for(; i < nOut; ++i) heap[npOut + i] = (Math.random()*255000) & 0xFF;
         return i;
       };
     }
index 997fdf88173ff29698f93fd1c52282c277f7e2fa..2a13653d8e851117e5e63ece7408f38c12d9b940 100644 (file)
     exec: function f(sql){
       if(!f._){
         if(!this.runMain()) return;
-        f._ = sqlite3.wasm.xWrap('fiddle_exec', null, ['string']);
+        f._ = sqlite3.wasm.xWrap('fiddle_exec', undefined, ['string']);
       }
       if(fiddleModule.isDead){
         stderr("shell module has exit()ed. Cannot run SQL.");
         }else if(sql){
           if(Array.isArray(sql)) sql = sql.join('');
           f._running = true;
+          //stdout("calling _()",sql);
           f._(sql);
+          //stdout("returned _()",sql);
         }
       }finally{
         delete f._running;
       }
     },
     resetDb: function f(){
-      if(!f._) f._ = sqlite3.wasm.xWrap('fiddle_reset_db', null);
+      if(!f._) f._ = sqlite3.wasm.xWrap('fiddle_reset_db', undefined);
       stdout("Resetting database.");
       f._();
       stdout("Reset",this.dbFilename());
     /* Interrupt can't work: this Worker is tied up working, so won't get the
        interrupt event which would be needed to perform the interrupt. */
     interrupt: function f(){
-      if(!f._) f._ = sqlite3.wasm.xWrap('fiddle_interrupt', null);
+      if(!f._) f._ = sqlite3.wasm.xWrap('fiddle_interrupt', undefined);
       stdout("Requesting interrupt.");
       f._();
     }
           return;
         }
     };
-    console.warn("Unknown fiddle-worker message type:",ev);
+    sqlite3.config.warn("Unknown fiddle-worker message type:",ev);
   };
 
   /**
   */
   sqlite3InitModule(fiddleModule).then((_sqlite3)=>{
     sqlite3 = _sqlite3;
-    console.warn("Installing sqlite3 module globally (in Worker)",
-                 "for use in the dev console.", sqlite3);
+    sqlite3.config.warn("Installing sqlite3 module globally (in Worker)",
+                        "for use in the dev console.", sqlite3);
     globalThis.sqlite3 = sqlite3;
     const dbVfs = sqlite3.wasm.xWrap('fiddle_db_vfs', "*", ['string']);
     fiddleModule.fsUnlink = (fn)=>fiddleModule.FS.unlink(fn);
index 7cf5391ef0737ab28e6f15b76d83cca8bcc774e9..ea0fed1075eaff88b79ff6ba50b4c0fe11270774 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Get\sspeedtest1's\swasm\sbuild\sworking.
-D 2025-09-20T20:19:18.399
+C Further\stweaks\stowards\s64-bit\swasm.\sFiddle\sis\sfailing\sintermittently\sfrom\sthe\sC\slevel\swhen\simporting\sa\sdb\sand\sit's\snot\syet\sclear\swhat's\shappening\sthere.
+D 2025-09-20T20:23:59.771
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -598,14 +598,14 @@ F ext/wasm/api/post-js-header.js 53740d824e5d9027eb1e6fd59e216abbd2136740ce260ea
 F ext/wasm/api/pre-js.c-pp.js 58f823de197e2c10d76179aa05410a593b7ae03e1ece983bb42ffd818e8857e1
 F ext/wasm/api/sqlite3-api-cleanup.js 6341cb85c931044647ad4b12654a178c81f5a8fbeccdf4dc4f258e5a390d2241
 F ext/wasm/api/sqlite3-api-glue.c-pp.js 9efbe88f71835a01469d494533d0df434bc5e21fad8b23c260aa3d22b7a226b6
-F ext/wasm/api/sqlite3-api-oo1.c-pp.js 38839c45ddef480d5407f95a31299f59b8d662b48851469dd2d66cfad478141d
+F ext/wasm/api/sqlite3-api-oo1.c-pp.js 3224395cfba23cd630f538fef4a57191c658b0791bacb76a4d7dead6f975ee84
 F ext/wasm/api/sqlite3-api-prologue.js 99a5c4a48d26bf3ae6210fe789c1ba9a01106da28b29cd57a03760fd2aef7fdc
 F ext/wasm/api/sqlite3-api-worker1.c-pp.js 760191cd13416e6f5adfd9fcc8a97fed5645c9e0a5fbac213a2d4ce2d79a4334
 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-opfs-sahpool.c-pp.js 0f68a64e508598910e7c01214ae27d603dfc8baec6a184506fafac603a901931
-F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 4ab0704ee198de7d1059eccedc7703c931510b588d10af0ee36ea5b3ebbac284
+F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js c4927aed1ed6e814ea16a8cd37fb45f68c199ebc6c8c6ba26a6c98177afdce85
 F ext/wasm/api/sqlite3-vtab-helper.c-pp.js dbe7f773126ded5e641157410e6a2e218888e53e3fb115f35d748ea5257e9a9c
 F ext/wasm/api/sqlite3-wasm.c 75c50e7721136b60e2132537e039f6b85991449c761090709c2d920c4b82f420
 F ext/wasm/api/sqlite3-worker1-promiser.c-pp.js 4ad256b4ff7f839ad18931ed35d46cced544207bd2209665ec552e193f7f4544
@@ -632,7 +632,7 @@ F ext/wasm/demo-worker1.js 08720227e98fa5b44761cf6e219269cee3e9dd0421d8d91459535
 F ext/wasm/dist.make 57f5da2f0de5a297b5a0bc39ffec736380050578240ab24d864c2ff1b3634a3b
 F ext/wasm/example_extra_init.c 2347cd69d19d839ef4e5e77b7855103a7fe3ef2af86f2e8c95839afd8b05862f
 F ext/wasm/fiddle.make 732b5ba2d5c164080f7918eb4a82447a0039254867d775ba7603bd8bce2b6ac3
-F ext/wasm/fiddle/fiddle-worker.js b5da00e3b13e8a33c8cbd53a0f90a24c3540751bd069908b98879587ebc3bb7e
+F ext/wasm/fiddle/fiddle-worker.js eaacb0c35cfc364414ebd247877cdf79415b8a8e3ffc542ba2bd3be049810b5e
 F ext/wasm/fiddle/fiddle.js f0b96f978c7c77fea8d092aa79c77849ce111d7b1ba60ffba07675009682184e
 F ext/wasm/fiddle/index.html 17c7d6b21f40fbf462162c4311b63d760b065e419d9f5a96534963b0e52af940
 F ext/wasm/index-dist.html 56132399702b15d70c474c3f1952541e25cb0922942868f70daf188f024b3730
@@ -2175,8 +2175,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P bb945f52909caa2577de38711883a79ca918b3716e5e0c2fed6e6ef12e19aeef
-R 2f4878ae4946d7f0892d608a75da930a
+P 2a61e3f1ccb1c2f115377d33af7d84d158b06c462e482fbbddf35c56d1fb58d8
+R d5fafb9175678ded2317c798f5ad5067
 U stephan
-Z cb6555b6dfc22d3f177e7adb2e55dfc1
+Z 51f5f93745b564ee8379de6a465d6e88
 # Remove this line to create a well-formed Fossil manifest.
index 2b15c21436a19127ce83bc79671870f7210de36e..8f6a53f7458cedfb86f7d4fd19bfe0fee6edea6c 100644 (file)
@@ -1 +1 @@
-2a61e3f1ccb1c2f115377d33af7d84d158b06c462e482fbbddf35c56d1fb58d8
+9fd82ebe31993c11e61a47205b7fc17a28283ec96cf278df1b6ea8a196d1fcb1