|
Lines 234-240
Link Here
|
| 234 |
// The query plan must have a matcher. The matcher's constructor performs some aspects |
234 |
// The query plan must have a matcher. The matcher's constructor performs some aspects |
| 235 |
// of query validation that should occur as part of this class's init() if not handled |
235 |
// of query validation that should occur as part of this class's init() if not handled |
| 236 |
// already. |
236 |
// already. |
| 237 |
fassert( 16249, queryPlan().matcher() ); |
237 |
fassert( 16249, bool(queryPlan().matcher()) ); |
| 238 |
|
238 |
|
| 239 |
// TODO This violates the current Cursor interface abstraction, but for now it's simpler to keep our own set of |
239 |
// TODO This violates the current Cursor interface abstraction, but for now it's simpler to keep our own set of |
| 240 |
// dups rather than avoid poisoning the cursor's dup set with unreturned documents. Deduping documents |
240 |
// dups rather than avoid poisoning the cursor's dup set with unreturned documents. Deduping documents |
|
Lines 257-263
Link Here
|
| 257 |
_explainPlanInfo.reset( new ExplainPlanInfo() ); |
257 |
_explainPlanInfo.reset( new ExplainPlanInfo() ); |
| 258 |
_explainPlanInfo->notePlan( *_c, |
258 |
_explainPlanInfo->notePlan( *_c, |
| 259 |
queryPlan().scanAndOrderRequired(), |
259 |
queryPlan().scanAndOrderRequired(), |
| 260 |
queryPlan().keyFieldsOnly() ); |
260 |
bool(queryPlan().keyFieldsOnly()) ); |
| 261 |
return _explainPlanInfo; |
261 |
return _explainPlanInfo; |
| 262 |
} |
262 |
} |
| 263 |
|
263 |
|
|
Lines 1226-1232
Link Here
|
| 1226 |
_explainPlanInfo.reset( new ExplainPlanInfo() ); |
1226 |
_explainPlanInfo.reset( new ExplainPlanInfo() ); |
| 1227 |
_explainPlanInfo->notePlan( *_c, |
1227 |
_explainPlanInfo->notePlan( *_c, |
| 1228 |
_queryPlan->scanAndOrderRequired(), |
1228 |
_queryPlan->scanAndOrderRequired(), |
| 1229 |
_queryPlan->keyFieldsOnly() ); |
1229 |
bool(_queryPlan->keyFieldsOnly()) ); |
| 1230 |
shared_ptr<ExplainClauseInfo> clauseInfo( new ExplainClauseInfo() ); |
1230 |
shared_ptr<ExplainClauseInfo> clauseInfo( new ExplainClauseInfo() ); |
| 1231 |
clauseInfo->addPlanInfo( _explainPlanInfo ); |
1231 |
clauseInfo->addPlanInfo( _explainPlanInfo ); |
| 1232 |
_mps->addClauseInfo( clauseInfo ); |
1232 |
_mps->addClauseInfo( clauseInfo ); |