diff options
author | 2012-06-04 09:01:33 +0000 | |
---|---|---|
committer | 2012-06-04 09:01:33 +0000 | |
commit | a6eb27be59be6dfb6271443716a6ad2c00f8ec74 (patch) | |
tree | b3478fc3e86b6626ac7a812a939f29c24855fbd6 /lib/libsqlite3/src/expr.c | |
parent | sync (diff) | |
download | wireguard-openbsd-a6eb27be59be6dfb6271443716a6ad2c00f8ec74.tar.xz wireguard-openbsd-a6eb27be59be6dfb6271443716a6ad2c00f8ec74.zip |
minor update to 3.7.12.1
Diffstat (limited to 'lib/libsqlite3/src/expr.c')
-rw-r--r-- | lib/libsqlite3/src/expr.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/libsqlite3/src/expr.c b/lib/libsqlite3/src/expr.c index 10d9f775d9c..1e46596a2f1 100644 --- a/lib/libsqlite3/src/expr.c +++ b/lib/libsqlite3/src/expr.c @@ -3778,7 +3778,7 @@ int sqlite3ExprCompare(Expr *pA, Expr *pB){ if( !ExprHasProperty(pB, EP_IntValue) || pA->u.iValue!=pB->u.iValue ){ return 2; } - }else if( pA->op!=TK_COLUMN && pA->op!=TK_AGG_COLUMN && pA->u.zToken ){ + }else if( pA->op!=TK_COLUMN && ALWAYS(pA->op!=TK_AGG_COLUMN) && pA->u.zToken){ if( ExprHasProperty(pB, EP_IntValue) || NEVER(pB->u.zToken==0) ) return 2; if( strcmp(pA->u.zToken,pB->u.zToken)!=0 ){ return 2; @@ -3965,7 +3965,9 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ return WRC_Prune; } case TK_AGG_FUNCTION: { - if( !sqlite3FunctionUsesOtherSrc(pExpr, pSrcList) ){ + if( (pNC->ncFlags & NC_InAggFunc)==0 + && !sqlite3FunctionUsesOtherSrc(pExpr, pSrcList) + ){ /* Check to see if pExpr is a duplicate of another aggregate ** function that is already in the pAggInfo structure */ @@ -4002,8 +4004,8 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ ExprSetIrreducible(pExpr); pExpr->iAgg = (i16)i; pExpr->pAggInfo = pAggInfo; - return WRC_Prune; } + return WRC_Prune; } } return WRC_Continue; |