diff options
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/expr.c b/src/expr.c index e28a7b044..0e827482b 100644 --- a/src/expr.c +++ b/src/expr.c @@ -5234,9 +5234,11 @@ int sqlite3ExprImpliesNonNullRow(Expr *p, int iTab){ if( p==0 ) return 0; if( p->op==TK_NOTNULL ){ p = p->pLeft; - }else if( p->op==TK_AND ){ - if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1; - p = p->pRight; + }else{ + while( p->op==TK_AND ){ + if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1; + p = p->pRight; + } } w.xExprCallback = impliesNotNullRow; w.xSelectCallback = 0; |