summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2019-06-14 17:58:33 -0400
committerBenety Goh <benety@mongodb.com>2019-07-07 12:40:38 -0400
commit70141083f13ea9b8b103fada778883212236d2b0 (patch)
treeca6fd0a4f8432109ed87fcd7ba95f7538bba967f
parent13f4c5c5d7116cdcef9d74daf3f80c17f6716ec5 (diff)
downloadmongo-70141083f13ea9b8b103fada778883212236d2b0.tar.gz
SERVER-39705 IndexCatalogImpl::_indexKeys() accepts document to be indexed
(cherry picked from commit 4d4892bedbea98ff0bfba3f5d8443ca911877e21)
-rw-r--r--src/mongo/db/catalog/index_catalog_impl.cpp3
-rw-r--r--src/mongo/db/catalog/index_catalog_impl.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/catalog/index_catalog_impl.cpp b/src/mongo/db/catalog/index_catalog_impl.cpp
index c7e824543ac..e06cd9ea290 100644
--- a/src/mongo/db/catalog/index_catalog_impl.cpp
+++ b/src/mongo/db/catalog/index_catalog_impl.cpp
@@ -1300,6 +1300,7 @@ Status IndexCatalogImpl::_indexKeys(OperationContext* opCtx,
const std::vector<BSONObj>& keys,
const BSONObjSet& multikeyMetadataKeys,
const MultikeyPaths& multikeyPaths,
+ const BSONObj& obj,
RecordId loc,
const InsertDeleteOptions& options,
int64_t* keysInsertedOut) {
@@ -1362,6 +1363,7 @@ Status IndexCatalogImpl::_indexFilteredRecords(OperationContext* opCtx,
{keys.begin(), keys.end()},
multikeyMetadataKeys,
multikeyPaths,
+ *bsonRecord.docPtr,
bsonRecord.id,
options,
keysInsertedOut);
@@ -1419,6 +1421,7 @@ Status IndexCatalogImpl::_updateRecord(OperationContext* const opCtx,
updateTicket.added,
updateTicket.newMultikeyMetadataKeys,
updateTicket.newMultikeyPaths,
+ newDoc,
recordId,
options,
&keysInserted);
diff --git a/src/mongo/db/catalog/index_catalog_impl.h b/src/mongo/db/catalog/index_catalog_impl.h
index caa3991362f..1439832ab96 100644
--- a/src/mongo/db/catalog/index_catalog_impl.h
+++ b/src/mongo/db/catalog/index_catalog_impl.h
@@ -391,6 +391,7 @@ private:
const std::vector<BSONObj>& keys,
const BSONObjSet& multikeyMetadataKeys,
const MultikeyPaths& multikeyPaths,
+ const BSONObj& obj,
RecordId loc,
const InsertDeleteOptions& options,
int64_t* keysInsertedOut);