diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/select.c b/src/select.c index 7f8a0f892..f71b71551 100644 --- a/src/select.c +++ b/src/select.c @@ -6172,12 +6172,7 @@ static int selectExpander(Walker *pWalker, Select *p){ } nAdd = pTab->nCol; - if( VisibleRowid(pTab) - && !ViewCanHaveRowid - && (selFlags & SF_NestedFrom)!=0 - ){ - nAdd++; - } + if( VisibleRowid(pTab) && (selFlags & SF_NestedFrom)!=0 ) nAdd++; for(j=0; j<nAdd; j++){ const char *zName; struct ExprList_item *pX; /* Newly added ExprList term */ @@ -6259,7 +6254,7 @@ static int selectExpander(Walker *pWalker, Select *p){ pX = &pNew->a[pNew->nExpr-1]; assert( pX->zEName==0 ); if( (selFlags & SF_NestedFrom)!=0 && !IN_RENAME_OBJECT ){ - if( pNestedFrom ){ + if( pNestedFrom && j<pNestedFrom->nExpr ){ pX->zEName = sqlite3DbStrDup(db, pNestedFrom->a[j].zEName); testcase( pX->zEName==0 ); }else{ |