summaryrefslogtreecommitdiff
path: root/src/mongo/db/index
diff options
context:
space:
mode:
authorCharlie Swanson <cswanson310@gmail.com>2015-10-23 16:04:42 -0400
committerCharlie Swanson <cswanson310@gmail.com>2015-10-23 17:46:09 -0400
commit9284edb11f0626c77017117ef02790881586aa26 (patch)
tree69bf0c8d5120085228b70f7e4b94bdd427e5d007 /src/mongo/db/index
parentd4d8955022819016cca2d5555ddec69c12f8c9dc (diff)
downloadmongo-9284edb11f0626c77017117ef02790881586aa26.tar.gz
SERVER-20906 Add a random cursor implementation for mmap_v1 storage engine
Diffstat (limited to 'src/mongo/db/index')
-rw-r--r--src/mongo/db/index/index_access_method.cpp5
-rw-r--r--src/mongo/db/index/index_access_method.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/index/index_access_method.cpp b/src/mongo/db/index/index_access_method.cpp
index b40c2319a8a..d731f9cbfed 100644
--- a/src/mongo/db/index/index_access_method.cpp
+++ b/src/mongo/db/index/index_access_method.cpp
@@ -168,6 +168,11 @@ std::unique_ptr<SortedDataInterface::Cursor> IndexAccessMethod::newCursor(Operat
return _newInterface->newCursor(txn, isForward);
}
+std::unique_ptr<SortedDataInterface::Cursor> IndexAccessMethod::newRandomCursor(
+ OperationContext* txn) const {
+ return _newInterface->newRandomCursor(txn);
+}
+
// Remove the provided doc from the index.
Status IndexAccessMethod::remove(OperationContext* txn,
const BSONObj& obj,
diff --git a/src/mongo/db/index/index_access_method.h b/src/mongo/db/index/index_access_method.h
index 5dc88d30d80..df62c4ae937 100644
--- a/src/mongo/db/index/index_access_method.h
+++ b/src/mongo/db/index/index_access_method.h
@@ -123,6 +123,10 @@ public:
*/
std::unique_ptr<SortedDataInterface::Cursor> newCursor(OperationContext* txn,
bool isForward = true) const;
+ /**
+ * Returns a pseudo-random cursor over 'this' index.
+ */
+ std::unique_ptr<SortedDataInterface::Cursor> newRandomCursor(OperationContext* txn) const;
// ------ index level operations ------