aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-06-12 13:49:32 +0000
committerdan <dan@noemail.net>2019-06-12 13:49:32 +0000
commit6ece353f2d2223ec78e63ce972081a047e89a641 (patch)
tree0aea1998f1622dfb47218cacd5c081974d82f2d0 /src/resolve.c
parenta7d6db6ac05cb7d51c19494feba51a65c6a21cd2 (diff)
downloadsqlite-6ece353f2d2223ec78e63ce972081a047e89a641.tar.gz
sqlite-6ece353f2d2223ec78e63ce972081a047e89a641.zip
Handle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE". Fix for [4d01eda8115b10d1].
FossilOrigin-Name: 5c6146b56a75a94f4baa10e95407c54dd0b9314a57a8702a4b96b15c4d7ac48c
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/resolve.c b/src/resolve.c
index b40a5a39c..658792354 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -930,11 +930,11 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
}
case TK_IS:
case TK_ISNOT: {
- Expr *pRight;
+ Expr *pRight = sqlite3ExprSkipCollate(pExpr->pRight);
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 = pExpr->pRight)->op==TK_ID ){
+ if( pRight->op==TK_ID ){
int rc = resolveExprStep(pWalker, pRight);
if( rc==WRC_Abort ) return WRC_Abort;
if( pRight->op==TK_TRUEFALSE ){