diff options
Diffstat (limited to 'src/mongo/db/index/index_access_method.h')
-rw-r--r-- | src/mongo/db/index/index_access_method.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mongo/db/index/index_access_method.h b/src/mongo/db/index/index_access_method.h index 013a6663c3a..b5adc80e051 100644 --- a/src/mongo/db/index/index_access_method.h +++ b/src/mongo/db/index/index_access_method.h @@ -160,6 +160,10 @@ public: int64_t* numInserted, int64_t* numDeleted) = 0; + virtual std::unique_ptr<SortedDataBuilderInterface> makeBulkBuilder(OperationContext* opCtx, + bool dupsAllowed) = 0; + + /** * Returns an unpositioned cursor over 'this' index. */ @@ -242,6 +246,12 @@ public: const RecordId& loc, const InsertDeleteOptions& options) = 0; + /** + * Inserts the keyString directly into the sorter. No additional logic (related to multikey + * paths, etc.) is performed. + */ + virtual void addToSorter(const KeyString::Value& keyString) = 0; + virtual const MultikeyPaths& getMultikeyPaths() const = 0; virtual bool isMultikey() const = 0; @@ -508,6 +518,9 @@ public: bool isForward) const final; std::unique_ptr<SortedDataInterface::Cursor> newCursor(OperationContext* opCtx) const final; + std::unique_ptr<SortedDataBuilderInterface> makeBulkBuilder(OperationContext* opCtx, + bool dupsAllowed) final; + Status initializeAsEmpty(OperationContext* opCtx) final; void validate(OperationContext* opCtx, |