Attempt to rationalize the bits associated with ".wheretrace". Provide
a decoder key in sqliteInt.h for what each bit is intended to do. FossilOrigin-Name: 8ec361695a107a94f2cf6a7fe509656a99d85d49bd7c74133c69903f059a2675
This commit is contained in:
+15
-13
@@ -359,7 +359,7 @@ static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){
|
||||
pTerm->wtFlags |= TERM_CODED;
|
||||
}
|
||||
#ifdef WHERETRACE_ENABLED
|
||||
if( sqlite3WhereTrace & 0x20000 ){
|
||||
if( (sqlite3WhereTrace & 0x4001)==0x4001 ){
|
||||
sqlite3DebugPrintf("DISABLE-");
|
||||
sqlite3WhereTermPrint(pTerm, (int)(pTerm - (pTerm->pWC->a)));
|
||||
}
|
||||
@@ -1346,13 +1346,15 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
pLevel->notReady = notReady & ~sqlite3WhereGetMask(&pWInfo->sMaskSet, iCur);
|
||||
bRev = (pWInfo->revMask>>iLevel)&1;
|
||||
VdbeModuleComment((v, "Begin WHERE-loop%d: %s",iLevel,pTabItem->pTab->zName));
|
||||
#if WHERETRACE_ENABLED /* 0x20800 */
|
||||
if( sqlite3WhereTrace & 0x800 ){
|
||||
#if WHERETRACE_ENABLED /* 0x4001 */
|
||||
if( sqlite3WhereTrace & 0x1 ){
|
||||
sqlite3DebugPrintf("Coding level %d of %d: notReady=%llx iFrom=%d\n",
|
||||
iLevel, pWInfo->nLevel, (u64)notReady, pLevel->iFrom);
|
||||
sqlite3WhereLoopPrint(pLoop, pWC);
|
||||
if( sqlite3WhereTrace & 0x1000 ){
|
||||
sqlite3WhereLoopPrint(pLoop, pWC);
|
||||
}
|
||||
}
|
||||
if( sqlite3WhereTrace & 0x20000 ){
|
||||
if( (sqlite3WhereTrace & 0x4001)==0x4001 ){
|
||||
if( iLevel==0 ){
|
||||
sqlite3DebugPrintf("WHERE clause being coded:\n");
|
||||
sqlite3TreeViewExpr(0, pWInfo->pWhere, 0);
|
||||
@@ -2276,7 +2278,7 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
}
|
||||
/* Loop through table entries that match term pOrTerm. */
|
||||
ExplainQueryPlan((pParse, 1, "INDEX %d", ii+1));
|
||||
WHERETRACE(0xffff, ("Subplan for OR-clause:\n"));
|
||||
WHERETRACE(0xffffffff, ("Subplan for OR-clause:\n"));
|
||||
pSubWInfo = sqlite3WhereBegin(pParse, pOrTab, pOrExpr, 0, 0, 0,
|
||||
WHERE_OR_SUBCLAUSE, iCovCur);
|
||||
assert( pSubWInfo || pParse->nErr );
|
||||
@@ -2513,12 +2515,12 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#ifdef WHERETRACE_ENABLED /* 0xffff */
|
||||
#ifdef WHERETRACE_ENABLED /* 0xffffffff */
|
||||
if( sqlite3WhereTrace ){
|
||||
VdbeNoopComment((v, "WhereTerm[%d] (%p) priority=%d",
|
||||
pWC->nTerm-j, pTerm, iLoop));
|
||||
}
|
||||
if( sqlite3WhereTrace & 0x800 ){
|
||||
if( sqlite3WhereTrace & 0x4000 ){
|
||||
sqlite3DebugPrintf("Coding auxiliary constraint:\n");
|
||||
sqlite3WhereTermPrint(pTerm, pWC->nTerm-j);
|
||||
}
|
||||
@@ -2547,8 +2549,8 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
if( pTerm->leftCursor!=iCur ) continue;
|
||||
if( pTabItem->fg.jointype & (JT_LEFT|JT_LTORJ|JT_RIGHT) ) continue;
|
||||
pE = pTerm->pExpr;
|
||||
#ifdef WHERETRACE_ENABLED /* 0x800 */
|
||||
if( sqlite3WhereTrace & 0x800 ){
|
||||
#ifdef WHERETRACE_ENABLED /* 0x4001 */
|
||||
if( (sqlite3WhereTrace & 0x4001)==0x4001 ){
|
||||
sqlite3DebugPrintf("Coding transitive constraint:\n");
|
||||
sqlite3WhereTermPrint(pTerm, pWC->nTerm-j);
|
||||
}
|
||||
@@ -2663,13 +2665,13 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
}
|
||||
}
|
||||
|
||||
#if WHERETRACE_ENABLED /* 0x20800 */
|
||||
if( sqlite3WhereTrace & 0x20000 ){
|
||||
#if WHERETRACE_ENABLED /* 0x4001 */
|
||||
if( sqlite3WhereTrace & 0x4000 ){
|
||||
sqlite3DebugPrintf("All WHERE-clause terms after coding level %d:\n",
|
||||
iLevel);
|
||||
sqlite3WhereClausePrint(pWC);
|
||||
}
|
||||
if( sqlite3WhereTrace & 0x800 ){
|
||||
if( sqlite3WhereTrace & 0x1 ){
|
||||
sqlite3DebugPrintf("End Coding level %d: notReady=%llx\n",
|
||||
iLevel, (u64)pLevel->notReady);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user