diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/select.c b/src/select.c index 28934ffd9..bc6a0b1d1 100644 --- a/src/select.c +++ b/src/select.c @@ -5755,10 +5755,13 @@ static int selectExpander(Walker *pWalker, Select *p){ pRight = sqlite3Expr(db, TK_ID, zName); zColname = zName; zToFree = 0; - if( longNames || pTabList->nSrc>1 ){ + if( longNames || pTabList->nSrc>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); @@ -5771,6 +5774,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 ){ |