diff options
author | drh <drh@noemail.net> | 2019-08-10 15:06:03 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2019-08-10 15:06:03 +0000 |
commit | 14c865e8592ff73e1e1ca2070ff660771ba20e78 (patch) | |
tree | c8afde8042f09e740b84f2d580c11980f8443c71 /src/expr.c | |
parent | b6299681c63e5ea8b61892f4e5dffaac25031723 (diff) | |
download | sqlite-14c865e8592ff73e1e1ca2070ff660771ba20e78.tar.gz sqlite-14c865e8592ff73e1e1ca2070ff660771ba20e78.zip |
Fix the sqliteExprImpliesExpr() routine so that it recognizes that
"(NULL IS FALSE) IS FALSE" doe not implie "NULL NOT NULL".
Ticket [9080b6227fabb466]
FossilOrigin-Name: da01ba4fa47c6508b31533ccd769e637af04bd37f51463372fbc6c848d892a4d
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c index 376da57cf..e00b319ed 100644 --- a/src/expr.c +++ b/src/expr.c @@ -4938,7 +4938,9 @@ static int exprImpliesNotNull( ){ assert( p ); assert( pNN ); - if( sqlite3ExprCompare(pParse, p, pNN, iTab)==0 ) return 1; + if( sqlite3ExprCompare(pParse, p, pNN, iTab)==0 ){ + return pNN->op!=TK_NULL; + } switch( p->op ){ case TK_IN: { if( seenNot && ExprHasProperty(p, EP_xIsSelect) ) return 0; |