aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2022-04-19 23:00:32 +0000
committerdrh <>2022-04-19 23:00:32 +0000
commitbefbb40f44f4791eaf3a995fa4c6e8cd91241ac2 (patch)
treeac6d26c690d645dd21817ba936af53aacdc44ab5 /src
parent4d0d071a53d02015f7411ba8832f191b2e91b71a (diff)
parentcbde37d8e447ce4094eca5bc40847651d74e38a9 (diff)
downloadsqlite-befbb40f44f4791eaf3a995fa4c6e8cd91241ac2.tar.gz
sqlite-befbb40f44f4791eaf3a995fa4c6e8cd91241ac2.zip
Merge the ALTER TABLE fix from trunk.
FossilOrigin-Name: d5ceaef3fca8cb4791ead9cbfe00d0eafa1bdc2b0522c3599c68b40fe6a7efe2
Diffstat (limited to 'src')
-rw-r--r--src/select.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/select.c b/src/select.c
index 6ebc1dc3c..65ca283b3 100644
--- a/src/select.c
+++ b/src/select.c
@@ -5834,13 +5834,19 @@ static int selectExpander(Walker *pWalker, Select *p){
zColname = zName;
zToFree = 0;
}
- if( pTabList->nSrc>1
- && ( (pFrom->fg.jointype & JT_LTORJ)==0
- || !inAnyUsingClause(zName,pFrom,pTabList->nSrc-i-1) )
+ if( (pTabList->nSrc>1
+ && ( (pFrom->fg.jointype & JT_LTORJ)==0
+ || !inAnyUsingClause(zName,pFrom,pTabList->nSrc-i-1)
+ )
+ )
+ || IN_RENAME_OBJECT
){
Expr *pLeft;
pLeft = sqlite3Expr(db, TK_ID, zTabName);
pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);
+ if( IN_RENAME_OBJECT && pE->pLeft ){
+ sqlite3RenameTokenRemap(pParse, pLeft, pE->pLeft);
+ }
if( zSchemaName ){
pLeft = sqlite3Expr(db, TK_ID, zSchemaName);
pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pExpr);
@@ -5849,6 +5855,7 @@ static int selectExpander(Walker *pWalker, Select *p){
pExpr = pRight;
}
pNew = sqlite3ExprListAppend(pParse, pNew, pExpr);
+
sqlite3TokenInit(&sColname, zColname);
sqlite3ExprListSetName(pParse, pNew, &sColname, 0);
if( pNew && (p->selFlags & SF_NestedFrom)!=0 && !IN_RENAME_OBJECT ){