aboutsummaryrefslogtreecommitdiff
path: root/src/treeview.c
diff options
context:
space:
mode:
authordrh <>2021-02-21 23:44:14 +0000
committerdrh <>2021-02-21 23:44:14 +0000
commita79e2a2d28eab71b7434a77ada3af5c2855d9bef (patch)
tree47b464c9d63c9a1a665779ba0022dacdbf503ce9 /src/treeview.c
parent7601294ad3fe9f7e0db8eb2478dec0de293b8bb6 (diff)
downloadsqlite-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.c8
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 ){