summaryrefslogtreecommitdiff
path: root/db/queryoptimizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'db/queryoptimizer.h')
-rw-r--r--db/queryoptimizer.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/db/queryoptimizer.h b/db/queryoptimizer.h
index cf3180a..ebd264e 100644
--- a/db/queryoptimizer.h
+++ b/db/queryoptimizer.h
@@ -449,7 +449,8 @@ namespace mongo {
auto_ptr< FieldRangeSet > frs( new FieldRangeSet( ns, query ) );
auto_ptr< FieldRangeSet > origFrs( new FieldRangeSet( *frs ) );
shared_ptr< Cursor > ret = QueryPlanSet( ns, frs, origFrs, query, sort ).getBestGuess()->newCursor();
- if ( !query.isEmpty() ) {
+ // If we don't already have a matcher, supply one.
+ if ( !query.isEmpty() && ! ret->matcher() ) {
shared_ptr< CoveredIndexMatcher > matcher( new CoveredIndexMatcher( query, ret->indexKeyPattern() ) );
ret->setMatcher( matcher );
}