aboutsummaryrefslogtreecommitdiff
path: root/src/wherecode.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2020-01-29 15:03:01 +0000
committerdan <dan@noemail.net>2020-01-29 15:03:01 +0000
commitd03f77ae4650abd99699656e959c979e2e46391f (patch)
treed99119f46ff45b8e61e8e802103a04ee1cd72ad6 /src/wherecode.c
parent759e9cc0647c9c802572eef4835dfb967fdbe302 (diff)
downloadsqlite-d03f77ae4650abd99699656e959c979e2e46391f.tar.gz
sqlite-d03f77ae4650abd99699656e959c979e2e46391f.zip
Fix a problem with the processing of IN(...) constraints handled by virtual table implementations that do not set the "omit" flag when the virtual table column contains at least one NULL value.
FossilOrigin-Name: dcb4838757ca49cf149a6e883b3eb0ac8a075147387a078280dfabe39b1a3e8d
Diffstat (limited to 'src/wherecode.c')
-rw-r--r--src/wherecode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wherecode.c b/src/wherecode.c
index 0014a695d..e2e10f761 100644
--- a/src/wherecode.c
+++ b/src/wherecode.c
@@ -1432,7 +1432,9 @@ Bitmask sqlite3WhereCodeOneLoopStart(
pCompare->pRight = pRight = sqlite3Expr(db, TK_REGISTER, 0);
if( pRight ){
pRight->iTable = iReg+j+2;
- sqlite3ExprIfFalse(pParse, pCompare, pLevel->addrCont, 0);
+ sqlite3ExprIfFalse(
+ pParse, pCompare, pLevel->addrCont, SQLITE_JUMPIFNULL
+ );
}
pCompare->pLeft = 0;
sqlite3ExprDelete(db, pCompare);