/ Check-in [5682146e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:The ".selecttrace 4" command now shows only a single parse tree after name resolution.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 5682146e8a4ebb4edc1e1b53fbf3daf77f8cb9cd9bc2aa32acb34fa5824bd518
User & Date: drh 2018-04-23 17:18:03
Context
2018-04-23
17:43
The ".selecttrace 0x2000" command causes just the top-level parse tree to be displayed, after all transformations, and showing the EQP iSelectId at each level. check-in: ca34c2dd user: drh tags: trunk
17:18
The ".selecttrace 4" command now shows only a single parse tree after name resolution. check-in: 5682146e user: drh tags: trunk
17:09
Do not restore the iSelectId value until after the last SELECTTRACE when debugging Select processing. check-in: 8088d8ca user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/select.c.

  3815   3815       if( pNew==0 ){
  3816   3816         p->pPrior = pPrior;
  3817   3817       }else{
  3818   3818         pNew->pPrior = pPrior;
  3819   3819         if( pPrior ) pPrior->pNext = pNew;
  3820   3820         pNew->pNext = p;
  3821   3821         p->pPrior = pNew;
  3822         -      SELECTTRACE(2,pParse,p,
  3823         -         ("compound-subquery flattener creates %s.%p as peer\n",
  3824         -         pNew->zSelName, pNew));
         3822  +      SELECTTRACE(2,pParse,p,("compound-subquery flattener"
         3823  +                              " creates %s.%p as peer\n",pNew->zSelName, pNew));
  3825   3824       }
  3826   3825       if( db->mallocFailed ) return 1;
  3827   3826     }
  3828   3827   
  3829   3828     /* Begin flattening the iFrom-th entry of the FROM clause 
  3830   3829     ** in the outer query.
  3831   3830     */
................................................................................
  5380   5379     pTabList = p->pSrc;
  5381   5380     if( pParse->nErr || db->mallocFailed ){
  5382   5381       goto select_end;
  5383   5382     }
  5384   5383     assert( p->pEList!=0 );
  5385   5384     isAgg = (p->selFlags & SF_Aggregate)!=0;
  5386   5385   #if SELECTTRACE_ENABLED
  5387         -  if( sqlite3SelectTrace & 0x100 ){
  5388         -    SELECTTRACE(0x100,pParse,p, ("after name resolution:\n"));
         5386  +  if( sqlite3SelectTrace & 0x104 ){
         5387  +    SELECTTRACE(0x104,pParse,p, ("after name resolution:\n"));
  5389   5388       sqlite3TreeViewSelect(0, p, 0);
  5390   5389     }
  5391   5390   #endif
  5392   5391   
  5393   5392     /* Get a pointer the VDBE under construction, allocating a new VDBE if one
  5394   5393     ** does not already exist */
  5395   5394     v = sqlite3GetVdbe(pParse);