aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-01-20 11:33:37 +0000
committerdrh <drh@noemail.net>2016-01-20 11:33:37 +0000
commit20f272c96f2b67c3a3fa6784dcf14a2d5439791e (patch)
tree7b39797e2f7a70fb8d331904f2a563c522a1aca3 /src/resolve.c
parentcb75bff3f7fe12fd3d5dd94acd2832ef1e0dcb65 (diff)
parent5c3aa0517ed8a837e4d70cacbaca5d9e267e0fc3 (diff)
downloadsqlite-20f272c96f2b67c3a3fa6784dcf14a2d5439791e.tar.gz
sqlite-20f272c96f2b67c3a3fa6784dcf14a2d5439791e.zip
Merge recent enhancements from trunk.
FossilOrigin-Name: 327af5f644a49b2f41d5456958f9d61a2b704e1c
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/resolve.c b/src/resolve.c
index bb6646256..81bb712a2 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -665,7 +665,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
wrong_num_args = 1;
}
}else{
- is_agg = pDef->xFunc==0;
+ is_agg = pDef->xFinalize!=0;
if( pDef->funcFlags & SQLITE_FUNC_UNLIKELY ){
ExprSetProperty(pExpr, EP_Unlikely|EP_Skip);
if( n==2 ){
@@ -1393,10 +1393,12 @@ int sqlite3ResolveExprNames(
#endif
savedHasAgg = pNC->ncFlags & (NC_HasAgg|NC_MinMaxAgg);
pNC->ncFlags &= ~(NC_HasAgg|NC_MinMaxAgg);
- memset(&w, 0, sizeof(w));
+ w.pParse = pNC->pParse;
w.xExprCallback = resolveExprStep;
w.xSelectCallback = resolveSelectStep;
- w.pParse = pNC->pParse;
+ w.xSelectCallback2 = 0;
+ w.walkerDepth = 0;
+ w.eCode = 0;
w.u.pNC = pNC;
sqlite3WalkExpr(&w, pExpr);
#if SQLITE_MAX_EXPR_DEPTH>0