aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2017-07-07 12:43:57 +0000
committerdrh <drh@noemail.net>2017-07-07 12:43:57 +0000
commitb98a2e351e23e60ca44df4252fc7d8e0e100923d (patch)
tree155477cc183b775f78d3475aa0cb6fd7e9aefc31 /src
parent3da70a6112e737aede241280882df060f6e47614 (diff)
downloadsqlite-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.c2
-rw-r--r--src/resolve.c1
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 );