36 #include "mongo/base/string_data.h" 37 #include "mongo/db/namespace_string.h" 38 #include "mongo/stdx/mutex.h" 39 #include "mongo/util/concurrency/mutex.h" 40 #include "mongo/util/string_map.h" 45 class OperationContext;
67 Database*
openDb(OperationContext* opCtx, StringData
ns,
bool* justCreated =
nullptr)
override;
73 void close(OperationContext* opCtx, StringData ns,
const std::string& reason)
override;
81 void closeAll(OperationContext* opCtx,
const std::string& reason)
override;
91 typedef StringMap<Database*>
DBs;
92 mutable SimpleMutex
_m;
SimpleMutex _m
Definition: database_holder_impl.h:92
Database * openDb(OperationContext *opCtx, StringData ns, bool *justCreated=nullptr) override
Retrieves a database reference if it is already opened, or opens it if it hasn't been opened/created ...
Definition: database_holder_impl.cpp:133
Collection *const const NamespaceString & ns
Definition: collection_info_cache_impl.cpp:53
std::set< std::string > _getNamesWithConflictingCasing_inlock(StringData name)
Definition: database_holder_impl.cpp:117
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
std::set< std::string > getNamesWithConflictingCasing(StringData name) override
Returns the set of existing database names that differ only in casing.
Definition: database_holder_impl.cpp:128
void closeAll(OperationContext *opCtx, const std::string &reason) override
Closes all opened databases.
Definition: database_holder_impl.cpp:229
Definition: database_holder.h:51
Represents a logical database containing Collections.
Definition: database.h:57
DBs _dbs
Definition: database_holder_impl.h:93
Registry of opened databases.
Definition: database_holder_impl.h:50
Database *const OperationContext *const const StringData name
Definition: database_impl.cpp:82
void close(OperationContext *opCtx, StringData ns, const std::string &reason) override
Closes the specified database.
Definition: database_holder_impl.cpp:201
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
DatabaseHolderImpl()=default
StringMap< Database * > DBs
Definition: database_holder_impl.h:91