aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-02-09 13:42:59 +0000
committerdrh <drh@noemail.net>2015-02-09 13:42:59 +0000
commit17645f5eecb950205481179bb0dee1e5332a2e8e (patch)
tree5bfac7056543287903f90f8e3a1438295f99a216 /src
parent0e86a1ac087e4e97be51cfa8e175da4a90a85f23 (diff)
downloadsqlite-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.c18
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++;