]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improved version of the previous check-in.
authordrh <>
Fri, 16 May 2025 18:19:11 +0000 (18:19 +0000)
committerdrh <>
Fri, 16 May 2025 18:19:11 +0000 (18:19 +0000)
FossilOrigin-Name: 036c97e36cb36a2ac765a8e8539433dcb63f69155d4c24857f84faa44eed6eb5

manifest
manifest.uuid
src/select.c

index 6b6ab7809826c2c156b057c9994c86937d9b9bc5..c61a38545bc61705fb44df86cd9a559c116bec52 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sthe\soptimization\sof\scheck-in\s[663f5dd32d9db832]\sthat\sstrives\sto\savoid\nduplicate\scompuations\sin\sthe\sGROUP\sBY\sclause\sso\sthat\sit\sworks\seven\sif\sthe\nGROUP\sBY\sterm\sis\sa\ssubquery\son\sthe\sRHS\sof\sa\sLEFT\sJOIN.\s\sProblem\sfound\nby\sdbsqlfuzz.\s\sTest\scases\sin\sTH3.
-D 2025-05-16T17:30:20.021
+C Improved\sversion\sof\sthe\sprevious\scheck-in.
+D 2025-05-16T18:19:11.764
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -785,7 +785,7 @@ F src/printf.c 3b91c334f528359145f4dde0dedd945bbb21044d0825ea064934d7222d61662c
 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c d40fe18d7c2fd0339f5846ffcf7d6809866e380acdf14c76fb2af87e9fe13f64
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
-F src/select.c 8bfa8978ccac53240374ac28e3db2342bc3026fccd020d72c6c5468696f725a6
+F src/select.c ee072fe20566119a195a5a3df454479bb6e944de7aef7006ff0b4d4612f9cb86
 F src/shell.c.in ba53a52dafb167ac6320703da741386c34fbcabe8c078a188bb9f89808e3ef8f
 F src/sqlite.h.in 22882ddd3a70751aa8864c81993ee4562ed54c2c508b6270f75e223ffee38e1b
 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
@@ -2207,8 +2207,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 e98d46d436f8d251ae0da5ee85fd856aca3b57cd48d1be31fa6ca88fe72cad00
-R cf9268e21c54ad74aa1878ddf9fbd8f2
+P 955a026996b93e530ca5b566689cc646b31d3b9b5a5837897a58452d70f6d942
+R 804d8a6678db1d3197b731d5b4dee948
 U drh
-Z fa0f1340c970bbf9fcaf21a2bead4beb
+Z 439b5225de67a70c541dcd306ac1747e
 # Remove this line to create a well-formed Fossil manifest.
index 3c0c98aa842c0fc6343a9042a6c01bd94e12ea4e..0bb3bb9849bab1371ace10b4aa85badbf0962532 100644 (file)
@@ -1 +1 @@
-955a026996b93e530ca5b566689cc646b31d3b9b5a5837897a58452d70f6d942
+036c97e36cb36a2ac765a8e8539433dcb63f69155d4c24857f84faa44eed6eb5
index cf535dc79c6dba67e469a7996fbdac616955970b..3b951afffe88eb6f8fb163bad23c89f4304bda70 100644 (file)
@@ -8498,10 +8498,9 @@ int sqlite3Select(
         if( iOrderByCol ){
           Expr *pX = p->pEList->a[iOrderByCol-1].pExpr;
           Expr *pBase = sqlite3ExprSkipCollateAndLikely(pX);
-          if( ALWAYS(pBase!=0)
-           && pBase->op==TK_IF_NULL_ROW
-          ){
-            pBase = pX = pBase->pLeft;
+          while( ALWAYS(pBase!=0) && pBase->op==TK_IF_NULL_ROW ){
+            pX = pBase->pLeft;
+            pBase = sqlite3ExprSkipCollateAndLikely(pX);
           }
           if( ALWAYS(pBase!=0)
            && pBase->op!=TK_AGG_COLUMN