diff options
author | drh <drh@noemail.net> | 2017-07-07 12:43:57 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2017-07-07 12:43:57 +0000 |
commit | b98a2e351e23e60ca44df4252fc7d8e0e100923d (patch) | |
tree | 155477cc183b775f78d3475aa0cb6fd7e9aefc31 /src | |
parent | 3da70a6112e737aede241280882df060f6e47614 (diff) | |
download | sqlite-b98a2e351e23e60ca44df4252fc7d8e0e100923d.tar.gz sqlite-b98a2e351e23e60ca44df4252fc7d8e0e100923d.zip |
More aggressive use of EP_Leaf on expression nodes, to help prune searches.
FossilOrigin-Name: c1a1d68c8219c8072e60af5c46a30849ae9a04fa1a6b2a8b22b82fec069d691d
Diffstat (limited to 'src')
-rw-r--r-- | src/expr.c | 2 | ||||
-rw-r--r-- | src/resolve.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c index fc24ffbe0..2e8b19603 100644 --- a/src/expr.c +++ b/src/expr.c @@ -744,7 +744,7 @@ Expr *sqlite3ExprAlloc( pNew->iAgg = -1; if( pToken ){ if( nExtra==0 ){ - pNew->flags |= EP_IntValue; + pNew->flags |= EP_IntValue|EP_Leaf; pNew->u.iValue = iValue; }else{ pNew->u.zToken = (char*)&pNew[1]; diff --git a/src/resolve.c b/src/resolve.c index 8cddfd80b..b13786f4d 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -478,6 +478,7 @@ static int lookupName( sqlite3ExprDelete(db, pExpr->pRight); pExpr->pRight = 0; pExpr->op = (isTrigger ? TK_TRIGGER : TK_COLUMN); + ExprSetProperty(pExpr, EP_Leaf); lookupname_end: if( cnt==1 ){ assert( pNC!=0 ); |