]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Correct a one-too-many-exclamation-points bug which caused the opposite of intended...
authorstephan <stephan@noemail.net>
Fri, 11 Jul 2025 19:34:30 +0000 (19:34 +0000)
committerstephan <stephan@noemail.net>
Fri, 11 Jul 2025 19:34:30 +0000 (19:34 +0000)
FossilOrigin-Name: 91e709f36d36174534b4cf4ff548a558e66cca5e23a6c8c106bc43375fc3ce72

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

index 1473e4e45e7cb88b136c1b72d4eac66881a73652..f92dde48a7e99b7063d0740879970e2f1897d004 100644 (file)
@@ -532,7 +532,7 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
     }
     this.db = arguments[0];
     __ptrMap.set(this, arguments[1]);
-    if( arguments.length>3 && !!arguments[3] ){
+    if( arguments.length>3 && !arguments[3] ){
       __doesNotOwnHandle.add(this);
     }
   };
index f2fdeebed65052f795aeaabe9e7d2b49b9ca9c25..dd70024abb4322b9dd90d6355fcd58cc71b443c4 100644 (file)
@@ -1273,15 +1273,22 @@ globalThis.sqlite3InitModule = sqlite3InitModule;
           }
           T.assert( dw===dw.exec("select 1") );
           dw.affirmOpen();
-          rc = capi.sqlite3_prepare_v2( dw, "select 1", -1, ppOut, 0 );
+          const select1 = "select 1";
+          rc = capi.sqlite3_prepare_v2( dw, select1, -1, ppOut, 0 );
           T.assert( 0===rc, 'prepare_v2() rc='+rc );
           pStmt = wasm.peekPtr(ppOut);
+          T.assert( pStmt && wasm.isPtr(pStmt), 'pStmt is valid?' );
           try {
+            //log( "capi.sqlite3_sql() =",capi.sqlite3_sql(pStmt));
+            T.assert( select1 === capi.sqlite3_sql(pStmt), 'SQL mismatch' );
             q = sqlite3.oo1.Stmt.wrapHandle(dw, pStmt, false);
+            //log("q@"+pStmt+" does not own handle");
             T.assert( q.step(), "step()" )
               .assert( !q.step(), "!step()" );
             q.finalize();
             q = undefined;
+            T.assert( select1 === capi.sqlite3_sql(pStmt), 'SQL mismatch'
+                    /* This will fail if we've mismanaged pStmt's lifetime */);
             q = sqlite3.oo1.Stmt.wrapHandle(dw, pStmt, true);
             pStmt = 0;
             q.reset();
index 20cc6238891fec82dc87cd19112fdfd91b8ee72a..cc57a87555e00f589d4aade54e5bfa6f91b3cf34 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Minor\sJS\sdoc\stweaks.
-D 2025-07-10T09:25:57.652
+C Correct\sa\sone-too-many-exclamation-points\sbug\swhich\scaused\sthe\sopposite\sof\sintended\ssemantics\sin\soo1.Stmt.pointer\sownership.
+D 2025-07-11T19:34:30.706
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -641,7 +641,7 @@ F ext/wasm/api/post-js-header.js 53740d824e5d9027eb1e6fd59e216abbd2136740ce260ea
 F ext/wasm/api/pre-js.c-pp.js a614a2c82b12c4d96d8e3ba77330329efc53c4d56a8a7e60ade900f341866cfb
 F ext/wasm/api/sqlite3-api-cleanup.js 3ac1786e461ada63033143be8c3b00b26b939540661f3e839515bb92f2e35359
 F ext/wasm/api/sqlite3-api-glue.c-pp.js 0b76510f3650053bac67ca8947cb6ab9d050ad2218118a2e7796dd37be832ffa
-F ext/wasm/api/sqlite3-api-oo1.c-pp.js bc472af6c3aada06ad94b332bf23cef2407932e5bb4c0c34c12a6ced343c2e51
+F ext/wasm/api/sqlite3-api-oo1.c-pp.js 19067fa3939d355db7bb5b02ee79dbb5e7ca4a8bd24216e24a2b4320b81ebb8d
 F ext/wasm/api/sqlite3-api-prologue.js 8708570165f5b4bce9a78ccd91bc9ddf8735970ac1c4d659e36c9a7d9a644bb4
 F ext/wasm/api/sqlite3-api-worker1.c-pp.js f646a65257973b8c4481f8a6a216370b85644f23e64b126e7ae113570587c0ab
 F ext/wasm/api/sqlite3-license-version-header.js 0c807a421f0187e778dc1078f10d2994b915123c1223fe752b60afdcd1263f89
@@ -698,7 +698,7 @@ F ext/wasm/test-opfs-vfs.html 1f2d672f3f3fce810dfd48a8d56914aba22e45c6834e262555
 F ext/wasm/test-opfs-vfs.js 1618670e466f424aa289859fe0ec8ded223e42e9e69b5c851f809baaaca1a00c
 F ext/wasm/tester1-worker.html ebc4b820a128963afce328ecf63ab200bd923309eb939f4110510ab449e9814c
 F ext/wasm/tester1.c-pp.html 1c1bc78b858af2019e663b1a31e76657b73dc24bede28ca92fbe917c3a972af2
-F ext/wasm/tester1.c-pp.js 830749ee21bde538f52e150878c0078a3f6d294ba183900efd8488a9e6debf4f
+F ext/wasm/tester1.c-pp.js 0abba4bd54f6b22adaadf836c04d3163399f7a8a490fd60f20daac5f9c42b47d
 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
@@ -2208,8 +2208,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 0ee19db02a9b9320681d4393d9ba52889d149eac8ee114fc7b7f52a57271c139
-R 9671bcb7870e122ad1976f1fae21a064
+P 34d893b4837be8bb679e9809befd98201dd79c8d2054f41429b18793b77e840f
+R 3857d6c93e170f8a2978e6a4274a481e
 U stephan
-Z adaaff03d3b0b893bc2eaac10b306778
+Z 42d47a808b11dbced254adeb3041a5ca
 # Remove this line to create a well-formed Fossil manifest.
index 963b157be56a7fa4318e9890306c46b21e090fc2..2eca880dc552e63a83b222b57ad8c4327d40e671 100644 (file)
@@ -1 +1 @@
-34d893b4837be8bb679e9809befd98201dd79c8d2054f41429b18793b77e840f
+91e709f36d36174534b4cf4ff548a558e66cca5e23a6c8c106bc43375fc3ce72