diff options
Diffstat (limited to 'src/mongo/db/storage/kv/kv_engine.h')
-rw-r--r-- | src/mongo/db/storage/kv/kv_engine.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/mongo/db/storage/kv/kv_engine.h b/src/mongo/db/storage/kv/kv_engine.h index 4f622259075..e6801dab6c7 100644 --- a/src/mongo/db/storage/kv/kv_engine.h +++ b/src/mongo/db/storage/kv/kv_engine.h @@ -39,6 +39,7 @@ #include "mongo/db/catalog/collection_options.h" #include "mongo/db/storage/kv/kv_prefix.h" #include "mongo/db/storage/record_store.h" +#include "mongo/db/storage/sorted_data_interface.h" #include "mongo/db/storage/storage_engine.h" namespace mongo { @@ -47,7 +48,6 @@ class IndexDescriptor; class JournalListener; class OperationContext; class RecoveryUnit; -class SortedDataInterface; class SnapshotManager; class KVEngine { @@ -87,9 +87,8 @@ public: return getRecordStore(opCtx, ns, ident, options); } - virtual SortedDataInterface* getSortedDataInterface(OperationContext* opCtx, - StringData ident, - const IndexDescriptor* desc) = 0; + virtual std::unique_ptr<SortedDataInterface> getSortedDataInterface( + OperationContext* opCtx, StringData ident, const IndexDescriptor* desc) = 0; /** * Get a SortedDataInterface that may share an underlying table with other @@ -100,10 +99,8 @@ public: * between indexes sharing an underlying table. A value of `KVPrefix::kNotPrefixed` * guarantees the index is the sole resident of the table. */ - virtual SortedDataInterface* getGroupedSortedDataInterface(OperationContext* opCtx, - StringData ident, - const IndexDescriptor* desc, - KVPrefix prefix) { + virtual std::unique_ptr<SortedDataInterface> getGroupedSortedDataInterface( + OperationContext* opCtx, StringData ident, const IndexDescriptor* desc, KVPrefix prefix) { invariant(prefix == KVPrefix::kNotPrefixed); return getSortedDataInterface(opCtx, ident, desc); } |