diff options
author | drh <> | 2022-04-29 17:03:25 +0000 |
---|---|---|
committer | drh <> | 2022-04-29 17:03:25 +0000 |
commit | 08e1a6a29b58ea62df1197a9e91f8c63b246cf25 (patch) | |
tree | e1e2991d469b937ec4a080fd66df77eee86349d5 /src | |
parent | a087eb8f6d28a05f3dbe8a4eee9deb45b746865d (diff) | |
download | sqlite-08e1a6a29b58ea62df1197a9e91f8c63b246cf25.tar.gz sqlite-08e1a6a29b58ea62df1197a9e91f8c63b246cf25.zip |
Show the USING clause as part of the tree-view display of SrcItem.
FossilOrigin-Name: 9cba3ce577e442f83d7a2d6926e38ffe6bc45953c88ecdd384f3455890303cce
Diffstat (limited to 'src')
-rw-r--r-- | src/treeview.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/treeview.c b/src/treeview.c index 009ba2739..04ee80f7a 100644 --- a/src/treeview.c +++ b/src/treeview.c @@ -186,6 +186,7 @@ void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc){ for(i=0; i<pSrc->nSrc; i++){ const SrcItem *pItem = &pSrc->a[i]; StrAccum x; + int n = 0; char zLine[100]; sqlite3StrAccumInit(&x, 0, zLine, sizeof(zLine), 0); x.printfFlags |= SQLITE_PRINTF_INTERNAL; @@ -214,14 +215,21 @@ void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc){ } sqlite3StrAccumFinish(&x); sqlite3TreeViewItem(pView, zLine, i<pSrc->nSrc-1); + n = 0; + if( pItem->pTab ) n++; + if( pItem->pSelect ) n++; + if( pItem->fg.isTabFunc ) n++; + if( pItem->fg.isUsing ) n++; + if( pItem->fg.isUsing ){ + sqlite3TreeViewIdList(pView, pItem->u3.pUsing, (--n)>0, "USING"); + } if( pItem->pTab ){ Table *pTab = pItem->pTab; - sqlite3TreeViewColumnList(pView, pTab->aCol, pTab->nCol, - pItem->pSelect!=0); + sqlite3TreeViewColumnList(pView, pTab->aCol, pTab->nCol, (--n)>0); } if( pItem->pSelect ){ assert( pItem->fg.isNestedFrom == IsNestedFrom(pItem->pSelect) ); - sqlite3TreeViewSelect(pView, pItem->pSelect, 0); + sqlite3TreeViewSelect(pView, pItem->pSelect, (--n)>0); } if( pItem->fg.isTabFunc ){ sqlite3TreeViewExprList(pView, pItem->u1.pFuncArg, 0, "func-args:"); |