Storage Engine API
mongo::IndexCatalogImpl::IndexBuildBlock Class Reference

disk creation order 1) system.indexes entry 2) collection's NamespaceDetails a) info + head b) _indexBuildsInProgress++ 3) indexes entry in .ns file 4) system.namespaces entry for index ns More...

#include <index_catalog_impl.h>

Detailed Description

disk creation order 1) system.indexes entry 2) collection's NamespaceDetails a) info + head b) _indexBuildsInProgress++ 3) indexes entry in .ns file 4) system.namespaces entry for index ns

Public Member Functions

 IndexBuildBlock (OperationContext *opCtx, Collection *collection, const BSONObj &spec)
 
 ~IndexBuildBlock ()
 
Status init ()
 Must be called from within a WriteUnitOfWork More...
 
void success ()
 Must be called from within a WriteUnitOfWork More...
 
void fail ()
 index build failed, clean up meta data More...
 
IndexCatalogEntrygetEntry ()
 
const std::string & getIndexName () const
 
const BSONObj & getSpec () const
 

Private Member Functions

 MONGO_DISALLOW_COPYING (IndexBuildBlock)
 

Private Attributes

Collection *const _collection
 
IndexCatalog *const _catalog
 
const std::string _ns
 
BSONObj _spec
 
std::string _indexName
 
std::string _indexNamespace
 
IndexCatalogEntry_entry
 
bool _inProgress
 
OperationContext * _opCtx
 

Constructor & Destructor Documentation

◆ IndexBuildBlock()

mongo::IndexCatalogImpl::IndexBuildBlock::IndexBuildBlock ( OperationContext *  opCtx,
Collection collection,
const BSONObj &  spec 
)

◆ ~IndexBuildBlock()

mongo::IndexCatalogImpl::IndexBuildBlock::~IndexBuildBlock ( )

Member Function Documentation

◆ fail()

void mongo::IndexCatalogImpl::IndexBuildBlock::fail ( )

index build failed, clean up meta data

Must be called from within a WriteUnitOfWork

◆ getEntry()

IndexCatalogEntry* mongo::IndexCatalogImpl::IndexBuildBlock::getEntry ( )
inline

◆ getIndexName()

const std::string& mongo::IndexCatalogImpl::IndexBuildBlock::getIndexName ( ) const
inline

◆ getSpec()

const BSONObj& mongo::IndexCatalogImpl::IndexBuildBlock::getSpec ( ) const
inline

◆ init()

Status mongo::IndexCatalogImpl::IndexBuildBlock::init ( )

Must be called from within a WriteUnitOfWork

◆ MONGO_DISALLOW_COPYING()

mongo::IndexCatalogImpl::IndexBuildBlock::MONGO_DISALLOW_COPYING ( IndexBuildBlock  )
private

◆ success()

void mongo::IndexCatalogImpl::IndexBuildBlock::success ( )

Must be called from within a WriteUnitOfWork

Member Data Documentation

◆ _catalog

IndexCatalog* const mongo::IndexCatalogImpl::IndexBuildBlock::_catalog
private

◆ _collection

Collection* const mongo::IndexCatalogImpl::IndexBuildBlock::_collection
private

◆ _entry

IndexCatalogEntry* mongo::IndexCatalogImpl::IndexBuildBlock::_entry
private

◆ _indexName

std::string mongo::IndexCatalogImpl::IndexBuildBlock::_indexName
private

◆ _indexNamespace

std::string mongo::IndexCatalogImpl::IndexBuildBlock::_indexNamespace
private

◆ _inProgress

bool mongo::IndexCatalogImpl::IndexBuildBlock::_inProgress
private

◆ _ns

const std::string mongo::IndexCatalogImpl::IndexBuildBlock::_ns
private

◆ _opCtx

OperationContext* mongo::IndexCatalogImpl::IndexBuildBlock::_opCtx
private

◆ _spec

BSONObj mongo::IndexCatalogImpl::IndexBuildBlock::_spec
private

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