aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-05-11 13:04:33 +0000
committerdan <dan@noemail.net>2019-05-11 13:04:33 +0000
commit8f2b1e4c909df912209c34816ae33bf31cbb20b8 (patch)
tree3a01644264cd14f9dd352553d9cc0736efcfe457 /src/expr.c
parent90255b814923d03eb68c33f60ed29fbbbe977e31 (diff)
downloadsqlite-8f2b1e4c909df912209c34816ae33bf31cbb20b8.tar.gz
sqlite-8f2b1e4c909df912209c34816ae33bf31cbb20b8.zip
Do not assume that "x IS NOT ?" implies "x NOT NULL" when considering partial indexes. Fix for ticket [8025674847].
FossilOrigin-Name: 0ba6d709b50d92db1542f2ff30535a80184b00dadf759d51e5cae7a6e37b1764
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 940abc1ae..c69fb4a56 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4946,6 +4946,7 @@ int sqlite3ExprImpliesExpr(Parse *pParse, Expr *pE1, Expr *pE2, int iTab){
if( pE2->op==TK_NOTNULL
&& pE1->op!=TK_ISNULL
&& pE1->op!=TK_IS
+ && pE1->op!=TK_ISNOT
&& pE1->op!=TK_OR
){
Expr *pX = sqlite3ExprSkipCollate(pE1->pLeft);