diff options
author | drh <drh@noemail.net> | 2020-01-01 16:43:41 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2020-01-01 16:43:41 +0000 |
commit | aef81674211ab2f0f93852e3e9ca3bebb7e77c0b (patch) | |
tree | eedb3cda0c05246d86049b43182a871b5a3a5d75 /src/expr.c | |
parent | 171c50ec381c5fb4ff1e8b258a49fbf810917011 (diff) | |
download | sqlite-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/expr.c')
-rw-r--r-- | src/expr.c | 11 |
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; |