summaryrefslogtreecommitdiff
path: root/src/mongo/s/write_ops/bulk_write_exec.cpp
diff options
context:
space:
mode:
authorFrederic Vitzikam <frederic.vitzikam@mongodb.com>2023-03-02 17:17:07 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-03-02 22:57:42 +0000
commit0ffa3e2081099040cbc088d3cb256cab72e2a82c (patch)
tree7e20f195a299e510282a10743f3d4eb442342610 /src/mongo/s/write_ops/bulk_write_exec.cpp
parent28724c5066e1086d0b07090698a846d1ba2be360 (diff)
downloadmongo-0ffa3e2081099040cbc088d3cb256cab72e2a82c.tar.gz
SERVER-74155 Make working with array<variant<BulkWriteInsertOp, BulkWriteUpdateOp, BulkWriteDeleteOp>> easier
Diffstat (limited to 'src/mongo/s/write_ops/bulk_write_exec.cpp')
-rw-r--r--src/mongo/s/write_ops/bulk_write_exec.cpp12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/mongo/s/write_ops/bulk_write_exec.cpp b/src/mongo/s/write_ops/bulk_write_exec.cpp
index 73e6d6fa0d3..5c606f06a38 100644
--- a/src/mongo/s/write_ops/bulk_write_exec.cpp
+++ b/src/mongo/s/write_ops/bulk_write_exec.cpp
@@ -177,16 +177,8 @@ StatusWith<bool> BulkWriteOp::target(const std::vector<std::unique_ptr<NSTargete
// getTargeterFn:
[&](const WriteOp& writeOp) -> const NSTargeter& {
const auto opIdx = writeOp.getWriteItem().getItemIndex();
- // TODO(SERVER-74155): Support bulkWrite insert, update and
- // delete in a cleaner way.
- const auto nsIdx = stdx::visit(
- OverloadedVisitor{
- [](const mongo::BulkWriteInsertOp& value) { return value.getInsert(); },
- [](const mongo::BulkWriteUpdateOp& value) { return value.getUpdate(); },
- [](const mongo::BulkWriteDeleteOp& value) { return value.getDeleteCommand(); },
- },
- _clientRequest.getOps()[opIdx]);
- return *targeters[nsIdx];
+ const auto& bulkWriteOp = BulkWriteCRUDOp(_clientRequest.getOps()[opIdx]);
+ return *targeters[bulkWriteOp.getNsInfoIdx()];
},
// getWriteSizeFn:
[&](const WriteOp& writeOp) {