-C When\sa\sCREATE\sTABLE\s...\sAS\sSELECT\sstatement\sfails,\smake\ssure\sthe\stable\sname\nis\sremoved\sfrom\sthe\sinternal\shash\stables.\s\sTicket\s#238.\s(CVS\s858)
-D 2003-02-01T13:53:28
+C Make\sthe\sGROUP\sBY\sclause\swork\seven\sif\sthere\sare\sno\saggregate\sfunctions.\s(CVS\s859)
+D 2003-02-02T12:41:26
F Makefile.in 6606854b1512f185b8e8c779b8d7fc2750463d64
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F src/parse.y cdaed5009423d851708848bd279147c268e6022e
F src/printf.c f8fd911a8738f9b2eb07aca2870473d34707055d
F src/random.c 19e8e00fe0df32a742f115773f57651be327cabe
-F src/select.c 77018f471976a80648dfb3996de52c2ddf5b8f9e
+F src/select.c d12d4c12d6536deccdede90b482d24f0590f5dc8
F src/shell.c cbb29252f0bd7b144d1e3126e64e17e5a314f2fd
F src/shell.tcl 27ecbd63dd88396ad16d81ab44f73e6c0ea9d20e
F src/sqlite.h.in 6f648803f2ffb9beb35cb1cfa42b323d55519171
F test/select1.test 0d708cec567104653ec9aa49fecf3444a2e7d150
F test/select2.test aceea74fd895b9d007512f72499db589735bd8e4
F test/select3.test 445a1a3dde4e2fd32541b311f55da5e2f8079d76
-F test/select4.test 10ba54f24ef6ca7958a7045b001079378db2370c
+F test/select4.test e7e9a32fa745246cb99fadbeb63af4843a17925b
F test/select5.test c2a6c4a003316ee42cbbd689eebef8fdce0db2ac
F test/select6.test efb8d0c07a440441db87db2c4ade6904e1407e85
F test/sort.test 61a729023ae4ac3be9b225dc0be026fb43fec4e6
F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P d93c1aeb544a5b1056424945eb43854213b30e50
-R b5d305d3382423fe9540f0b4e0c64173
+P 65264780c553e8a00ec7a40cf76b89a11b245faf
+R bcf5d563cdfd66ab83ddebe53976490d
U drh
-Z cd3aa5a5b1d7b6dd053874302f832e4b
+Z de0eb8741aaf06b1a17e5c2252ef5c5a
-65264780c553e8a00ec7a40cf76b89a11b245faf
\ No newline at end of file
+b68792315883eed8523f5e11856ec8378dc972c1
\ No newline at end of file
** This file contains C code routines that are called by the parser
** to handle SELECT statements in SQLite.
**
-** $Id: select.c,v 1.125 2003/01/31 17:16:37 drh Exp $
+** $Id: select.c,v 1.126 2003/02/02 12:41:26 drh Exp $
*/
#include "sqliteInt.h"
/* Do an analysis of aggregate expressions.
*/
sqliteAggregateInfoReset(pParse);
- if( isAgg ){
+ if( isAgg || pGroupBy ){
assert( pParse->nAgg==0 );
+ isAgg = 1;
for(i=0; i<pEList->nExpr; i++){
if( sqliteExprAnalyzeAggregates(pParse, pEList->a[i].pExpr) ){
goto select_end;
# focus of this file is testing UNION, INTERSECT and EXCEPT operators
# in SELECT statements.
#
-# $Id: select4.test,v 1.12 2002/06/22 02:33:39 drh Exp $
+# $Id: select4.test,v 1.13 2003/02/02 12:41:27 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
}
} {n 1 log 0 n 2 log 1}
+# Make sure DISTINCT works appropriately on TEXT and NUMERIC columns.
+#
+do_test select4-8.1 {
+ execsql {
+ BEGIN;
+ CREATE TABLE t3(a text, b float, c text);
+ INSERT INTO t3 VALUES(1, 1.1, '1.1');
+ INSERT INTO t3 VALUES(2, 1.10, '1.10');
+ INSERT INTO t3 VALUES(3, 1.10, '1.1');
+ INSERT INTO t3 VALUES(4, 1.1, '1.10');
+ INSERT INTO t3 VALUES(5, 1.2, '1.2');
+ INSERT INTO t3 VALUES(6, 1.3, '1.3');
+ COMMIT;
+ }
+ execsql {
+ SELECT DISTINCT b FROM t3 ORDER BY c;
+ }
+} {1.1 1.2 1.3}
+do_test select4-8.2 {
+ execsql {
+ SELECT DISTINCT c FROM t3 ORDER BY c;
+ }
+} {1.1 1.10 1.2 1.3}
+
finish_test