summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/mobile
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/mobile
parentb6ed88dc8f2036ead73b6ff3806092301ae70e22 (diff)
downloadmongo-894db7006fc58346399ed2170a787a1469fcc9bf.tar.gz
SERVER-38187 Ability to create temporary RecordStore without a collection
Diffstat (limited to 'src/mongo/db/storage/mobile')
-rw-r--r--src/mongo/db/storage/mobile/mobile_kv_engine.cpp8
-rw-r--r--src/mongo/db/storage/mobile/mobile_kv_engine.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/db/storage/mobile/mobile_kv_engine.cpp b/src/mongo/db/storage/mobile/mobile_kv_engine.cpp
index 66d16c70d71..11670750a97 100644
--- a/src/mongo/db/storage/mobile/mobile_kv_engine.cpp
+++ b/src/mongo/db/storage/mobile/mobile_kv_engine.cpp
@@ -207,6 +207,14 @@ std::unique_ptr<RecordStore> MobileKVEngine::getRecordStore(OperationContext* op
return stdx::make_unique<MobileRecordStore>(opCtx, ns, _path, ident.toString(), options);
}
+std::unique_ptr<RecordStore> MobileKVEngine::makeTemporaryRecordStore(OperationContext* opCtx,
+ StringData ident) {
+ MobileRecordStore::create(opCtx, ident.toString());
+ return std::make_unique<MobileRecordStore>(
+ opCtx, "", _path, ident.toString(), CollectionOptions());
+}
+
+
Status MobileKVEngine::createSortedDataInterface(OperationContext* opCtx,
StringData ident,
const IndexDescriptor* desc) {
diff --git a/src/mongo/db/storage/mobile/mobile_kv_engine.h b/src/mongo/db/storage/mobile/mobile_kv_engine.h
index 28b63301d10..a644d6db4b0 100644
--- a/src/mongo/db/storage/mobile/mobile_kv_engine.h
+++ b/src/mongo/db/storage/mobile/mobile_kv_engine.h
@@ -58,6 +58,9 @@ public:
StringData ident,
const CollectionOptions& options) override;
+ std::unique_ptr<RecordStore> makeTemporaryRecordStore(OperationContext* opCtx,
+ StringData ident) override;
+
Status createSortedDataInterface(OperationContext* opCtx,
StringData ident,
const IndexDescriptor* desc) override;