diff options
Diffstat (limited to 'db/queryoptimizer.h')
| -rw-r--r-- | db/queryoptimizer.h | 3 |
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 ); } |
