diff options
author | drh <drh@noemail.net> | 2015-04-17 19:41:37 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-04-17 19:41:37 +0000 |
commit | 7693c42f1a01fe414fcc2b74721efe3c93aee88a (patch) | |
tree | 06baef3b69b2d1bc3577b6824457a54c8cd9778a /src | |
parent | 7b4da150da7615c380e1ce3bd142ff66e817d962 (diff) | |
download | sqlite-7693c42f1a01fe414fcc2b74721efe3c93aee88a.tar.gz sqlite-7693c42f1a01fe414fcc2b74721efe3c93aee88a.zip |
In the expression-tree comparison routine, do not compiler Expr.iColumn
and Expr.iTable for TK_STRING expressions.
FossilOrigin-Name: b67bb16c72c3e015ea82665ada9b5d3289ef6fb2
Diffstat (limited to 'src')
-rw-r--r-- | src/expr.c | 2 | ||||
-rw-r--r-- | src/resolve.c | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c index 418881ffd..6a5ecfe4f 100644 --- a/src/expr.c +++ b/src/expr.c @@ -4017,7 +4017,7 @@ int sqlite3ExprCompare(Expr *pA, Expr *pB, int iTab){ 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 f7e68ff4f..32e0a98fd 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -460,7 +460,6 @@ static int lookupName( if( cnt==0 && zTab==0 && ExprHasProperty(pExpr,EP_DblQuoted) ){ pExpr->op = TK_STRING; pExpr->pTab = 0; - pExpr->iTable = -1; return WRC_Prune; } |