diff options
Diffstat (limited to 'src/select.c')
-rw-r--r-- | src/select.c | 13 |
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 ){ |