diff options
author | Frederic Vitzikam <frederic.vitzikam@mongodb.com> | 2023-03-02 17:17:07 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-03-02 22:57:42 +0000 |
commit | 0ffa3e2081099040cbc088d3cb256cab72e2a82c (patch) | |
tree | 7e20f195a299e510282a10743f3d4eb442342610 /src/mongo/s/write_ops/bulk_write_exec.cpp | |
parent | 28724c5066e1086d0b07090698a846d1ba2be360 (diff) | |
download | mongo-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.cpp | 12 |
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) { |