Skip to content

Commit

Permalink
Move CandidatePlanCharacter to querypattern.h.
Browse files Browse the repository at this point in the history
  • Loading branch information
astaple committed Apr 25, 2012
1 parent 46ad79f commit b60b052
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 22 deletions.
21 changes: 1 addition & 20 deletions src/mongo/db/queryoptimizer.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,33 +23,14 @@
#include "matcher.h"
#include "explain.h"
#include "../util/net/listen.h"
#include "mongo/db/querypattern.h"

namespace mongo {

class IndexDetails;
class IndexType;
class QueryPlanSummary;

/** Summarizes the candidate plans that may run for a query. */
class CandidatePlanCharacter {
public:
CandidatePlanCharacter( bool mayRunInOrderPlan, bool mayRunOutOfOrderPlan ) :
_mayRunInOrderPlan( mayRunInOrderPlan ),
_mayRunOutOfOrderPlan( mayRunOutOfOrderPlan ) {
}
CandidatePlanCharacter() :
_mayRunInOrderPlan(),
_mayRunOutOfOrderPlan() {
}
bool mayRunInOrderPlan() const { return _mayRunInOrderPlan; }
bool mayRunOutOfOrderPlan() const { return _mayRunOutOfOrderPlan; }
bool valid() const { return mayRunInOrderPlan() || mayRunOutOfOrderPlan(); }
bool hybridPlanSet() const { return mayRunInOrderPlan() && mayRunOutOfOrderPlan(); }
private:
bool _mayRunInOrderPlan;
bool _mayRunOutOfOrderPlan;
};

/** A plan for executing a query using the given index spec and FieldRangeSet. */
class QueryPlan : boost::noncopyable {
public:
Expand Down
23 changes: 21 additions & 2 deletions src/mongo/db/querypattern.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
#pragma once

#include "jsobj.h"
#include "mongo/db/queryoptimizer.h"

namespace mongo {

Expand Down Expand Up @@ -56,7 +55,27 @@ namespace mongo {
map<string,Type> _fieldTypes;
BSONObj _sort;
};


/** Summarizes the candidate plans that may run for a query. */
class CandidatePlanCharacter {
public:
CandidatePlanCharacter( bool mayRunInOrderPlan, bool mayRunOutOfOrderPlan ) :
_mayRunInOrderPlan( mayRunInOrderPlan ),
_mayRunOutOfOrderPlan( mayRunOutOfOrderPlan ) {
}
CandidatePlanCharacter() :
_mayRunInOrderPlan(),
_mayRunOutOfOrderPlan() {
}
bool mayRunInOrderPlan() const { return _mayRunInOrderPlan; }
bool mayRunOutOfOrderPlan() const { return _mayRunOutOfOrderPlan; }
bool valid() const { return mayRunInOrderPlan() || mayRunOutOfOrderPlan(); }
bool hybridPlanSet() const { return mayRunInOrderPlan() && mayRunOutOfOrderPlan(); }
private:
bool _mayRunInOrderPlan;
bool _mayRunOutOfOrderPlan;
};

/** Information about a query plan that ran successfully for a QueryPattern. */
class CachedQueryPlan {
public:
Expand Down

0 comments on commit b60b052

Please sign in to comment.