aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2020-01-01 16:43:41 +0000
committerdrh <drh@noemail.net>2020-01-01 16:43:41 +0000
commitaef81674211ab2f0f93852e3e9ca3bebb7e77c0b (patch)
treeeedb3cda0c05246d86049b43182a871b5a3a5d75 /src
parent171c50ec381c5fb4ff1e8b258a49fbf810917011 (diff)
downloadsqlite-aef81674211ab2f0f93852e3e9ca3bebb7e77c0b.tar.gz
sqlite-aef81674211ab2f0f93852e3e9ca3bebb7e77c0b.zip
Fix the sqlite3ExprImpliesNonNullRow() routine so that it correctly
handles a numeric comparison of two AND subexpressions. FossilOrigin-Name: 07e504d5174a1a8b1aa05ec5b44ac81ab3ea706c5a098caa88deb3d489cec8fb
Diffstat (limited to 'src')
-rw-r--r--src/expr.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/expr.c b/src/expr.c
index da7e4bc34..1c03cf634 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -5359,11 +5359,12 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){
return WRC_Prune;
case TK_AND:
- assert( pWalker->eCode==0 );
- sqlite3WalkExpr(pWalker, pExpr->pLeft);
- if( pWalker->eCode ){
- pWalker->eCode = 0;
- sqlite3WalkExpr(pWalker, pExpr->pRight);
+ if( pWalker->eCode==0 ){
+ sqlite3WalkExpr(pWalker, pExpr->pLeft);
+ if( pWalker->eCode ){
+ pWalker->eCode = 0;
+ sqlite3WalkExpr(pWalker, pExpr->pRight);
+ }
}
return WRC_Prune;