In the expression-tree comparison routine, do not compiler Expr.iColumn
and Expr.iTable for TK_STRING expressions.
FossilOrigin-Name: b67bb16c72c3e015ea82665ada9b5d3289ef6fb2
diff --git a/src/expr.c b/src/expr.c
index 418881f..6a5ecfe 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4017,7 +4017,7 @@
if( sqlite3ExprCompare(pA->pLeft, pB->pLeft, iTab) ) return 2;
if( sqlite3ExprCompare(pA->pRight, pB->pRight, iTab) ) return 2;
if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2;
- if( ALWAYS((combinedFlags & EP_Reduced)==0) ){
+ if( ALWAYS((combinedFlags & EP_Reduced)==0) && pA->op!=TK_STRING ){
if( pA->iColumn!=pB->iColumn ) return 2;
if( pA->iTable!=pB->iTable
&& (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2;
diff --git a/src/resolve.c b/src/resolve.c
index f7e68ff..32e0a98 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -460,7 +460,6 @@
if( cnt==0 && zTab==0 && ExprHasProperty(pExpr,EP_DblQuoted) ){
pExpr->op = TK_STRING;
pExpr->pTab = 0;
- pExpr->iTable = -1;
return WRC_Prune;
}