diff options
author | dan <dan@noemail.net> | 2015-01-21 06:36:07 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2015-01-21 06:36:07 +0000 |
commit | 997d798d92a7f9bc72fa29174bc83d8c4cc5618d (patch) | |
tree | acbb3dba2e2b1000463eb801cdedb1f3261e6fd2 /src/expr.c | |
parent | fd0b436e1044867a5788c58d79c3a7976aa46874 (diff) | |
parent | fe201effbe35d38fdd198be93b23abe7583b2aa9 (diff) | |
download | sqlite-997d798d92a7f9bc72fa29174bc83d8c4cc5618d.tar.gz sqlite-997d798d92a7f9bc72fa29174bc83d8c4cc5618d.zip |
Merge latest trunk changes with this branch.
FossilOrigin-Name: b3348b1e07e168b156636a29fc8c6d6afb3129c2
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/expr.c b/src/expr.c index 817975ab3..32adedf9b 100644 --- a/src/expr.c +++ b/src/expr.c @@ -515,7 +515,7 @@ Expr *sqlite3PExpr( const Token *pToken /* Argument token */ ){ Expr *p; - if( op==TK_AND && pLeft && pRight ){ + if( op==TK_AND && pLeft && pRight && pParse->nErr==0 ){ /* Take advantage of short-circuit false optimization for AND */ p = sqlite3ExprAnd(pParse->db, pLeft, pRight); }else{ @@ -4069,10 +4069,11 @@ static int exprSrcCount(Walker *pWalker, Expr *pExpr){ int i; struct SrcCount *p = pWalker->u.pSrcCount; SrcList *pSrc = p->pSrc; - for(i=0; i<pSrc->nSrc; i++){ + int nSrc = pSrc ? pSrc->nSrc : 0; + for(i=0; i<nSrc; i++){ if( pExpr->iTable==pSrc->a[i].iCursor ) break; } - if( i<pSrc->nSrc ){ + if( i<nSrc ){ p->nThis++; }else{ p->nOther++; |