Merge branch 'master' of github.com:mongodb/mongo

This commit is contained in:
Aaron
2010-06-02 12:05:21 -07:00
37 changed files with 1171 additions and 287 deletions

View File

@@ -456,7 +456,24 @@ namespace mongo {
QueryPlanSet::PlanPtr QueryPlanSet::getBestGuess() const {
assert( plans_.size() );
massert( 13284, "best guess plan requested, but scan and order required", !plans_[ 0 ]->scanAndOrderRequired() );
if ( plans_[ 0 ]->scanAndOrderRequired() ){
for ( unsigned i=1; i<plans_.size(); i++ ){
if ( ! plans_[i]->scanAndOrderRequired() )
return plans_[i];
}
stringstream ss;
ss << "best guess plan requested, but scan and order required:";
ss << " query: " << query_;
ss << " order: " << order_;
ss << " choices: ";
for ( unsigned i=0; i<plans_.size(); i++ ){
ss << plans_[i]->indexKey() << " ";
}
string s = ss.str();
msgassertedNoTrace( 13284, s.c_str() );
}
return plans_[0];
}