diff options
author | drh <drh@noemail.net> | 2016-01-20 11:33:37 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-01-20 11:33:37 +0000 |
commit | 20f272c96f2b67c3a3fa6784dcf14a2d5439791e (patch) | |
tree | 7b39797e2f7a70fb8d331904f2a563c522a1aca3 /src/resolve.c | |
parent | cb75bff3f7fe12fd3d5dd94acd2832ef1e0dcb65 (diff) | |
parent | 5c3aa0517ed8a837e4d70cacbaca5d9e267e0fc3 (diff) | |
download | sqlite-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.c | 8 |
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 |