aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-05-11 16:14:42 +0000
committerdan <dan@noemail.net>2019-05-11 16:14:42 +0000
commitc6824c8d6c2def197044cad984481eb981d38998 (patch)
tree31244392ac91035d7572bf6b87c0c0d4cb59e579 /src/expr.c
parent8f2b1e4c909df912209c34816ae33bf31cbb20b8 (diff)
downloadsqlite-c6824c8d6c2def197044cad984481eb981d38998.tar.gz
sqlite-c6824c8d6c2def197044cad984481eb981d38998.zip
When considering partial indexes, do not assume that a "CASE x ..." expression implies "x IS NOT NULL".
FossilOrigin-Name: 1b24303220b7b4f59520176a0150fc619c668865450b4fdaa9ce4113a56e9687
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 c69fb4a56..05b50c1e6 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4948,6 +4948,7 @@ int sqlite3ExprImpliesExpr(Parse *pParse, Expr *pE1, Expr *pE2, int iTab){
&& pE1->op!=TK_IS
&& pE1->op!=TK_ISNOT
&& pE1->op!=TK_OR
+ && pE1->op!=TK_CASE
){
Expr *pX = sqlite3ExprSkipCollate(pE1->pLeft);
testcase( pX!=pE1->pLeft );