aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-01-14 17:16:23 +0000
committerdrh <drh@noemail.net>2015-01-14 17:16:23 +0000
commit7a20f698dfa00d012f7742b0d8c2ca0d5a1ae41a (patch)
treea94425cfb168f06c47a06af4a683f31b3fc791d6 /src/expr.c
parentf7af7a17b9a8a1e623604972399711271e1b903a (diff)
parent068a251d9982d7f57694d5b901078b94dc5b0ad0 (diff)
downloadsqlite-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.c7
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++;