Storage Engine API
mongo::DatabaseCatalogEntry Class Referenceabstract

#include <database_catalog_entry.h>

Inheritance diagram for mongo::DatabaseCatalogEntry:
mongo::KVDatabaseCatalogEntryBase mongo::MMAPV1DatabaseCatalogEntry mongo::KVDatabaseCatalogEntry mongo::KVDatabaseCatalogEntryMock

Public Member Functions

 DatabaseCatalogEntry (StringData name)
 
virtual ~DatabaseCatalogEntry ()
 
const std::string & name () const
 
virtual bool exists () const =0
 
virtual bool isEmpty () const =0
 
virtual bool hasUserData () const =0
 
virtual int64_t sizeOnDisk (OperationContext *opCtx) const =0
 
virtual void appendExtraStats (OperationContext *opCtx, BSONObjBuilder *out, double scale) const =0
 
virtual bool isOlderThan24 (OperationContext *opCtx) const =0
 
virtual void markIndexSafe24AndUp (OperationContext *opCtx)=0
 
virtual Status currentFilesCompatible (OperationContext *opCtx) const =0
 Returns whethers the data files are compatible with the current code: More...
 
virtual void getCollectionNamespaces (std::list< std::string > *out) const =0
 
virtual CollectionCatalogEntrygetCollectionCatalogEntry (StringData ns) const =0
 
virtual RecordStoregetRecordStore (StringData ns) const =0
 
virtual IndexAccessMethod * getIndex (OperationContext *opCtx, const CollectionCatalogEntry *collection, IndexCatalogEntry *index)=0
 
virtual Status createCollection (OperationContext *opCtx, StringData ns, const CollectionOptions &options, bool allocateDefaultSpace)=0
 
virtual Status renameCollection (OperationContext *opCtx, StringData fromNS, StringData toNS, bool stayTemp)=0
 
virtual Status dropCollection (OperationContext *opCtx, StringData ns)=0
 

Private Attributes

std::string _name
 

Constructor & Destructor Documentation

◆ DatabaseCatalogEntry()

mongo::DatabaseCatalogEntry::DatabaseCatalogEntry ( StringData  name)
inline

◆ ~DatabaseCatalogEntry()

virtual mongo::DatabaseCatalogEntry::~DatabaseCatalogEntry ( )
inlinevirtual

Member Function Documentation

◆ appendExtraStats()

virtual void mongo::DatabaseCatalogEntry::appendExtraStats ( OperationContext *  opCtx,
BSONObjBuilder *  out,
double  scale 
) const
pure virtual

◆ createCollection()

virtual Status mongo::DatabaseCatalogEntry::createCollection ( OperationContext *  opCtx,
StringData  ns,
const CollectionOptions options,
bool  allocateDefaultSpace 
)
pure virtual

◆ currentFilesCompatible()

virtual Status mongo::DatabaseCatalogEntry::currentFilesCompatible ( OperationContext *  opCtx) const
pure virtual

Returns whethers the data files are compatible with the current code:

  • Status::OK() if the data files are compatible with the current code.
  • ErrorCodes::CanRepairToDowngrade if the data files are incompatible with the current code, but a –repair would make them compatible. For example, when rebuilding all indexes in the data files would resolve the incompatibility.
  • ErrorCodes::MustUpgrade if the data files are incompatible with the current code and a newer version is required to start up.

Implemented in mongo::MMAPV1DatabaseCatalogEntry, and mongo::KVDatabaseCatalogEntryBase.

◆ dropCollection()

virtual Status mongo::DatabaseCatalogEntry::dropCollection ( OperationContext *  opCtx,
StringData  ns 
)
pure virtual

◆ exists()

virtual bool mongo::DatabaseCatalogEntry::exists ( ) const
pure virtual

◆ getCollectionCatalogEntry()

virtual CollectionCatalogEntry* mongo::DatabaseCatalogEntry::getCollectionCatalogEntry ( StringData  ns) const
pure virtual

◆ getCollectionNamespaces()

virtual void mongo::DatabaseCatalogEntry::getCollectionNamespaces ( std::list< std::string > *  out) const
pure virtual

◆ getIndex()

virtual IndexAccessMethod* mongo::DatabaseCatalogEntry::getIndex ( OperationContext *  opCtx,
const CollectionCatalogEntry collection,
IndexCatalogEntry index 
)
pure virtual

◆ getRecordStore()

virtual RecordStore* mongo::DatabaseCatalogEntry::getRecordStore ( StringData  ns) const
pure virtual

◆ hasUserData()

virtual bool mongo::DatabaseCatalogEntry::hasUserData ( ) const
pure virtual

◆ isEmpty()

virtual bool mongo::DatabaseCatalogEntry::isEmpty ( ) const
pure virtual

◆ isOlderThan24()

virtual bool mongo::DatabaseCatalogEntry::isOlderThan24 ( OperationContext *  opCtx) const
pure virtual

◆ markIndexSafe24AndUp()

virtual void mongo::DatabaseCatalogEntry::markIndexSafe24AndUp ( OperationContext *  opCtx)
pure virtual

◆ name()

const std::string& mongo::DatabaseCatalogEntry::name ( ) const
inline

◆ renameCollection()

virtual Status mongo::DatabaseCatalogEntry::renameCollection ( OperationContext *  opCtx,
StringData  fromNS,
StringData  toNS,
bool  stayTemp 
)
pure virtual

◆ sizeOnDisk()

virtual int64_t mongo::DatabaseCatalogEntry::sizeOnDisk ( OperationContext *  opCtx) const
pure virtual

Member Data Documentation

◆ _name

std::string mongo::DatabaseCatalogEntry::_name
private

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