]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Basic test cases.
authordrh <>
Wed, 18 Oct 2023 19:44:59 +0000 (19:44 +0000)
committerdrh <>
Wed, 18 Oct 2023 19:44:59 +0000 (19:44 +0000)
FossilOrigin-Name: 6cccf86c362631ada0c6cbaf661520648f8bbf7ae2b137b3d7d959647387e5c2

manifest
manifest.uuid
src/expr.c
test/aggorderby.test

index 7bfe811a5dc30ea449f622bdbcd209dad713b0db..bb22cd96f20227a0999b02958772e978aa163612 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sone\sminor\serror\sin\sorder\sto\sget\sall\slegacy\stests\sto\spass.
-D 2023-10-18T19:07:45.183
+C Basic\stest\scases.
+D 2023-10-18T19:44:59.620
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -668,7 +668,7 @@ F src/date.c eebc54a00e888d3c56147779e9f361b77d62fd69ff2008c5373946aa1ba1d574
 F src/dbpage.c 80e46e1df623ec40486da7a5086cb723b0275a6e2a7b01d9f9b5da0f04ba2782
 F src/dbstat.c 3b677254d512fcafd4d0b341bf267b38b235ccfddbef24f9154e19360fa22e43
 F src/delete.c cb766727c78e715f9fb7ec8a7d03658ed2a3016343ca687acfcec9083cdca500
-F src/expr.c 7210855080a90215508cada806ee2aba2138907ca5fca19ba047955a3f094e04
+F src/expr.c ae9224fba771a8471775c25bdf77dbbd395d9448625d9b57c0803c72a14eee27
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 F src/fkey.c a7fcbf7e66d14dbb73cf49f31489ebf66d0e6006c62b95246924a3bae9f37b36
 F src/func.c e8d7b3587a225f4f1116f720b72090511fe9feb936e960bd26a053cea6a17a63
@@ -814,7 +814,7 @@ F test/affinity3.test f094773025eddf31135c7ad4cde722b7696f8eb07b97511f98585addf2
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
 F test/aggfault.test 777f269d0da5b0c2524c7ff6d99ae9a93db4f1b1839a914dd2a12e3035c29829
 F test/aggnested.test 7269d07ac879fce161cb26c8fabe65cba5715742fac8a1fccac570dcdaf28f00
-F test/aggorderby.test 155f0ed2e44f91b13413a84743f829efa23105866c33b66da03d5c6c62308232
+F test/aggorderby.test a77c92a0eb05239ccecc36b6593f6fe965b20d3516d8c9dcc31786405d5f4d8a
 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
 F test/all.test 2ecb8bbd52416642e41c9081182a8df05d42c75637afd4488aace78cc4b69e13
 F test/alter.test 403a7f8842457044a994d0ffb42963d6e84fcfbf5e8f54556063b25d966cd454
@@ -2133,8 +2133,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 64c12a835b6f1df8f2f5f4a41de083f6b3fc7f8030042c6aac0082382cd9cc4d
-R d6ccbf7622f816d9126033156316cd20
+P 5a885139c433a143302ab43dc5aaac1fed9db61548b4ff7d4b19b3a6a46c8fcc
+R 0d6047c558f607c2eae8d487564b4699
 U drh
-Z d5004cc6bd28c98dd137858c93e3d27b
+Z a5d3b645b078b22a6e4c48aa8f04c82d
 # Remove this line to create a well-formed Fossil manifest.
index ce4e3fb16869587068b142cdc189f330baca5cae..5df3a0921abdbd72a4e48fa277cee64c0ba52d01 100644 (file)
@@ -1 +1 @@
-5a885139c433a143302ab43dc5aaac1fed9db61548b4ff7d4b19b3a6a46c8fcc
\ No newline at end of file
+6cccf86c362631ada0c6cbaf661520648f8bbf7ae2b137b3d7d959647387e5c2
\ No newline at end of file
index dd543a98d8d1d39baede69410eb7accfb91c9dca..26f0b4c5c026da950fd3ff5e78da296bfded3d52 100644 (file)
@@ -6723,7 +6723,11 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
             pItem->pFunc = sqlite3FindFunction(pParse->db,
                                          pExpr->u.zToken, nArg, enc, 0);
             assert( pItem->bOBUnique==0 );
-            if( pExpr->pLeft ){
+            if( pExpr->pLeft
+             && (pItem->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL)==0
+            ){
+              /* The NEEDCOLL test above causes any ORDER BY clause on
+              ** aggregate min() or max() to be ignored. */
               ExprList *pOBList;
               assert( nArg>0 );
               assert( pExpr->pLeft->op==TK_ORDER );
index aa868d2faff6c3196524928b08da328809d9a435..e90ea0a57c919342d06f9dc1c80cdf1e0ef55b75 100644 (file)
@@ -15,10 +15,10 @@ set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
 do_execsql_test aggorderby-1.1 {
-  CREATE TABLE t1(a,b,c,d);
-  WITH RECURSIVE c(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM c WHERE x<20)
-  INSERT INTO t1(a,b,c,d) SELECT printf('x%d',x),1,x,200-x FROM c;
-  INSERT INTO t1(a,b,c,d) SELECT a, 2, c-3, -d FROM t1;
+  CREATE TABLE t1(a TEXT,b INT,c INT,d INT);
+  WITH RECURSIVE c(x) AS (VALUES(0) UNION ALL SELECT x+1 FROM c WHERE x<9)
+  INSERT INTO t1(a,b,c,d) SELECT printf('%d',(x*7)%10),1,x,10-x FROM c;
+  INSERT INTO t1(a,b,c,d) SELECT a, 2, c, 10-d FROM t1;
   CREATE INDEX t1b ON t1(b);
 }
 do_catchsql_test aggorderby-1.2 {
@@ -28,4 +28,37 @@ do_catchsql_test aggorderby-1.3 {
   SELECT abs(a ORDER BY max(d)) FROM t1;
 } {1 {ORDER BY may not be used with non-aggregate abs()}}
 
+do_execsql_test aggorderby-2.0 {
+  SELECT group_concat(a ORDER BY a) FROM t1 WHERE b=1;
+} {0,1,2,3,4,5,6,7,8,9}
+do_execsql_test aggorderby-2.1 {
+  SELECT group_concat(a ORDER BY c) FROM t1 WHERE b=1;
+} {0,7,4,1,8,5,2,9,6,3}
+do_execsql_test aggorderby-2.2 {
+  SELECT group_concat(a ORDER BY b, d) FROM t1;
+} {3,6,9,2,5,8,1,4,7,0,0,7,4,1,8,5,2,9,6,3}
+do_execsql_test aggorderby-2.3 {
+  SELECT group_concat(a ORDER BY b DESC, d) FROM t1;
+} {0,7,4,1,8,5,2,9,6,3,3,6,9,2,5,8,1,4,7,0}
+do_execsql_test aggorderby-2.4 {
+  SELECT b, group_concat(a ORDER BY d) FROM t1 GROUP BY b ORDER BY b;
+} {1 3,6,9,2,5,8,1,4,7,0 2 0,7,4,1,8,5,2,9,6,3}
+
+do_execsql_test aggorderby-3.0 {
+  SELECT group_concat(DISTINCT a ORDER BY a) FROM t1;
+} {0,1,2,3,4,5,6,7,8,9}
+do_execsql_test aggorderby-3.1 {
+  SELECT group_concat(DISTINCT a ORDER BY c) FROM t1;
+} {0,7,4,1,8,5,2,9,6,3}
+
+do_execsql_test aggorderby-4.0 {
+  SELECT count(ORDER BY a) FROM t1;
+} 20
+do_execsql_test aggorderby-4.1 {
+  SELECT c, max(a ORDER BY a) FROM t1;
+} {7 9}
+
+
+
+
 finish_test