diff options
author | dan <dan@noemail.net> | 2020-08-24 10:52:52 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2020-08-24 10:52:52 +0000 |
commit | 599456f0ab888abf5979654f43ec872354f0a639 (patch) | |
tree | 56f1e586f7319b7fff82cbc31918026adaed47ed /src/resolve.c | |
parent | 6c3b4b07d13f1cb9047103582381925a01f1a3a2 (diff) | |
download | sqlite-599456f0ab888abf5979654f43ec872354f0a639.tar.gz sqlite-599456f0ab888abf5979654f43ec872354f0a639.zip |
Correctly handle expressions like "x IS (not) true/false" within the rhs of IN() expressions. Fix for [f3ff1472].
FossilOrigin-Name: 493a25949b9a6d0be82169b597133e491d8be4f4147b6eae135b06c1d810abd3
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c index fcb6f1522..d53428c63 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -1075,7 +1075,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ assert( !ExprHasProperty(pExpr, EP_Reduced) ); /* Handle special cases of "x IS TRUE", "x IS FALSE", "x IS NOT TRUE", ** and "x IS NOT FALSE". */ - if( pRight && pRight->op==TK_ID ){ + if( pRight && (pRight->op==TK_ID || pRight->op==TK_TRUEFALSE) ){ int rc = resolveExprStep(pWalker, pRight); if( rc==WRC_Abort ) return WRC_Abort; if( pRight->op==TK_TRUEFALSE ){ |