diff options
author | drh <drh@noemail.net> | 2016-02-25 18:54:30 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-02-25 18:54:30 +0000 |
commit | d3e1af4aa04113b379050119e0015ada3078cc4e (patch) | |
tree | d12ed8d1907415a474cf321b76498befd1312fc9 /src/expr.c | |
parent | 7f219fad58bb84f5e856134a7b6909c8c0482c9b (diff) | |
parent | eecb80e77e3556e9373237eff6ab0a8dad7eb5fb (diff) | |
download | sqlite-d3e1af4aa04113b379050119e0015ada3078cc4e.tar.gz sqlite-d3e1af4aa04113b379050119e0015ada3078cc4e.zip |
Merge all the latest changes from trunk.
FossilOrigin-Name: b86590043e17705ada90562cf30f69b3e3ef65a4
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/expr.c b/src/expr.c index 8d96ba10c..3070de96f 100644 --- a/src/expr.c +++ b/src/expr.c @@ -2888,7 +2888,6 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){ ExprList *pFarg; /* List of function arguments */ int nFarg; /* Number of function arguments */ FuncDef *pDef; /* The function definition object */ - int nId; /* Length of the function name in bytes */ const char *zId; /* The function name */ u32 constMask = 0; /* Mask of function arguments that are constant */ int i; /* Loop counter */ @@ -2904,10 +2903,9 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){ nFarg = pFarg ? pFarg->nExpr : 0; assert( !ExprHasProperty(pExpr, EP_IntValue) ); zId = pExpr->u.zToken; - nId = sqlite3Strlen30(zId); - pDef = sqlite3FindFunction(db, zId, nId, nFarg, enc, 0); + pDef = sqlite3FindFunction(db, zId, nFarg, enc, 0); if( pDef==0 || pDef->xFinalize!=0 ){ - sqlite3ErrorMsg(pParse, "unknown function: %.*s()", nId, zId); + sqlite3ErrorMsg(pParse, "unknown function: %s()", zId); break; } @@ -4132,7 +4130,7 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ pItem->iMem = ++pParse->nMem; assert( !ExprHasProperty(pExpr, EP_IntValue) ); pItem->pFunc = sqlite3FindFunction(pParse->db, - pExpr->u.zToken, sqlite3Strlen30(pExpr->u.zToken), + pExpr->u.zToken, pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0); if( pExpr->flags & EP_Distinct ){ pItem->iDistinct = pParse->nTab++; |