Storage Engine API
mongo::BtreeLogic< BtreeLayout >::Builder Class Reference

#include <btree_logic.h>

Classes

class  SetRightLeafLocChange
 

Public Types

typedef BtreeLayout::KeyOwnedType KeyDataOwnedType
 
typedef BtreeLayout::KeyType KeyDataType
 

Public Member Functions

Status addKey (const BSONObj &key, const DiskLoc &loc)
 

Private Member Functions

 Builder (BtreeLogic *logic, OperationContext *opCtx, bool dupsAllowed)
 
DiskLoc newBucket (BucketType *leftSib, DiskLoc leftSibLoc)
 Creates and returns a new empty bucket to the right of leftSib, maintaining the internal consistency of the tree. More...
 
BucketType_getModifiableBucket (DiskLoc loc)
 
BucketType_getBucket (DiskLoc loc)
 

Private Attributes

BtreeLogic_logic
 
DiskLoc _rightLeafLoc
 
bool _dupsAllowed
 
std::unique_ptr< KeyDataOwnedType_keyLast
 
OperationContext * _opCtx
 

Friends

class BtreeLogic
 

Member Typedef Documentation

◆ KeyDataOwnedType

template<class BtreeLayout>
typedef BtreeLayout::KeyOwnedType mongo::BtreeLogic< BtreeLayout >::Builder::KeyDataOwnedType

◆ KeyDataType

template<class BtreeLayout>
typedef BtreeLayout::KeyType mongo::BtreeLogic< BtreeLayout >::Builder::KeyDataType

Constructor & Destructor Documentation

◆ Builder()

template<class BtreeLayout >
mongo::BtreeLogic< BtreeLayout >::Builder::Builder ( BtreeLogic logic,
OperationContext *  opCtx,
bool  dupsAllowed 
)
private

Member Function Documentation

◆ _getBucket()

template<class BtreeLayout >
BtreeLogic< BtreeLayout >::BucketType * mongo::BtreeLogic< BtreeLayout >::Builder::_getBucket ( DiskLoc  loc)
private

◆ _getModifiableBucket()

template<class BtreeLayout >
BtreeLogic< BtreeLayout >::BucketType * mongo::BtreeLogic< BtreeLayout >::Builder::_getModifiableBucket ( DiskLoc  loc)
private

◆ addKey()

template<class BtreeLayout >
Status mongo::BtreeLogic< BtreeLayout >::Builder::addKey ( const BSONObj &  key,
const DiskLoc loc 
)

◆ newBucket()

template<class BtreeLayout >
DiskLoc mongo::BtreeLogic< BtreeLayout >::Builder::newBucket ( BucketType leftSib,
DiskLoc  leftSibLoc 
)
private

Creates and returns a new empty bucket to the right of leftSib, maintaining the internal consistency of the tree.

leftSib must be the right-most child of its parent or it must be the root.

Friends And Related Function Documentation

◆ BtreeLogic

template<class BtreeLayout>
friend class BtreeLogic
friend

Member Data Documentation

◆ _dupsAllowed

template<class BtreeLayout>
bool mongo::BtreeLogic< BtreeLayout >::Builder::_dupsAllowed
private

◆ _keyLast

template<class BtreeLayout>
std::unique_ptr<KeyDataOwnedType> mongo::BtreeLogic< BtreeLayout >::Builder::_keyLast
private

◆ _logic

template<class BtreeLayout>
BtreeLogic* mongo::BtreeLogic< BtreeLayout >::Builder::_logic
private

◆ _opCtx

template<class BtreeLayout>
OperationContext* mongo::BtreeLogic< BtreeLayout >::Builder::_opCtx
private

◆ _rightLeafLoc

template<class BtreeLayout>
DiskLoc mongo::BtreeLogic< BtreeLayout >::Builder::_rightLeafLoc
private

The documentation for this class was generated from the following files: