aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-04-23 20:38:40 +0000
committerdrh <drh@noemail.net>2018-04-23 20:38:40 +0000
commitf49ff6ffb3b60e3f2f9fe280e5580099e1443128 (patch)
tree559e5a57cc337005bd9435efe1f99fe423b22266 /src/expr.c
parentfbe07539d38a28d3e8d9228f8cdd3881ecb50fd0 (diff)
downloadsqlite-f49ff6ffb3b60e3f2f9fe280e5580099e1443128.tar.gz
sqlite-f49ff6ffb3b60e3f2f9fe280e5580099e1443128.zip
Fix a problem in sqlite3ExprCompare() associated with UPSERT.
FossilOrigin-Name: 67d0b2c15299dd20bca7254ecb33e71b5eee6024e2709bfdc36f877bf2a5679f
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c
index 6997e8430..670da0367 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4920,7 +4920,8 @@ int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTab){
if( sqlite3ExprCompare(pParse, pA->pLeft, pB->pLeft, iTab) ) return 2;
if( sqlite3ExprCompare(pParse, pA->pRight, pB->pRight, iTab) ) return 2;
if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
- if( ALWAYS((combinedFlags & EP_Reduced)==0) && pA->op!=TK_STRING ){
+ assert( (combinedFlags & EP_Reduced)==0 );
+ if( pA->op!=TK_STRING && pA->op!=TK_TRUEFALSE ){
if( pA->iColumn!=pB->iColumn ) return 2;
if( pA->iTable!=pB->iTable
&& (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2;