aboutsummaryrefslogtreecommitdiff
path: root/src/select.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/select.c')
-rw-r--r--src/select.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/select.c b/src/select.c
index b4ce7be9e..96eae3ff6 100644
--- a/src/select.c
+++ b/src/select.c
@@ -1378,8 +1378,9 @@ static void generateColumnNames(
sqlite3VdbeSetColName(v, i, COLNAME_NAME, zCol, SQLITE_TRANSIENT);
}
}else{
- sqlite3VdbeSetColName(v, i, COLNAME_NAME,
- sqlite3DbStrDup(db, pEList->a[i].zSpan), SQLITE_DYNAMIC);
+ const char *z = pEList->a[i].zSpan;
+ z = z==0 ? sqlite3MPrintf(db, "column%d", i+1) : sqlite3DbStrDup(db, z);
+ sqlite3VdbeSetColName(v, i, COLNAME_NAME, z, SQLITE_DYNAMIC);
}
}
generateColumnTypes(pParse, pTabList, pEList);
@@ -3491,8 +3492,8 @@ static int convertCompoundSelectToSubquery(Walker *pWalker, Select *p){
** return NULL.
*/
static struct Cte *searchWith(With *pWith, struct SrcList_item *pItem){
- if( pItem->zDatabase==0 ){
- const char *zName = pItem->zName;
+ const char *zName;
+ if( pItem->zDatabase==0 && (zName = pItem->zName)!=0 ){
With *p;
for(p=pWith; p; p=p->pOuter){
int i;