]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
:-) (CVS 79)
authordrh <drh@noemail.net>
Thu, 8 Jun 2000 11:25:00 +0000 (11:25 +0000)
committerdrh <drh@noemail.net>
Thu, 8 Jun 2000 11:25:00 +0000 (11:25 +0000)
FossilOrigin-Name: 305b043f4f71278d6d2c32e6e457f63efefae20d

manifest
manifest.uuid
src/expr.c
src/select.c
test/select5.test

index 1d352c9d74ee3ee535d8336feddbdbca7d54b930..a4a5c34e91afdf5d405fb7ceb2c0f7423b3be06f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C :-)\s(CVS\s78)
-D 2000-06-08T11:13:02
+C :-)\s(CVS\s79)
+D 2000-06-08T11:25:01
 F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4
 F Makefile.in 17ba1ccf8d2d40c627796bba8f72952365d6d644
 F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958
@@ -10,11 +10,11 @@ F src/build.c 5e3b6bab5604cd99019ea6d58f9166d879476991
 F src/dbbe.c 9b191b16ff01ec5bc0af436558501d07938ba4f0
 F src/dbbe.h a8a46f71238e0f09f3ec08fd9d1c8c7f4cdc49bf
 F src/delete.c c267b93f7ccb5493b677fa18201880267c699aa8
-F src/expr.c baa8a4229b3acf69d908efcd697ab63922009c9f
+F src/expr.c ab419c2f09529c8c518484b7f9af68b79e481064
 F src/insert.c ac4edfff474589c00b2490f206317dc5822122e5
 F src/main.c e3297835b8e38ca726ac73f2c2bdb7cf08103197
 F src/parse.y bb2126c8313c111184b89af8675911dcb57f1dca
-F src/select.c f3720cad997e37326490531c0e0eb6148d78f9b5
+F src/select.c d0b54f5f5a2bb6cd5aebc24c192dea4d4dbaeb84
 F src/shell.c 3f4afc39a36e4824e8aa262623fd03568874799e
 F src/sqlite.h 58da0a8590133777b741f9836beaef3d58f40268
 F src/sqliteInt.h 816c491f9896090dde03804fd3f60346456b99df
@@ -39,7 +39,7 @@ F test/select1.test 64703852af34c85bb31b0a74bd73b340e8267f42
 F test/select2.test 3cd3c0f9d67e98b1b54af5853679b4a111224410
 F test/select3.test 73ae8c7b80c4e03a9c29d12f2ea1782e28b8e61f
 F test/select4.test 5d6aa52fde345c51784202159bf9695cd9cc68b7
-F test/select5.test 052369e09b332eae39f000514d6d781f6e2db4ab
+F test/select5.test b6f8b6bef467764a3edaea4e7cb9b0eb8f02ccd8
 F test/sort.test d582086c4bb7df3fbf50aa72e69d7e235e9f8e31
 F test/subselect.test bf8b251a92fb091973c1c469ce499dc9648a41d5
 F test/table.test 85d6f410d127ec508c6640f02d7c40d218414e81
@@ -56,7 +56,7 @@ F www/c_interface.tcl 9ac800854272db5fe439e07b7435b243a5422293
 F www/changes.tcl 04e66b4257589ff78a7e1de93e9dda4725fb03d6
 F www/index.tcl 52e29a4eeda8d59e91af43c61fef177c5f2ffd53
 F www/sqlite.tcl 2f933ce18cffd34a0a020a82435ab937137970fd
-P b3fb15ccde399318bde8c87362ecaa3a744f0680
-R e1672f296e56c45817b7370276066484
+P 923c14fe120c7d5470a18257659154c4f98226b7
+R 57bfb2e9c02ed1359339dbb2f56b538b
 U drh
-Z c0fe15cc0f04489c1fb9cea7fed8a18a
+Z d5e2038c5fa3d3fb8e65d77ade627b18
index c8eca90f98524b9dcfe7f54f537c0a189b547398..799644c392d2efe9011ac9c8de94241dc2515c1c 100644 (file)
@@ -1 +1 @@
-923c14fe120c7d5470a18257659154c4f98226b7
\ No newline at end of file
+305b043f4f71278d6d2c32e6e457f63efefae20d
\ No newline at end of file
index d5e4f747c5da7ac079543118bb563962057c72ef..54840b07d8651fcc351aeb410a1e264f2cc73a14 100644 (file)
@@ -23,7 +23,7 @@
 *************************************************************************
 ** This file contains C code routines used for processing expressions
 **
-** $Id: expr.c,v 1.11 2000/06/07 23:51:50 drh Exp $
+** $Id: expr.c,v 1.12 2000/06/08 11:25:01 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -834,7 +834,6 @@ int sqliteExprAnalyzeAggregates(Parse *pParse, Expr *pExpr){
         if( aAgg[i].isAgg ) continue;
         if( aAgg[i].pExpr->iTable==pExpr->iTable
          && aAgg[i].pExpr->iField==pExpr->iField ){
-          pExpr->iAgg = i;
           break;
         }
       }
@@ -844,6 +843,7 @@ int sqliteExprAnalyzeAggregates(Parse *pParse, Expr *pExpr){
         pParse->aAgg[i].isAgg = 0;
         pParse->aAgg[i].pExpr = pExpr;
       }
+      pExpr->iAgg = i;
       break;
     }
     case TK_AGG_FUNCTION: {
index ffe539d918843b845944392d2b1513a80415fea3..0aa76ff0116a4d4b23b65381edd451b23b1f89bd 100644 (file)
@@ -24,7 +24,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle SELECT statements.
 **
-** $Id: select.c,v 1.20 2000/06/08 11:13:02 drh Exp $
+** $Id: select.c,v 1.21 2000/06/08 11:25:01 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -781,6 +781,7 @@ int sqliteSelect(
   /* Do an analysis of aggregate expressions.
   */
   if( isAgg ){
+    assert( pParse->nAgg==0 && pParse->iAggCount<0 );
     for(i=0; i<pEList->nExpr; i++){
       if( sqliteExprAnalyzeAggregates(pParse, pEList->a[i].pExpr) ){
         return 1;
index f6c54ee9861b62d7a0087864fbb76f5e9b1cd58c..0fa0850d818072f71482ce3486f1c0c9aa8ac165 100644 (file)
@@ -24,7 +24,7 @@
 # focus of this file is testing aggregate functions and the
 # GROUP BY and HAVING clauses of SELECT statements.
 #
-# $Id: select5.test,v 1.1 2000/06/08 11:13:02 drh Exp $
+# $Id: select5.test,v 1.2 2000/06/08 11:25:01 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -55,5 +55,8 @@ do_test select5-1.1 {
 do_test select5-1.2 {
   execsql {SELECT y, count(*) FROM t1 GROUP BY y ORDER BY count(*), y}
 } {9 1 10 1 8 2 7 4 6 8 5 15}
+do_test select5-1.3 {
+  execsql {SELECT count(*), y FROM t1 GROUP BY y ORDER BY count(*), y}
+} {1 9 1 10 2 8 4 7 8 6 15 5}
 
 finish_test