1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00

All regression tests now pass. But I am sure there must still be problems.

New tests need to be added. (CVS 2666)

FossilOrigin-Name: bcc7d722cea4487a3adf9d9b2af4b74bfbfc5f39
This commit is contained in:
drh
2005-09-08 00:13:27 +00:00
parent d1c301e804
commit 5360ad34b1
6 changed files with 21 additions and 16 deletions

View File

@@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle SELECT statements in SQLite.
**
** $Id: select.c,v 1.263 2005/09/07 22:48:16 drh Exp $
** $Id: select.c,v 1.264 2005/09/08 00:13:28 drh Exp $
*/
#include "sqliteInt.h"
@@ -2800,6 +2800,7 @@ int sqlite3Select(
goto select_end;
}
}
if( sqlite3_malloc_failed ) goto select_end;
/* Processing for aggregates with GROUP BY is very different and
** much more complex tha aggregates without a GROUP BY.
@@ -2873,6 +2874,7 @@ int sqlite3Select(
*/
sqlite3VdbeResolveLabel(v, addrInitializeLoop);
pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, &pGroupBy);
if( pWInfo==0 ) goto select_end;
if( pGroupBy==0 ){
/* The optimizer is able to deliver rows in group by order so
** we do not have to sort. The OP_OpenVirtual table will be
@@ -2981,6 +2983,7 @@ int sqlite3Select(
*/
resetAccumulator(pParse, &sAggInfo);
pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0);
if( pWInfo==0 ) goto select_end;
updateAccumulator(pParse, &sAggInfo);
sqlite3WhereEnd(pWInfo);
finalizeAggFunctions(pParse, &sAggInfo);