#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