aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/printf.c10
-rw-r--r--src/select.c4
2 files changed, 11 insertions, 3 deletions
diff --git a/src/printf.c b/src/printf.c
index 7bf6f2aeb..f55b6ef66 100644
--- a/src/printf.c
+++ b/src/printf.c
@@ -884,8 +884,14 @@ void sqlite3_str_vappendf(
sqlite3_str_appendall(pAccum, pItem->zName);
}else if( pItem->zAlias ){
sqlite3_str_appendall(pAccum, pItem->zAlias);
- }else if( ALWAYS(pItem->pSelect) ){
- sqlite3_str_appendf(pAccum, "SUBQUERY %u", pItem->pSelect->selId);
+ }else{
+ Select *pSel = pItem->pSelect;
+ assert( pSel!=0 );
+ if( pSel->selFlags & SF_NestedFrom ){
+ sqlite3_str_appendf(pAccum, "(join-%u)", pSel->selId);
+ }else{
+ sqlite3_str_appendf(pAccum, "(subquery-%u)", pSel->selId);
+ }
}
length = width = 0;
break;
diff --git a/src/select.c b/src/select.c
index 26a3172ae..5f2465da0 100644
--- a/src/select.c
+++ b/src/select.c
@@ -5555,8 +5555,10 @@ int sqlite3ExpandSubquery(Parse *pParse, SrcItem *pFrom){
pTab->nTabRef = 1;
if( pFrom->zAlias ){
pTab->zName = sqlite3DbStrDup(pParse->db, pFrom->zAlias);
+ }else if( pSel->selFlags & SF_NestedFrom ){
+ pTab->zName = sqlite3MPrintf(pParse->db, "(join-%u)", pSel->selId);
}else{
- pTab->zName = sqlite3MPrintf(pParse->db, "subquery_%u", pSel->selId);
+ pTab->zName = sqlite3MPrintf(pParse->db, "(subquery-%u)", pSel->selId);
}
while( pSel->pPrior ){ pSel = pSel->pPrior; }
sqlite3ColumnsFromExprList(pParse, pSel->pEList,&pTab->nCol,&pTab->aCol);