summaryrefslogtreecommitdiffstats
path: root/lib/libsqlite3/src/select.c
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2012-06-04 09:01:33 +0000
committerespie <espie@openbsd.org>2012-06-04 09:01:33 +0000
commita6eb27be59be6dfb6271443716a6ad2c00f8ec74 (patch)
treeb3478fc3e86b6626ac7a812a939f29c24855fbd6 /lib/libsqlite3/src/select.c
parentsync (diff)
downloadwireguard-openbsd-a6eb27be59be6dfb6271443716a6ad2c00f8ec74.tar.xz
wireguard-openbsd-a6eb27be59be6dfb6271443716a6ad2c00f8ec74.zip
minor update to 3.7.12.1
Diffstat (limited to 'lib/libsqlite3/src/select.c')
-rw-r--r--lib/libsqlite3/src/select.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libsqlite3/src/select.c b/lib/libsqlite3/src/select.c
index 835d9fd9ccb..d79a6112f72 100644
--- a/lib/libsqlite3/src/select.c
+++ b/lib/libsqlite3/src/select.c
@@ -3149,6 +3149,7 @@ static Table *isSimpleCount(Select *p, AggInfo *pAggInfo){
if( IsVirtual(pTab) ) return 0;
if( pExpr->op!=TK_AGG_FUNCTION ) return 0;
+ if( pAggInfo->nFunc==0 ) return 0;
if( (pAggInfo->aFunc[0].pFunc->flags&SQLITE_FUNC_COUNT)==0 ) return 0;
if( pExpr->flags&EP_Distinct ) return 0;
@@ -4139,7 +4140,9 @@ int sqlite3Select(
sAggInfo.nAccumulator = sAggInfo.nColumn;
for(i=0; i<sAggInfo.nFunc; i++){
assert( !ExprHasProperty(sAggInfo.aFunc[i].pExpr, EP_xIsSelect) );
+ sNC.ncFlags |= NC_InAggFunc;
sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList);
+ sNC.ncFlags &= ~NC_InAggFunc;
}
if( db->mallocFailed ) goto select_end;