]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove an ALWAYS() in the star-query heuristic that is sometimes false if you
authordrh <>
Tue, 28 Jan 2025 00:48:01 +0000 (00:48 +0000)
committerdrh <>
Tue, 28 Jan 2025 00:48:01 +0000 (00:48 +0000)
have a corrupt database.  dbsqlfuzz c37ba7728d79859b79c8341b59297e88fba017d3.
Test case in TH3.

FossilOrigin-Name: 6b9a339628eb8bfb6dfbee02000a6ac91cc8a9ae16bd990e62c4142b9f912c36

manifest
manifest.uuid
src/where.c

index 73dc628f2b5ddd524363df5de70d20b62f032553..1d8c3e1f3e702ac9c67acd89b9894f67581129f0 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Use\shashing\sto\saccelerate\scolumn\smatching\son\sINSERT\sstatements.\s\sCode\sis\nsmaller\sand\sabout\s1.8%\sfaster\soverall\saccording\sto\stest/speedtest.tcl.
-D 2025-01-27T21:18:13.459
+C Remove\san\sALWAYS()\sin\sthe\sstar-query\sheuristic\sthat\sis\ssometimes\sfalse\sif\syou\nhave\sa\scorrupt\sdatabase.\s\sdbsqlfuzz\sc37ba7728d79859b79c8341b59297e88fba017d3.\nTest\scase\sin\sTH3.
+D 2025-01-28T00:48:01.787
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -863,7 +863,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
 F src/wal.c 4e6181d8780ab0af2e1388d0754cbe6f2f04593d2b1ab6c41699a89942fd8997
 F src/wal.h ba252daaa94f889f4b2c17c027e823d9be47ce39da1d3799886bbd51f0490452
 F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014
-F src/where.c 72cd936dcaa391fdce021840fbd1d9cbe51e34f821e0a09a05a2cc99ab506e92
+F src/where.c 09dc313e7223ca1217c39c7026b00f16ff449a8323511a762fcba7863a00f4cd
 F src/whereInt.h d20cddddb1d61b18d5cb1fcfa9b77fbeebbc4afe44d996e603452a23b3009ee1
 F src/wherecode.c 0c3d3199a2b769a5e2bb70feb5003dc85b3d86842ecaf903a47f2b4205ca5dab
 F src/whereexpr.c 0f93a29cabd3a338d09a1f5c6770620a1ac51ec1157f3229502a7e7767c60b6f
@@ -2208,8 +2208,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 614ae5c74f3b534f50432c875681d7a1e6135be883508939c9c57822cc1e9361
-R 03aea741a0703ca96f0d93fb17714919
+P 8be956383e0344fb613ec2e56fce7b518f439ae34bf9ddb424de2bd9b31c9889
+R 77d3f24a906693f579bd3b508d5195e5
 U drh
-Z 0ad560704a9a8a0c8ed384deaa40c4eb
+Z 249159a5b98132893f1e97c49e03bb71
 # Remove this line to create a well-formed Fossil manifest.
index 8b991c86cb05d222bc06c422650ec6ff129a4f28..a380877b99129dca478af5fcf4b7fcb40bbbecc4 100644 (file)
@@ -1 +1 @@
-8be956383e0344fb613ec2e56fce7b518f439ae34bf9ddb424de2bd9b31c9889
+6b9a339628eb8bfb6dfbee02000a6ac91cc8a9ae16bd990e62c4142b9f912c36
index 8f467e9787dc6da488ddc598dca04639ab887f36..5cb52b8adb0a933f1a7a35b809e01ea7fbb2cbd6 100644 (file)
@@ -5538,7 +5538,7 @@ static int computeMxChoice(WhereInfo *pWInfo){
         ** restrict the search for dimension-tables to be tables to the right
         ** of the fact-table. */
         if( iFromIdx+4 > nLoop ) break;  /* Impossible to reach nDep>=4 */
-        while( ALWAYS(pStart) && pStart->iTab<=iFromIdx ){
+        while( pStart && pStart->iTab<=iFromIdx ){
           pStart = pStart->pNextLoop;
         }
       }