aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <>2021-02-18 00:59:16 +0000
committerdrh <>2021-02-18 00:59:16 +0000
commit7b7a9cf263fa6f4c75d4468077a3d6ed7e8a6c42 (patch)
treec015e176e54ded8f146d39a3f935e49e04ccb417 /src/resolve.c
parentc7e93f58d500971f531215ea96ed99a92144acdf (diff)
downloadsqlite-7b7a9cf263fa6f4c75d4468077a3d6ed7e8a6c42.tar.gz
sqlite-7b7a9cf263fa6f4c75d4468077a3d6ed7e8a6c42.zip
Performance optimization in the resolver.
FossilOrigin-Name: 1aafb94d4e3f28a8322e5e43be737d84b1a09f0063408f4a466a6071fa95b39b
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/resolve.c b/src/resolve.c
index afb73664f..c1cabab75 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -625,10 +625,12 @@ static int lookupName(
/* Clean up and return
*/
- sqlite3ExprDelete(db, pExpr->pLeft);
- pExpr->pLeft = 0;
- sqlite3ExprDelete(db, pExpr->pRight);
- pExpr->pRight = 0;
+ if( !ExprHasProperty(pExpr,(EP_TokenOnly|EP_Leaf)) ){
+ sqlite3ExprDelete(db, pExpr->pLeft);
+ pExpr->pLeft = 0;
+ sqlite3ExprDelete(db, pExpr->pRight);
+ pExpr->pRight = 0;
+ }
pExpr->op = eNewExprOp;
ExprSetProperty(pExpr, EP_Leaf);
lookupname_end: