diff options
author | drh <> | 2021-02-21 23:44:14 +0000 |
---|---|---|
committer | drh <> | 2021-02-21 23:44:14 +0000 |
commit | a79e2a2d28eab71b7434a77ada3af5c2855d9bef (patch) | |
tree | 47b464c9d63c9a1a665779ba0022dacdbf503ce9 /src/treeview.c | |
parent | 7601294ad3fe9f7e0db8eb2478dec0de293b8bb6 (diff) | |
download | sqlite-a79e2a2d28eab71b7434a77ada3af5c2855d9bef.tar.gz sqlite-a79e2a2d28eab71b7434a77ada3af5c2855d9bef.zip |
Materialize any CTE that is used more than once.
FossilOrigin-Name: ba59159fbe6b83fb6d79fbfee22d983768b0ebbaac7e99d2ac66c810e5e04100
Diffstat (limited to 'src/treeview.c')
-rw-r--r-- | src/treeview.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/treeview.c b/src/treeview.c index e0fa4971e..b696d764e 100644 --- a/src/treeview.c +++ b/src/treeview.c @@ -111,7 +111,10 @@ void sqlite3TreeViewWith(TreeView *pView, const With *pWith, u8 moreToFollow){ } sqlite3_str_appendf(&x, ")"); } - sqlite3_str_appendf(&x, " AS"); + if( pCte->pUse ){ + sqlite3_str_appendf(&x, " (pUse=0x%p, nUse=%d)", pCte->pUse, + pCte->pUse->nUse); + } sqlite3StrAccumFinish(&x); sqlite3TreeViewItem(pView, zLine, i<pWith->nCte-1); sqlite3TreeViewSelect(pView, pCte->pSelect, 0); @@ -150,6 +153,9 @@ void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc){ if( pItem->fg.fromDDL ){ sqlite3_str_appendf(&x, " DDL"); } + if( pItem->fg.isCte ){ + sqlite3_str_appendf(&x, " CteUse=0x%p", pItem->u2.pCteUse); + } sqlite3StrAccumFinish(&x); sqlite3TreeViewItem(pView, zLine, i<pSrc->nSrc-1); if( pItem->pSelect ){ |