From: drh <> Date: Wed, 21 Aug 2024 10:32:00 +0000 (+0000) Subject: Improvements to treetrace output for subqueries. Debug code only. X-Git-Tag: version-3.47.0~212 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=01972f55fe9e73b0cc20d71d156aae3473af3d06;p=thirdparty%2Fsqlite.git Improvements to treetrace output for subqueries. Debug code only. FossilOrigin-Name: 0a835d18d9063b17a1d506fd989ebcf7f0d76593978a3bd5981be59618335f21 --- diff --git a/manifest b/manifest index 3c85ec36eb..e8e708addf 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C De-duplicate\ssome\serror-output\scode\sin\sshell.c.in\sas\spart\sof\stracking\sdown\sthe\scause\sof\s[forum:5647ca2af1|forum\spost\s5647ca2af1]. -D 2024-08-21T09:56:45.002 +C Improvements\sto\streetrace\soutput\sfor\ssubqueries.\s\sDebug\scode\sonly. +D 2024-08-21T10:32:00.693 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -828,7 +828,7 @@ F src/test_window.c 6d80e11fba89a1796525e6f0048ff0c7789aa2c6b0b11c80827dc1437bd8 F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9 F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c F src/tokenize.c 3f703cacdab728d7741e5a6ac242006d74fe1c2754d4f03ed889d7253259bd68 -F src/treeview.c e98dbc8068d27f3d0bd2a4cebfce6a7c21c776edc23d80e12c67a70cd2ba3fe5 +F src/treeview.c 88aa39b754f5ef7214385c1bbbdd2f3dc20efafeed0cf590e8d1199b9c6e44aa F src/trigger.c 0bb986a5b96047fd597c6aac28588853df56064e576e6b81ba777ef2ccaac461 F src/update.c 0e01aa6a3edf9ec112b33eb714b9016a81241497b1fb7c3e74332f4f71756508 F src/upsert.c 215328c3f91623c520ec8672c44323553f12caeb4f01b1090ebdca99fdf7b4f1 @@ -2210,8 +2210,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 81a1ede38823b8d50e221ecb6ce52a05d82a856099002a71d9f1ac561a587f05 -R 7dfeb7387454a33b7099aec64d81efae -U stephan -Z b55d6e3262271daffaa830513ab83e17 +P fd5904495e0c775174f9380bc6877fb9def3d30dec1c9315979ad4503a18d70b +R 9b61fbb833ee0abcfc996b0de63e571b +U drh +Z 56e8c0285d76008f8c95bfad3d078586 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index f487a539aa..0090278b24 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fd5904495e0c775174f9380bc6877fb9def3d30dec1c9315979ad4503a18d70b +0a835d18d9063b17a1d506fd989ebcf7f0d76593978a3bd5981be59618335f21 diff --git a/src/treeview.c b/src/treeview.c index dbd54b3466..de67161229 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, inSrc-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:");