mongo::BtreeCursor Class Reference
#include <btree.h>
List of all members.
Public Member Functions |
virtual Record * | _current () |
const _KeyNode & | _currKeyNode () const |
virtual void | aboutToDeleteBucket (const DiskLoc &b) |
virtual bool | advance () |
| BtreeCursor (NamespaceDetails *_d, int _idxNo, const IndexDetails &_id, const shared_ptr< FieldRangeVector > &_bounds, int _direction) |
| BtreeCursor (NamespaceDetails *_d, int _idxNo, const IndexDetails &, const BSONObj &startKey, const BSONObj &endKey, bool endKeyInclusive, int direction) |
virtual void | checkLocation () |
virtual BSONObj | current () |
virtual BSONObj | currKey () const |
const KeyNode | currKeyNode () const |
virtual DiskLoc | currLoc () |
void | forgetEndKey () |
const DiskLoc | getBucket () const |
virtual bool | getsetdup (DiskLoc loc) |
virtual BSONObj | indexKeyPattern () |
virtual bool | isMultiKey () const |
virtual CoveredIndexMatcher * | matcher () const |
virtual bool | modifiedKeys () const |
virtual void | noteLocation () |
virtual long long | nscanned () |
virtual bool | ok () |
virtual BSONObj | prettyIndexBounds () const |
BSONObj | prettyKey (const BSONObj &key) const |
virtual DiskLoc | refLoc () |
virtual void | setMatcher (shared_ptr< CoveredIndexMatcher > matcher) |
virtual bool | supportGetMore () |
virtual bool | supportYields () |
virtual string | toString () |
Private Member Functions |
void | advanceTo (const BSONObj &keyBegin, int keyBeginLen, bool afterKey, const vector< const BSONElement * > &keyEnd, const vector< bool > &keyEndInclusive) |
void | audit () |
void | checkEnd () |
void | init () |
void | skipAndCheck () |
bool | skipOutOfRangeKeysAndCheckEnd () |
bool | skipUnusedKeys (bool mayJump) |
Private Attributes |
const shared_ptr
< FieldRangeVector > | _bounds |
auto_ptr
< FieldRangeVector::Iterator > | _boundsIterator |
const int | _direction |
set< DiskLoc > | _dups |
bool | _endKeyInclusive |
bool | _independentFieldRanges |
shared_ptr< CoveredIndexMatcher > | _matcher |
bool | _multikey |
long long | _nscanned |
const BSONObj | _order |
const Ordering | _ordering |
const IndexSpec & | _spec |
DiskLoc | bucket |
NamespaceDetails *const | d |
BSONObj | endKey |
const int | idxNo |
const IndexDetails & | indexDetails |
BSONObj | keyAtKeyOfs |
int | keyOfs |
DiskLoc | locAtKeyOfs |
BSONObj | startKey |
Friends |
class | BtreeBucket |
Detailed Description
Definition at line 448 of file btree.h.
Constructor & Destructor Documentation
Member Function Documentation
virtual Record* mongo::BtreeCursor::_current |
( |
|
) |
[inline, virtual] |
const _KeyNode& mongo::BtreeCursor::_currKeyNode |
( |
|
) |
const [inline] |
virtual void mongo::BtreeCursor::aboutToDeleteBucket |
( |
const DiskLoc & |
b |
) |
[inline, virtual] |
virtual bool mongo::BtreeCursor::advance |
( |
|
) |
[virtual] |
void mongo::BtreeCursor::advanceTo |
( |
const BSONObj & |
keyBegin, |
|
|
int |
keyBeginLen, |
|
|
bool |
afterKey, |
|
|
const vector< const BSONElement * > & |
keyEnd, |
|
|
const vector< bool > & |
keyEndInclusive | |
|
) |
| | [private] |
if afterKey is true, we want the first key with values of the keyBegin fields greater than keyBegin
void mongo::BtreeCursor::audit |
( |
|
) |
[private] |
selective audits on construction
void mongo::BtreeCursor::checkEnd |
( |
|
) |
[private] |
virtual void mongo::BtreeCursor::checkLocation |
( |
|
) |
[virtual] |
virtual BSONObj mongo::BtreeCursor::current |
( |
|
) |
[inline, virtual] |
virtual BSONObj mongo::BtreeCursor::currKey |
( |
|
) |
const [inline, virtual] |
const KeyNode mongo::BtreeCursor::currKeyNode |
( |
|
) |
const [inline] |
virtual DiskLoc mongo::BtreeCursor::currLoc |
( |
|
) |
[inline, virtual] |
void mongo::BtreeCursor::forgetEndKey |
( |
|
) |
[inline] |
const DiskLoc mongo::BtreeCursor::getBucket |
( |
|
) |
const [inline] |
for debugging only
Definition at line 529 of file btree.h.
virtual bool mongo::BtreeCursor::getsetdup |
( |
DiskLoc |
loc |
) |
[inline, virtual] |
used for multikey index traversal to avoid sending back dups. see Matcher::matches(). if a multikey index traversal: if loc has already been sent, returns true. otherwise, marks loc as sent.
- Returns:
- true if the loc has not been seen
Implements mongo::Cursor.
Definition at line 466 of file btree.h.
virtual BSONObj mongo::BtreeCursor::indexKeyPattern |
( |
|
) |
[inline, virtual] |
void mongo::BtreeCursor::init |
( |
|
) |
[private] |
virtual bool mongo::BtreeCursor::isMultiKey |
( |
|
) |
const [inline, virtual] |
virtual bool mongo::BtreeCursor::modifiedKeys |
( |
|
) |
const [inline, virtual] |
return true if the keys in the index have been modified from the main doc if you have { a : 1 , b : [ 1 , 2 ] } an index on { a : 1 } would not be modified an index on { b : 1 } would be since the values of the array are put in the index not the array
Implements mongo::Cursor.
Definition at line 474 of file btree.h.
virtual void mongo::BtreeCursor::noteLocation |
( |
|
) |
[virtual] |
virtual long long mongo::BtreeCursor::nscanned |
( |
|
) |
[inline, virtual] |
virtual bool mongo::BtreeCursor::ok |
( |
|
) |
[inline, virtual] |
virtual BSONObj mongo::BtreeCursor::prettyIndexBounds |
( |
|
) |
const [inline, virtual] |
BSONObj mongo::BtreeCursor::prettyKey |
( |
const BSONObj & |
key |
) |
const [inline] |
virtual DiskLoc mongo::BtreeCursor::refLoc |
( |
|
) |
[inline, virtual] |
virtual void mongo::BtreeCursor::setMatcher |
( |
shared_ptr< CoveredIndexMatcher > |
matcher |
) |
[inline, virtual] |
void mongo::BtreeCursor::skipAndCheck |
( |
|
) |
[private] |
bool mongo::BtreeCursor::skipOutOfRangeKeysAndCheckEnd |
( |
|
) |
[private] |
bool mongo::BtreeCursor::skipUnusedKeys |
( |
bool |
mayJump |
) |
[private] |
Our btrees may (rarely) have "unused" keys when items are deleted. Skip past them.
virtual bool mongo::BtreeCursor::supportGetMore |
( |
|
) |
[inline, virtual] |
virtual bool mongo::BtreeCursor::supportYields |
( |
|
) |
[inline, virtual] |
virtual string mongo::BtreeCursor::toString |
( |
|
) |
[inline, virtual] |
Friends And Related Function Documentation
Member Data Documentation
The documentation for this class was generated from the following file: