37 #include "mongo/stdx/mutex.h" 38 #include "mongo/util/string_map.h" 42 class JournalListener;
53 virtual std::unique_ptr<RecordStore>
getRecordStore(OperationContext* opCtx,
60 const IndexDescriptor*
desc);
64 const IndexDescriptor* desc);
93 virtual int64_t
getIdentSize(OperationContext* opCtx, StringData ident);
101 virtual bool hasIdent(OperationContext* opCtx, StringData ident)
const {
106 std::vector<std::string>
getAllIdents(OperationContext* opCtx)
const;
109 stdx::unique_lock<stdx::mutex> lk(
_mutex);
118 typedef StringMap<std::shared_ptr<void>>
DataMap;
void setJournalListener(JournalListener *jl) final
Sets a new JournalListener, which is used to alert the rest of the system about journaled write progr...
Definition: ephemeral_for_test_engine.h:108
static NoOpJournalListener instance
Definition: journal_listener.h:70
virtual bool isDurable() const
Data stored in memory is not durable.
Definition: ephemeral_for_test_engine.h:85
virtual Status createRecordStore(OperationContext *opCtx, StringData ns, StringData ident, const CollectionOptions &options)
The create and drop methods on KVEngine are not transactional.
Definition: ephemeral_for_test_engine.cpp:52
Definition: kv_engine.h:53
virtual int64_t getIdentSize(OperationContext *opCtx, StringData ident)
Definition: ephemeral_for_test_engine.cpp:102
virtual Status repairIdent(OperationContext *opCtx, StringData ident)
Definition: ephemeral_for_test_engine.h:95
virtual bool supportsDocLocking() const
This must not change over the lifetime of the engine.
Definition: ephemeral_for_test_engine.h:74
virtual RecoveryUnit * newRecoveryUnit()
Definition: ephemeral_for_test_engine.cpp:44
Collection *const const NamespaceString & ns
Definition: collection_info_cache_impl.cpp:53
Definition: ephemeral_for_test_engine.h:44
Definition: collection_options.h:57
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
virtual Status beginBackup(OperationContext *opCtx)
See StorageEngine::beginBackup for details.
Definition: ephemeral_for_test_engine.h:66
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool const BSONObj &idIndex Status
Definition: database_impl.cpp:956
virtual Status createSortedDataInterface(OperationContext *opCtx, StringData ident, const IndexDescriptor *desc)
Definition: ephemeral_for_test_engine.cpp:78
virtual SortedDataInterface * getSortedDataInterface(OperationContext *opCtx, StringData ident, const IndexDescriptor *desc)
Definition: ephemeral_for_test_engine.cpp:88
stdx::mutex _mutex
Definition: ephemeral_for_test_engine.h:120
DataMap _dataMap
Definition: ephemeral_for_test_engine.h:121
StringMap< std::shared_ptr< void > > DataMap
Definition: ephemeral_for_test_engine.h:118
virtual bool supportsDirectoryPerDB() const
Returns true if storage engine supports –directoryperdb.
Definition: ephemeral_for_test_engine.h:78
This class allows for the storageEngine to alert the rest of the system about journaled write progres...
Definition: journal_listener.h:48
virtual std::unique_ptr< RecordStore > getRecordStore(OperationContext *opCtx, StringData ns, StringData ident, const CollectionOptions &options)
Having multiple out for the same ns is a rules violation; Calling on a non-created ident is invalid a...
Definition: ephemeral_for_test_engine.cpp:63
virtual void endBackup(OperationContext *opCtx)
See StorageEngine::endBackup for details.
Definition: ephemeral_for_test_engine.h:70
A RecoveryUnit is responsible for ensuring that data is persisted.
Definition: recovery_unit.h:51
JournalListener * _journalListener
Definition: ephemeral_for_test_engine.h:124
virtual Timestamp getAllCommittedTimestamp() const override
See StorageEngine::getAllCommittedTimestamp
Definition: ephemeral_for_test_engine.h:113
virtual bool hasIdent(OperationContext *opCtx, StringData ident) const
Definition: ephemeral_for_test_engine.h:101
OperationContext Database StringData BSONObj options
Definition: database_impl.cpp:949
virtual void cleanShutdown()
This method will be called before there is a clean shutdown.
Definition: ephemeral_for_test_engine.h:99
std::vector< std::string > getAllIdents(OperationContext *opCtx) const
Definition: ephemeral_for_test_engine.cpp:106
virtual Status dropIdent(OperationContext *opCtx, StringData ident)
Definition: ephemeral_for_test_engine.cpp:96
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
OperationContext const IndexDescriptor * desc
Definition: index_catalog_impl.cpp:97
virtual bool isEphemeral() const
Returns true if the KVEngine is ephemeral – that is, it is NOT persistent and all data is lost after...
Definition: ephemeral_for_test_engine.h:89
This interface is a work in progress.
Definition: sorted_data_interface.h:64