#include <kv_catalog.h>
|
| | KVCatalog (RecordStore *rs, bool directoryPerDb, bool directoryForIndexes) |
| |
| | ~KVCatalog () |
| |
| void | init (OperationContext *opCtx) |
| |
| void | getAllCollections (std::vector< std::string > *out) const |
| |
| Status | newCollection (OperationContext *opCtx, StringData ns, const CollectionOptions &options, KVPrefix prefix) |
| |
| std::string | getCollectionIdent (StringData ns) const |
| |
| std::string | getIndexIdent (OperationContext *opCtx, StringData ns, StringData idName) const |
| |
| BSONCollectionCatalogEntry::MetaData | getMetaData (OperationContext *opCtx, StringData ns) const |
| |
| void | putMetaData (OperationContext *opCtx, StringData ns, BSONCollectionCatalogEntry::MetaData &md) |
| |
| Status | renameCollection (OperationContext *opCtx, StringData fromNS, StringData toNS, bool stayTemp) |
| |
| Status | dropCollection (OperationContext *opCtx, StringData ns) |
| |
| std::vector< std::string > | getAllIdentsForDB (StringData db) const |
| |
| std::vector< std::string > | getAllIdents (OperationContext *opCtx) const |
| |
| bool | isUserDataIdent (StringData ident) const |
| |
| FeatureTracker * | getFeatureTracker () const |
| |
| RecordStore * | getRecordStore () |
| |
◆ NSToIdentMap
◆ KVCatalog()
| mongo::KVCatalog::KVCatalog |
( |
RecordStore * |
rs, |
|
|
bool |
directoryPerDb, |
|
|
bool |
directoryForIndexes |
|
) |
| |
- Parameters
-
| rs | - does NOT take ownership. The RecordStore must be thread-safe, in particular with concurrent calls to RecordStore::find, updateRecord, insertRecord, deleteRecord and dataFor. The KVCatalog does not utilize Cursors and those methods may omit further protection. |
◆ ~KVCatalog()
| mongo::KVCatalog::~KVCatalog |
( |
| ) |
|
◆ _findEntry()
| BSONObj mongo::KVCatalog::_findEntry |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns, |
|
|
RecordId * |
out = NULL |
|
) |
| const |
|
private |
◆ _hasEntryCollidingWithRand()
| bool mongo::KVCatalog::_hasEntryCollidingWithRand |
( |
| ) |
const |
|
private |
◆ _newRand()
| std::string mongo::KVCatalog::_newRand |
( |
| ) |
|
|
staticprivate |
◆ _newUniqueIdent()
| std::string mongo::KVCatalog::_newUniqueIdent |
( |
StringData |
ns, |
|
|
const char * |
kind |
|
) |
| |
|
private |
Generates a new unique identifier for a new "thing".
- Parameters
-
| ns | - the containing ns |
| kind | - what this "thing" is, likely collection or index |
◆ dropCollection()
| Status mongo::KVCatalog::dropCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns |
|
) |
| |
◆ getAllCollections()
| void mongo::KVCatalog::getAllCollections |
( |
std::vector< std::string > * |
out | ) |
const |
◆ getAllIdents()
| std::vector< std::string > mongo::KVCatalog::getAllIdents |
( |
OperationContext * |
opCtx | ) |
const |
◆ getAllIdentsForDB()
| std::vector< std::string > mongo::KVCatalog::getAllIdentsForDB |
( |
StringData |
db | ) |
const |
◆ getCollectionIdent()
| std::string mongo::KVCatalog::getCollectionIdent |
( |
StringData |
ns | ) |
const |
◆ getFeatureTracker()
◆ getIndexIdent()
| std::string mongo::KVCatalog::getIndexIdent |
( |
OperationContext * |
opCtx, |
|
|
StringData |
ns, |
|
|
StringData |
idName |
|
) |
| const |
◆ getMetaData()
◆ getRecordStore()
◆ init()
| void mongo::KVCatalog::init |
( |
OperationContext * |
opCtx | ) |
|
◆ isUserDataIdent()
| bool mongo::KVCatalog::isUserDataIdent |
( |
StringData |
ident | ) |
const |
◆ newCollection()
- Returns
- error or ident for instance
◆ putMetaData()
◆ renameCollection()
| Status mongo::KVCatalog::renameCollection |
( |
OperationContext * |
opCtx, |
|
|
StringData |
fromNS, |
|
|
StringData |
toNS, |
|
|
bool |
stayTemp |
|
) |
| |
◆ _directoryForIndexes
| const bool mongo::KVCatalog::_directoryForIndexes |
|
private |
◆ _directoryPerDb
| const bool mongo::KVCatalog::_directoryPerDb |
|
private |
◆ _featureTracker
◆ _idents
◆ _identsLock
| stdx::mutex mongo::KVCatalog::_identsLock |
|
mutableprivate |
◆ _next
| AtomicUInt64 mongo::KVCatalog::_next |
|
private |
◆ _rand
| std::string mongo::KVCatalog::_rand |
|
private |
◆ _rs
The documentation for this class was generated from the following files:
- /home/louis/git/mongodbsource.github.io/src/src/mongo/db/storage/kv/kv_catalog.h
- /home/louis/git/mongodbsource.github.io/src/src/mongo/db/storage/kv/kv_catalog.cpp