summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/storage_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/storage_engine.h')
-rw-r--r--src/mongo/db/storage/storage_engine.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/storage/storage_engine.h b/src/mongo/db/storage/storage_engine.h
index 795ee9f6397..456972b0997 100644
--- a/src/mongo/db/storage/storage_engine.h
+++ b/src/mongo/db/storage/storage_engine.h
@@ -45,6 +45,7 @@ namespace mongo {
class DatabaseCatalogEntry;
class JournalListener;
class OperationContext;
+class RecordStore;
class RecoveryUnit;
class SnapshotManager;
struct StorageGlobalParams;
@@ -287,6 +288,13 @@ public:
virtual Status repairRecordStore(OperationContext* opCtx, const std::string& ns) = 0;
/**
+ * Creates a temporary RecordStore on the storage engine. This record store should be dropped by
+ * the caller when done being used. The storage engine will drop any remaining temporary record
+ * stores on startup.
+ */
+ virtual std::unique_ptr<RecordStore> makeTemporaryRecordStore(OperationContext* opCtx) = 0;
+
+ /**
* This method will be called before there is a clean shutdown. Storage engines should
* override this method if they have clean-up to do that is different from unclean shutdown.
* MongoDB will not call into the storage subsystem after calling this function.