]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In selecttrace 0x100 mode, show the parse tree after name resolution instead
authordrh <drh@noemail.net>
Mon, 9 Feb 2015 13:42:59 +0000 (13:42 +0000)
committerdrh <drh@noemail.net>
Mon, 9 Feb 2015 13:42:59 +0000 (13:42 +0000)
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

manifest
manifest.uuid
src/select.c

index b716294ecedb91dc4bc581c9b99157731682c41c..aac267bbad14aaa27467f4444b622a5963c8a47d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C In\sselecttrace\smode\s0x100,\sshow\sa\scomplete\sparse-tree\sboth\sbefore\sand\safter\nquery\sflattening.\s\sThis\sis\sa\schange\sto\sdebugging\scode\sonly.
-D 2015-02-09T11:54:41.074
+C In\sselecttrace\s0x100\smode,\sshow\sthe\sparse\stree\safter\sname\sresolution\sinstead\nof\sbefore\sflattening,\sso\sthat\sit\sis\salways\sseen\seven\sif\sflattening\sdoes\snot\noccur.\s\sAlso:\sadd\sthe\shex\spointer\svalue\sto\sthe\stop\sof\seach\sSELECT\stree.
+D 2015-02-09T13:42:59.910
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 6b9e7677829aa94b9f30949656e27312aefb9a46
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -230,7 +230,7 @@ F src/printf.c 05edc41450d0eb2c05ef7db113bf32742ae65325
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c 4ebd1064bded2556a8856c6f00fe2b9642f6efc3
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
-F src/select.c 6ea3518b8863ec631c0481ba03dc283ea9140747
+F src/select.c edcf8ba8163526f2340f10f19b0a71547c6f97ba
 F src/shell.c 82c25508dac802b32198af6f5256ca1597c6a1af
 F src/sqlite.h.in 54678c21401909f72b221344dd560d285a1ba5eb
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
@@ -1239,7 +1239,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P c12edb85076d0832e3a0abbbba4d07f3cb5d7f0e
-R 592949bfa9cc2e6e32d5144cda2bc252
+P b3c6b8a3c1075d2a87cef68f061d6a0098e6d8d0
+R d021c59225e931bc74b845a3c2d5b904
 U drh
-Z 15610b55190883b540f12ad788effd4f
+Z ece5ae1a696e0ba02ef3e8bf97d71c38
index 86de97c36c7ded8fc7af8b3a835182ef3f994a97..036d4651a73220b8ff64d8fbedb1d60bc4a61e48 100644 (file)
@@ -1 +1 @@
-b3c6b8a3c1075d2a87cef68f061d6a0098e6d8d0
\ No newline at end of file
+aa093fef2d2a7e26d987b46654963e4d7e66d444
\ No newline at end of file
index 8563ec100673f0c7ee8f4cc1ac929a8b080c3c09..058bf3d57765652c0671735096d2d24a010fe03d 100644 (file)
@@ -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++;