diff options
author | dan <Dan Kennedy> | 2021-04-10 14:49:45 +0000 |
---|---|---|
committer | dan <Dan Kennedy> | 2021-04-10 14:49:45 +0000 |
commit | 677e62aacddc2cce4e6b9c0fc5aa7f84ca81cbf7 (patch) | |
tree | d198a49c08fcd654689312b07e6680b4dc06318f /src | |
parent | 050611a79bd0bf6f2f146bc728f45b04e7b1d69c (diff) | |
download | sqlite-677e62aacddc2cce4e6b9c0fc5aa7f84ca81cbf7.tar.gz sqlite-677e62aacddc2cce4e6b9c0fc5aa7f84ca81cbf7.zip |
Fix a problem with handling expressions like "(col IS NULL AND <expr1>) OR col == NULL" in WHERE clauses.
FossilOrigin-Name: 40852ca8e215e51f63652a67817361b835b6fbbff7f66af50089af91007505f1
Diffstat (limited to 'src')
-rw-r--r-- | src/whereexpr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/whereexpr.c b/src/whereexpr.c index b3f48feaa..1807fbb00 100644 --- a/src/whereexpr.c +++ b/src/whereexpr.c @@ -511,6 +511,7 @@ static void whereCombineDisjuncts( int op; /* Operator for the combined expression */ int idxNew; /* Index in pWC of the next virtual term */ + if( (pOne->wtFlags | pTwo->wtFlags) & TERM_VNULL ) return; if( (pOne->eOperator & (WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE))==0 ) return; if( (pTwo->eOperator & (WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE))==0 ) return; if( (eOp & (WO_EQ|WO_LT|WO_LE))!=eOp |