diff options
author | drh <drh@noemail.net> | 2015-02-09 13:42:59 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-02-09 13:42:59 +0000 |
commit | 17645f5eecb950205481179bb0dee1e5332a2e8e (patch) | |
tree | 5bfac7056543287903f90f8e3a1438295f99a216 /src | |
parent | 0e86a1ac087e4e97be51cfa8e175da4a90a85f23 (diff) | |
download | sqlite-17645f5eecb950205481179bb0dee1e5332a2e8e.tar.gz sqlite-17645f5eecb950205481179bb0dee1e5332a2e8e.zip |
In selecttrace 0x100 mode, show the parse tree after name resolution instead
of before flattening, so that it is always seen even if flattening does not
occur. Also: add the hex pointer value to the top of each SELECT tree.
FossilOrigin-Name: aa093fef2d2a7e26d987b46654963e4d7e66d444
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/select.c b/src/select.c index 8563ec100..058bf3d57 100644 --- a/src/select.c +++ b/src/select.c @@ -3444,13 +3444,6 @@ static int flattenSubquery( /***** If we reach this point, flattening is permitted. *****/ SELECTTRACE(1,pParse,p,("flatten %s.%p from term %d\n", pSub->zSelName, pSub, iFrom)); -#if SELECTTRACE_ENABLED - if( sqlite3SelectTrace & 0x100 ){ - sqlite3DebugPrintf("Befor flattening:\n"); - sqlite3TreeViewSelect(0, p, 0); - } -#endif - /* Authorize the subquery */ pParse->zAuthContext = pSubitem->zName; @@ -4759,6 +4752,13 @@ int sqlite3Select( } isAgg = (p->selFlags & SF_Aggregate)!=0; assert( pEList!=0 ); +#if SELECTTRACE_ENABLED + if( sqlite3SelectTrace & 0x100 ){ + SELECTTRACE(0x100,pParse,p, ("after name resolution:\n")); + sqlite3TreeViewSelect(0, p, 0); + } +#endif + /* Begin generating code. */ @@ -5504,9 +5504,9 @@ select_end: void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 moreToFollow){ int n = 0; pView = sqlite3TreeViewPush(pView, moreToFollow); - sqlite3TreeViewLine(pView, "SELECT%s%s", + sqlite3TreeViewLine(pView, "SELECT%s%s (0x%p)", ((p->selFlags & SF_Distinct) ? " DISTINCT" : ""), - ((p->selFlags & SF_Aggregate) ? " agg_flag" : "") + ((p->selFlags & SF_Aggregate) ? " agg_flag" : ""), p ); if( p->pSrc && p->pSrc->nSrc ) n++; if( p->pWhere ) n++; |