aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-03-24 13:24:02 +0000
committerdrh <drh@noemail.net>2018-03-24 13:24:02 +0000
commit2c492061ceef5a52cc21fd9cfd206dd36b43bfa2 (patch)
tree57a93b17c4666e948529207cfc89dbb177510803 /src/expr.c
parentb873f4e404e9205209b279827ad49eac11dfadbb (diff)
downloadsqlite-2c492061ceef5a52cc21fd9cfd206dd36b43bfa2.tar.gz
sqlite-2c492061ceef5a52cc21fd9cfd206dd36b43bfa2.zip
Bug fix in the LEFT JOIN strength reduction optimization of
check-in [dd568c27b1d76563]. The sqlite3ExprImpliesNotNull() routine was mistakenly assuming that a CASE expression must always be NULL if contained any reference to a variable that was NULL. FossilOrigin-Name: cf171abe954a5f25262161dd69f2e8cecdbf9446c3f6b298201507dbc743567e
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index 0bb7a8d8f..c09c0c56c 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -5012,6 +5012,7 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){
case TK_ISNULL:
case TK_IS:
case TK_OR:
+ case TK_CASE:
case TK_FUNCTION:
case TK_AGG_FUNCTION:
return WRC_Prune;