aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-02-05 14:36:33 +0000
committerdrh <drh@noemail.net>2019-02-05 14:36:33 +0000
commitd57936721b6598d62baaa359c8d179b74ab3bfcb (patch)
tree0d9321acecadc1d3bd12d28162d120948f5b20dd /src/expr.c
parent24545d23009160f184ce9c144025e9440ee4da08 (diff)
downloadsqlite-d57936721b6598d62baaa359c8d179b74ab3bfcb.tar.gz
sqlite-d57936721b6598d62baaa359c8d179b74ab3bfcb.zip
The IS NOT NULL operator does not imply that the operand is never NULL.
Fix for ticket [5948e09b8c415bc45da5cf] FossilOrigin-Name: d840e9bb023a1e84a7739d764a0f6cf608fc3183ff8c366fcdb486ebd932f0c1
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index a9ae85098..03ecf1567 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4986,6 +4986,7 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){
case TK_ISNOT:
case TK_NOT:
case TK_ISNULL:
+ case TK_NOTNULL:
case TK_IS:
case TK_OR:
case TK_CASE:
@@ -4994,6 +4995,7 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){
testcase( pExpr->op==TK_ISNOT );
testcase( pExpr->op==TK_NOT );
testcase( pExpr->op==TK_ISNULL );
+ testcase( pExpr->op==TK_NOTNULL );
testcase( pExpr->op==TK_IS );
testcase( pExpr->op==TK_OR );
testcase( pExpr->op==TK_CASE );