diff options
author | drh <> | 2024-08-21 10:32:00 +0000 |
---|---|---|
committer | drh <> | 2024-08-21 10:32:00 +0000 |
commit | 01972f55fe9e73b0cc20d71d156aae3473af3d06 (patch) | |
tree | 995b305bf9a528c099f8d0f5b4947814f77f2440 /src/treeview.c | |
parent | fb7d0c3c01ce94e2704e6e9878bde247daa156d8 (diff) | |
download | sqlite-01972f55fe9e73b0cc20d71d156aae3473af3d06.tar.gz sqlite-01972f55fe9e73b0cc20d71d156aae3473af3d06.zip |
Improvements to treetrace output for subqueries. Debug code only.
FossilOrigin-Name: 0a835d18d9063b17a1d506fd989ebcf7f0d76593978a3bd5981be59618335f21
Diffstat (limited to 'src/treeview.c')
-rw-r--r-- | src/treeview.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/treeview.c b/src/treeview.c index dbd54b346..de6716122 100644 --- a/src/treeview.c +++ b/src/treeview.c @@ -226,6 +226,9 @@ void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc){ if( pItem->fg.viaCoroutine ) sqlite3_str_appendf(&x, " viaCoroutine"); if( pItem->fg.notCte ) sqlite3_str_appendf(&x, " notCte"); if( pItem->fg.isNestedFrom ) sqlite3_str_appendf(&x, " isNestedFrom"); + if( pItem->fg.fixedSchema ) sqlite3_str_appendf(&x, " fixedSchema"); + if( pItem->fg.hadSchema ) sqlite3_str_appendf(&x, " hadSchema"); + if( pItem->fg.isSubquery ) sqlite3_str_appendf(&x, " isSubquery"); sqlite3StrAccumFinish(&x); sqlite3TreeViewItem(pView, zLine, i<pSrc->nSrc-1); @@ -237,12 +240,16 @@ void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc){ sqlite3TreeViewIdList(pView, pItem->u3.pUsing, (--n)>0, "USING"); } if( pItem->fg.isSubquery ){ + assert( n==1 ); if( pItem->pSTab ){ Table *pTab = pItem->pSTab; sqlite3TreeViewColumnList(pView, pTab->aCol, pTab->nCol, 1); } assert( (int)pItem->fg.isNestedFrom == IsNestedFrom(pItem) ); - sqlite3TreeViewSelect(pView, pItem->u4.pSubq->pSelect, (--n)>0); + sqlite3TreeViewPush(&pView, 0); + sqlite3TreeViewLine(pView, "SUBQUERY"); + sqlite3TreeViewPop(&pView); + sqlite3TreeViewSelect(pView, pItem->u4.pSubq->pSelect, 0); } if( pItem->fg.isTabFunc ){ sqlite3TreeViewExprList(pView, pItem->u1.pFuncArg, 0, "func-args:"); |