diff options
author | drh <drh@noemail.net> | 2015-01-14 17:16:23 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-01-14 17:16:23 +0000 |
commit | 7a20f698dfa00d012f7742b0d8c2ca0d5a1ae41a (patch) | |
tree | a94425cfb168f06c47a06af4a683f31b3fc791d6 /src/expr.c | |
parent | f7af7a17b9a8a1e623604972399711271e1b903a (diff) | |
parent | 068a251d9982d7f57694d5b901078b94dc5b0ad0 (diff) | |
download | sqlite-7a20f698dfa00d012f7742b0d8c2ca0d5a1ae41a.tar.gz sqlite-7a20f698dfa00d012f7742b0d8c2ca0d5a1ae41a.zip |
Merge trunk 3.8.8 beta changes into the sessions branch
FossilOrigin-Name: 0ba124540b5b2a9ceda0f4f4a46e6be54edad813
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++; |