#include <mmap_v1_database_catalog_entry.h>
|
| MMAPV1DatabaseCatalogEntry (OperationContext *opCtx, StringData name, StringData path, bool directoryperdb, bool transient, std::unique_ptr< ExtentManager > extentManager) |
|
virtual | ~MMAPV1DatabaseCatalogEntry () |
|
virtual void | close (OperationContext *opCtx) |
| Must be called before destruction. More...
|
|
virtual bool | exists () const |
|
virtual bool | isEmpty () const |
|
virtual bool | hasUserData () const |
|
virtual int64_t | sizeOnDisk (OperationContext *opCtx) const |
|
virtual bool | isOlderThan24 (OperationContext *opCtx) const |
|
virtual void | markIndexSafe24AndUp (OperationContext *opCtx) |
|
void | markCollationFeatureAsInUse (OperationContext *opCtx) |
|
virtual Status | currentFilesCompatible (OperationContext *opCtx) const |
| Returns whethers the data files are compatible with the current code: More...
|
|
virtual void | appendExtraStats (OperationContext *opCtx, BSONObjBuilder *out, double scale) const |
|
Status | createCollection (OperationContext *opCtx, StringData ns, const CollectionOptions &options, bool allocateDefaultSpace) |
|
Status | dropCollection (OperationContext *opCtx, StringData ns) |
|
Status | renameCollection (OperationContext *opCtx, StringData fromNS, StringData toNS, bool stayTemp) |
|
void | getCollectionNamespaces (std::list< std::string > *tofill) const |
|
NamespaceDetailsCollectionCatalogEntry * | getCollectionCatalogEntry (StringData ns) const |
| will return NULL if ns does not exist More...
|
|
RecordStore * | getRecordStore (StringData ns) const |
|
IndexAccessMethod * | getIndex (OperationContext *opCtx, const CollectionCatalogEntry *collection, IndexCatalogEntry *index) |
|
const ExtentManager * | getExtentManager () const |
|
ExtentManager * | getExtentManager () |
|
CollectionOptions | getCollectionOptions (OperationContext *opCtx, StringData ns) const |
|
CollectionOptions | getCollectionOptions (OperationContext *opCtx, RecordId nsRid) const |
|
void | createNamespaceForIndex (OperationContext *opCtx, StringData name) |
| Creates a CollectionCatalogEntry in the form of an index rather than a collection. More...
|
|
| DatabaseCatalogEntry (StringData name) |
|
virtual | ~DatabaseCatalogEntry () |
|
const std::string & | name () const |
|
|
RecordStoreV1Base * | _getIndexRecordStore () |
|
RecordStoreV1Base * | _getNamespaceRecordStore () const |
|
RecordStoreV1Base * | _getRecordStore (StringData ns) const |
|
RecordId | _addNamespaceToNamespaceCollection (OperationContext *opCtx, StringData ns, const BSONObj *options) |
|
void | _removeNamespaceFromNamespaceCollection (OperationContext *opCtx, StringData ns) |
|
Status | _renameSingleNamespace (OperationContext *opCtx, StringData fromNS, StringData toNS, bool stayTemp) |
|
void | _ensureSystemCollection (OperationContext *opCtx, StringData ns) |
|
void | _init (OperationContext *opCtx) |
|
void | _insertInCache (OperationContext *opCtx, StringData ns, RecordId rid, Entry *entry) |
| Populate the _collections cache. More...
|
|
void | _removeFromCache (RecoveryUnit *ru, StringData ns) |
| Drop cached information for specified namespace. More...
|
|
◆ CollectionMap
◆ MMAPV1DatabaseCatalogEntry()
mongo::MMAPV1DatabaseCatalogEntry::MMAPV1DatabaseCatalogEntry |
( |
OperationContext * |
opCtx, |
|
|
StringData |
name, |
|
|
StringData |
path, |
|
|
bool |
directoryperdb, |
|
|
bool |
transient, |
|
|
std::unique_ptr< ExtentManager > |
extentManager |
|
) |
| |
◆ ~MMAPV1DatabaseCatalogEntry()
mongo::MMAPV1DatabaseCatalogEntry::~MMAPV1DatabaseCatalogEntry |
( |
| ) |
|
|
virtual |
◆ _addNamespaceToNamespaceCollection()
RecordId mongo::MMAPV1DatabaseCatalogEntry::_addNamespaceToNamespaceCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns, |
|
|
const BSONObj * |
options |
|
) |
| |
|
private |
◆ _ensureSystemCollection()
void mongo::MMAPV1DatabaseCatalogEntry::_ensureSystemCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns |
|
) |
| |
|
private |
◆ _getIndexRecordStore()
◆ _getNamespaceRecordStore()
RecordStoreV1Base * mongo::MMAPV1DatabaseCatalogEntry::_getNamespaceRecordStore |
( |
| ) |
const |
|
private |
◆ _getRecordStore()
RecordStoreV1Base * mongo::MMAPV1DatabaseCatalogEntry::_getRecordStore |
( |
StringData |
ns | ) |
const |
|
private |
◆ _init()
void mongo::MMAPV1DatabaseCatalogEntry::_init |
( |
OperationContext * |
opCtx | ) |
|
|
private |
◆ _insertInCache()
void mongo::MMAPV1DatabaseCatalogEntry::_insertInCache |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns, |
|
|
RecordId |
rid, |
|
|
Entry * |
entry |
|
) |
| |
|
private |
Populate the _collections cache.
◆ _removeFromCache()
void mongo::MMAPV1DatabaseCatalogEntry::_removeFromCache |
( |
RecoveryUnit * |
ru, |
|
|
StringData |
ns |
|
) |
| |
|
private |
Drop cached information for specified namespace.
If a RecoveryUnit is specified, use it to allow rollback. When ru is null, removal is unconditional.
◆ _removeNamespaceFromNamespaceCollection()
void mongo::MMAPV1DatabaseCatalogEntry::_removeNamespaceFromNamespaceCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns |
|
) |
| |
|
private |
◆ _renameSingleNamespace()
Status mongo::MMAPV1DatabaseCatalogEntry::_renameSingleNamespace |
( |
OperationContext * |
opCtx, |
|
|
StringData |
fromNS, |
|
|
StringData |
toNS, |
|
|
bool |
stayTemp |
|
) |
| |
|
private |
◆ appendExtraStats()
void mongo::MMAPV1DatabaseCatalogEntry::appendExtraStats |
( |
OperationContext * |
opCtx, |
|
|
BSONObjBuilder * |
out, |
|
|
double |
scale |
|
) |
| const |
|
virtual |
◆ close()
virtual void mongo::MMAPV1DatabaseCatalogEntry::close |
( |
OperationContext * |
opCtx | ) |
|
|
inlinevirtual |
Must be called before destruction.
◆ createCollection()
Status mongo::MMAPV1DatabaseCatalogEntry::createCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns, |
|
|
const CollectionOptions & |
options, |
|
|
bool |
allocateDefaultSpace |
|
) |
| |
|
virtual |
◆ createNamespaceForIndex()
void mongo::MMAPV1DatabaseCatalogEntry::createNamespaceForIndex |
( |
OperationContext * |
opCtx, |
|
|
StringData |
name |
|
) |
| |
Creates a CollectionCatalogEntry in the form of an index rather than a collection.
MMAPv1 puts both indexes and collections into CCEs. A namespace named 'name' must not exist.
◆ currentFilesCompatible()
Status mongo::MMAPV1DatabaseCatalogEntry::currentFilesCompatible |
( |
OperationContext * |
opCtx | ) |
const |
|
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.
Implements mongo::DatabaseCatalogEntry.
◆ dropCollection()
Status mongo::MMAPV1DatabaseCatalogEntry::dropCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns |
|
) |
| |
|
virtual |
◆ exists()
virtual bool mongo::MMAPV1DatabaseCatalogEntry::exists |
( |
| ) |
const |
|
inlinevirtual |
◆ getCollectionCatalogEntry()
◆ getCollectionNamespaces()
void mongo::MMAPV1DatabaseCatalogEntry::getCollectionNamespaces |
( |
std::list< std::string > * |
tofill | ) |
const |
|
virtual |
◆ getCollectionOptions() [1/2]
CollectionOptions mongo::MMAPV1DatabaseCatalogEntry::getCollectionOptions |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns |
|
) |
| const |
◆ getCollectionOptions() [2/2]
CollectionOptions mongo::MMAPV1DatabaseCatalogEntry::getCollectionOptions |
( |
OperationContext * |
opCtx, |
|
|
RecordId |
nsRid |
|
) |
| const |
◆ getExtentManager() [1/2]
const ExtentManager* mongo::MMAPV1DatabaseCatalogEntry::getExtentManager |
( |
| ) |
const |
|
inline |
◆ getExtentManager() [2/2]
ExtentManager* mongo::MMAPV1DatabaseCatalogEntry::getExtentManager |
( |
| ) |
|
|
inline |
◆ getIndex()
◆ getRecordStore()
RecordStore * mongo::MMAPV1DatabaseCatalogEntry::getRecordStore |
( |
StringData |
ns | ) |
const |
|
virtual |
◆ hasUserData()
virtual bool mongo::MMAPV1DatabaseCatalogEntry::hasUserData |
( |
| ) |
const |
|
inlinevirtual |
◆ invalidateSystemCollectionRecord()
void mongo::MMAPV1DatabaseCatalogEntry::invalidateSystemCollectionRecord |
( |
OperationContext * |
opCtx, |
|
|
NamespaceString |
systemCollectionNamespace, |
|
|
RecordId |
record |
|
) |
| |
|
static |
◆ isEmpty()
virtual bool mongo::MMAPV1DatabaseCatalogEntry::isEmpty |
( |
| ) |
const |
|
inlinevirtual |
◆ isOlderThan24()
bool mongo::MMAPV1DatabaseCatalogEntry::isOlderThan24 |
( |
OperationContext * |
opCtx | ) |
const |
|
virtual |
◆ markCollationFeatureAsInUse()
void mongo::MMAPV1DatabaseCatalogEntry::markCollationFeatureAsInUse |
( |
OperationContext * |
opCtx | ) |
|
◆ markIndexSafe24AndUp()
void mongo::MMAPV1DatabaseCatalogEntry::markIndexSafe24AndUp |
( |
OperationContext * |
opCtx | ) |
|
|
virtual |
◆ renameCollection()
Status mongo::MMAPV1DatabaseCatalogEntry::renameCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
fromNS, |
|
|
StringData |
toNS, |
|
|
bool |
stayTemp |
|
) |
| |
|
virtual |
◆ sizeOnDisk()
int64_t mongo::MMAPV1DatabaseCatalogEntry::sizeOnDisk |
( |
OperationContext * |
opCtx | ) |
const |
|
virtual |
◆ NamespaceDetailsCollectionCatalogEntry
◆ _collections
◆ _extentManager
std::unique_ptr<ExtentManager> mongo::MMAPV1DatabaseCatalogEntry::_extentManager |
|
private |
◆ _namespaceIndex
◆ _path
const std::string mongo::MMAPV1DatabaseCatalogEntry::_path |
|
private |
The documentation for this class was generated from the following files: