]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid problems when a query has a GROUP BY and an ORDER BY but no FROM clause.
authordrh <drh@noemail.net>
Sun, 12 Apr 2015 01:22:04 +0000 (01:22 +0000)
committerdrh <drh@noemail.net>
Sun, 12 Apr 2015 01:22:04 +0000 (01:22 +0000)
FossilOrigin-Name: e527d96a1e098ade4e9d124b630a8c2ea2ac9b36

manifest
manifest.uuid
src/where.c
test/orderby1.test

index 17f4391705a4d80c39870ce3c246835adcfbd8ed..7967b3588486dae33cd8ddd6f4ed3099c3186a2d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Optimizations\sfor\sVACUUM,\sCREATE\sINDEX\sand\ssome\scases\sof\sORDER\sBY.
-D 2015-04-11T20:44:28.726
+C Avoid\sproblems\swhen\sa\squery\shas\sa\sGROUP\sBY\sand\san\sORDER\sBY\sbut\sno\sFROM\sclause.
+D 2015-04-12T01:22:04.580
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5f78b1ab81b64e7c57a75d170832443e66c0880a
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -307,7 +307,7 @@ F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb
 F src/wal.c 878c8e1a51cb2ec45c395d26b7d5cd9e1a098e4a
 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
 F src/walker.c c253b95b4ee44b21c406e2a1052636c31ea27804
-F src/where.c bd435b75b9de53e11b5eb561540e395041ac0cba
+F src/where.c 9952e4749f481707595692f2f13d3ce3b64ffdc8
 F src/whereInt.h cbe4aa57326998d89e7698ca65bb7c28541d483c
 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
@@ -771,7 +771,7 @@ F test/notnull.test f8fcf58669ddba79274daa2770d61dfad8274f62
 F test/null.test 0dcce4f04284ec66108c503327ad6d224c0752b3
 F test/numcast.test 5d126f7f581432e86a90d1e35cac625164aec4a1
 F test/openv2.test 0d3040974bf402e19b7df4b783e447289d7ab394
-F test/orderby1.test d69a2c99c023c85b014ece2cf691caec16a40d6d
+F test/orderby1.test 870e150450437d3980badbde3d0166b81d9e33f6
 F test/orderby2.test bc11009f7cd99d96b1b11e57b199b00633eb5b04
 F test/orderby3.test 8619d06a3debdcd80a27c0fdea5c40b468854b99
 F test/orderby4.test 4d39bfbaaa3ae64d026ca2ff166353d2edca4ba4
@@ -1250,7 +1250,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P acca97efda86a0c020854d2dd9da16f5879986b1 cf7590f607d94a120385576b538484ca738349e2
-R 4a3267783e1ce12038a61c7c4ca15ba8
-U dan
-Z 05508ac040af16f75cf3f23dcdb1072a
+P 79326d6eece926fd1c148b29f0b726208d8b44c0
+R b8a99417c5276ad65ad7b525e5ae16a3
+U drh
+Z ba0a0070ee213de4cf49a8279f3da0ad
index 695e7554627dd4747b13111b7c20e8c31b0a49e4..df7dea677378b38b35c0bec8dac17734c0425bcb 100644 (file)
@@ -1 +1 @@
-79326d6eece926fd1c148b29f0b726208d8b44c0
\ No newline at end of file
+e527d96a1e098ade4e9d124b630a8c2ea2ac9b36
\ No newline at end of file
index a96d9e5add1594b9a6b355ce07188f3f73fe90df..42e950e41e4ed1aa9b46e1c3b4915925d4da3254 100644 (file)
@@ -6241,7 +6241,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){
       pWInfo->revMask = pFrom->revLoop;
     }
     if( (pWInfo->wctrlFlags & WHERE_SORTBYGROUP)
-        && pWInfo->nOBSat==pWInfo->pOrderBy->nExpr
+        && pWInfo->nOBSat==pWInfo->pOrderBy->nExpr && nLoop>0
     ){
       Bitmask revMask = 0;
       int nOrder = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pOrderBy, 
index 164c3f25db026dc807c5bf36eb1466e34a0b235f..3e785c54e4ed79b7128ac944675d93f05ad610dc 100644 (file)
@@ -463,6 +463,9 @@ do_execsql_test 5.1 {
 do_execsql_test 5.2 {
   SELECT 5 UNION ALL SELECT 3 ORDER BY 1
 } {3 5}
+do_execsql_test 5.3 {
+  SELECT 986 AS x GROUP BY X ORDER BY X
+} {986}
 
 # The following test (originally derived from a single test within fuzz.test)
 # verifies that a PseudoTable cursor is not closed prematurely in a deeply