diff options
author | drh <> | 2021-02-18 22:47:34 +0000 |
---|---|---|
committer | drh <> | 2021-02-18 22:47:34 +0000 |
commit | a7da40f377c368fbd3eea9c2befb74ef6cd03f4c (patch) | |
tree | a1014db371a3a19c2030e164154556a9eec35939 /src/resolve.c | |
parent | 678f3b33cc057f8253444343575d24ab093d8ddf (diff) | |
parent | a55a839ab327630511f37098ed25d5df71b558d3 (diff) | |
download | sqlite-a7da40f377c368fbd3eea9c2befb74ef6cd03f4c.tar.gz sqlite-a7da40f377c368fbd3eea9c2befb74ef6cd03f4c.zip |
Merge changes from trunk into the alter-table-drop-column branch.
FossilOrigin-Name: 9ea640073f8809dfe2612ae1ea384a938b433f884c54d9e5aa3712de79397ac1
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/resolve.c b/src/resolve.c index 4848e3cfa..c1cabab75 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -82,7 +82,7 @@ static void resolveAlias( db = pParse->db; pDup = sqlite3ExprDup(db, pOrig, 0); if( pDup!=0 ){ - if( nSubquery ) incrAggFunctionDepth(pDup, nSubquery); + incrAggFunctionDepth(pDup, nSubquery); if( pExpr->op==TK_COLLATE ){ pDup = sqlite3ExprAddCollateString(pParse, pDup, pExpr->u.zToken); } @@ -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: |