diff options
author | dan <dan@noemail.net> | 2019-05-20 10:36:15 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2019-05-20 10:36:15 +0000 |
commit | 8ac02a94ab5ee7496c053c417a77bc620bb548fb (patch) | |
tree | a8497720736d8145db1d132ef0adda0dbd6d9e6d /src | |
parent | 7ac0e562a384a45458aa66c8cffeabaf532e111c (diff) | |
download | sqlite-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.c | 1 | ||||
-rw-r--r-- | src/sqliteInt.h | 2 |
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 */ |