#include <queryutil.h>
Public Member Functions | |
void | allClausesSimplified (vector< BSONObj > &ret) const |
FieldRangeOrSet (const char *ns, const BSONObj &query, bool optimize=true) | |
string | getSpecial () const |
bool | moreOrClauses () const |
bool | orFinished () const |
void | popOrClause (const BSONObj &indexSpec=BSONObj()) |
FieldRangeSet * | topFrs () const |
FieldRangeSet * | topFrsOriginal () const |
Private Attributes | |
FieldRangeSet | _baseSet |
list< FieldRangeSet > | _oldOrSets |
bool | _orFound |
list< FieldRangeSet > | _originalOrSets |
list< FieldRangeSet > | _orSets |
Definition at line 513 of file queryutil.h.
mongo::FieldRangeOrSet::FieldRangeOrSet | ( | const char * | ns, | |
const BSONObj & | query, | |||
bool | optimize = true | |||
) |
void mongo::FieldRangeOrSet::allClausesSimplified | ( | vector< BSONObj > & | ret | ) | const [inline] |
Definition at line 546 of file queryutil.h.
string mongo::FieldRangeOrSet::getSpecial | ( | ) | const [inline] |
Definition at line 553 of file queryutil.h.
bool mongo::FieldRangeOrSet::moreOrClauses | ( | ) | const [inline] |
Definition at line 555 of file queryutil.h.
bool mongo::FieldRangeOrSet::orFinished | ( | ) | const [inline] |
Definition at line 517 of file queryutil.h.
Removes the top or clause, which would have been recently scanned, and removes the field ranges it covers from all subsequent or clauses. As a side effect, this function may invalidate the return values of topFrs() calls made before this function was called.
indexSpec | - Keys of the index that was used to satisfy the last or clause. Used to determine the range of keys that were scanned. If empty we do not constrain the previous clause's ranges using index keys, which may reduce opportunities for range elimination. |
FieldRangeSet* mongo::FieldRangeOrSet::topFrs | ( | ) | const [inline] |
Definition at line 529 of file queryutil.h.
FieldRangeSet* mongo::FieldRangeOrSet::topFrsOriginal | ( | ) | const [inline] |
Definition at line 539 of file queryutil.h.
Definition at line 557 of file queryutil.h.
list< FieldRangeSet > mongo::FieldRangeOrSet::_oldOrSets [private] |
Definition at line 560 of file queryutil.h.
bool mongo::FieldRangeOrSet::_orFound [private] |
Definition at line 561 of file queryutil.h.
list< FieldRangeSet > mongo::FieldRangeOrSet::_originalOrSets [private] |
Definition at line 559 of file queryutil.h.
list< FieldRangeSet > mongo::FieldRangeOrSet::_orSets [private] |
Definition at line 558 of file queryutil.h.