aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-05-20 10:36:15 +0000
committerdan <dan@noemail.net>2019-05-20 10:36:15 +0000
commit8ac02a94ab5ee7496c053c417a77bc620bb548fb (patch)
treea8497720736d8145db1d132ef0adda0dbd6d9e6d /src
parent7ac0e562a384a45458aa66c8cffeabaf532e111c (diff)
downloadsqlite-8ac02a94ab5ee7496c053c417a77bc620bb548fb.tar.gz
sqlite-8ac02a94ab5ee7496c053c417a77bc620bb548fb.zip
Update the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE" is the same as "? IS TRUE". Fix for [d3e7f2ba5b3].
FossilOrigin-Name: 99eba69b3a64741c69d167bf7a05dbe138c9e7faecc54a1b8d8220cb23902830
Diffstat (limited to 'src')
-rw-r--r--src/expr.c1
-rw-r--r--src/sqliteInt.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c
index 4b37e5525..2d41fc447 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4862,6 +4862,7 @@ int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTab){
&& (combinedFlags & EP_Reduced)==0
){
if( pA->iColumn!=pB->iColumn ) return 2;
+ if( pA->op2!=pB->op2 ) return 2;
if( pA->iTable!=pB->iTable
&& (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2;
}
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 2056d5a5a..6f7b18109 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -2481,7 +2481,7 @@ struct Expr {
** TK_SELECT_COLUMN: column of the result vector */
i16 iAgg; /* Which entry in pAggInfo->aCol[] or ->aFunc[] */
i16 iRightJoinTable; /* If EP_FromJoin, the right table of the join */
- u8 op2; /* TK_REGISTER: original value of Expr.op
+ u8 op2; /* TK_REGISTER/TK_TRUTH: original value of Expr.op
** TK_COLUMN: the value of p5 for OP_Column
** TK_AGG_FUNCTION: nesting depth */
AggInfo *pAggInfo; /* Used by TK_AGG_COLUMN and TK_AGG_FUNCTION */