diff options
author | drh <> | 2021-02-18 00:59:16 +0000 |
---|---|---|
committer | drh <> | 2021-02-18 00:59:16 +0000 |
commit | 7b7a9cf263fa6f4c75d4468077a3d6ed7e8a6c42 (patch) | |
tree | c015e176e54ded8f146d39a3f935e49e04ccb417 /src/resolve.c | |
parent | c7e93f58d500971f531215ea96ed99a92144acdf (diff) | |
download | sqlite-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.c | 10 |
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: |