summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/storage_engine.h
diff options
context:
space:
mode:
authorLouis Williams <louis.williams@mongodb.com>2018-11-19 14:43:20 -0500
committerLouis Williams <louis.williams@mongodb.com>2018-11-20 15:54:58 -0500
commit894db7006fc58346399ed2170a787a1469fcc9bf (patch)
treeee3c65c0081a94ae9f0a6577f12f71c452078e37 /src/mongo/db/storage/storage_engine.h
parentb6ed88dc8f2036ead73b6ff3806092301ae70e22 (diff)
downloadmongo-894db7006fc58346399ed2170a787a1469fcc9bf.tar.gz
SERVER-38187 Ability to create temporary RecordStore without a collection
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.