summaryrefslogtreecommitdiff
path: root/src/mongo/db/update
diff options
context:
space:
mode:
authorBilly Donahue <billy.donahue@mongodb.com>2022-06-30 20:13:00 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-07-06 15:17:27 +0000
commit501b2dc980abcc8090cff1998141af30b42d8dd1 (patch)
tree804539df912dd3857cea6116851df468190877b3 /src/mongo/db/update
parent3cc20216a850af1d4bf63956740d73e8fc3779df (diff)
downloadmongo-501b2dc980abcc8090cff1998141af30b42d8dd1.tar.gz
SERVER-67709 rename visit_helper
Diffstat (limited to 'src/mongo/db/update')
-rw-r--r--src/mongo/db/update/document_diff_applier.cpp10
-rw-r--r--src/mongo/db/update/document_diff_serialization.cpp35
-rw-r--r--src/mongo/db/update/document_diff_serialization.h2
-rw-r--r--src/mongo/db/update/update_driver.cpp2
4 files changed, 23 insertions, 26 deletions
diff --git a/src/mongo/db/update/document_diff_applier.cpp b/src/mongo/db/update/document_diff_applier.cpp
index ec592ef3363..e9130b670f9 100644
--- a/src/mongo/db/update/document_diff_applier.cpp
+++ b/src/mongo/db/update/document_diff_applier.cpp
@@ -34,8 +34,8 @@
#include "mongo/db/update_index_data.h"
#include "mongo/stdx/variant.h"
+#include "mongo/util/overloaded_visitor.h"
#include "mongo/util/string_map.h"
-#include "mongo/util/visit_helper.h"
namespace mongo::doc_diff {
namespace {
@@ -250,7 +250,7 @@ int32_t computeDamageOnObject(const BSONObj& preImageRoot,
}
stdx::visit(
- visit_helper::Overloaded{
+ OverloadedVisitor{
[&](Delete) {
appendDamage(damages, 0, 0, targetOffset, elt.size());
diffSize -= elt.size();
@@ -332,7 +332,7 @@ int32_t computeDamageForArrayIndex(const BSONObj& preImageRoot,
bool mustCheckExistenceForInsertOperations) {
int32_t diffSize = 0;
stdx::visit(
- visit_helper::Overloaded{
+ OverloadedVisitor{
[&](const BSONElement& update) {
invariant(!update.eoo());
auto preValuePos = arrayPreImage.end()->rawdata();
@@ -520,7 +520,7 @@ public:
FieldRef::FieldRefTempAppend tempAppend(*path, elt.fieldNameStringData());
stdx::visit(
- visit_helper::Overloaded{
+ OverloadedVisitor{
[this, &path](Delete) {
// Do not append anything.
updateIndexesAffected(path);
@@ -615,7 +615,7 @@ private:
const ArrayDiffReader::ArrayModification& modification,
BSONArrayBuilder* builder) {
stdx::visit(
- visit_helper::Overloaded{
+ OverloadedVisitor{
[this, &path, builder](const BSONElement& update) {
invariant(!update.eoo());
builder->append(update);
diff --git a/src/mongo/db/update/document_diff_serialization.cpp b/src/mongo/db/update/document_diff_serialization.cpp
index 0f5533e1d06..ccda45d8443 100644
--- a/src/mongo/db/update/document_diff_serialization.cpp
+++ b/src/mongo/db/update/document_diff_serialization.cpp
@@ -121,20 +121,19 @@ void appendElementToBuilder(stdx::variant<mutablebson::Element, BSONElement> ele
StringData fieldName,
BSONObjBuilder* builder) {
stdx::visit(
- visit_helper::Overloaded{
- [&](const mutablebson::Element& element) {
- if (element.hasValue()) {
- builder->appendAs(element.getValue(), fieldName);
- } else if (element.getType() == BSONType::Object) {
- BSONObjBuilder subBuilder(builder->subobjStart(fieldName));
- element.writeChildrenTo(&subBuilder);
- } else {
- invariant(element.getType() == BSONType::Array);
- BSONArrayBuilder subBuilder(builder->subarrayStart(fieldName));
- element.writeArrayTo(&subBuilder);
- }
- },
- [&](BSONElement element) { builder->appendAs(element, fieldName); }},
+ OverloadedVisitor{[&](const mutablebson::Element& element) {
+ if (element.hasValue()) {
+ builder->appendAs(element.getValue(), fieldName);
+ } else if (element.getType() == BSONType::Object) {
+ BSONObjBuilder subBuilder(builder->subobjStart(fieldName));
+ element.writeChildrenTo(&subBuilder);
+ } else {
+ invariant(element.getType() == BSONType::Array);
+ BSONArrayBuilder subBuilder(builder->subarrayStart(fieldName));
+ element.writeArrayTo(&subBuilder);
+ }
+ },
+ [&](BSONElement element) { builder->appendAs(element, fieldName); }},
elem);
}
@@ -486,11 +485,9 @@ boost::optional<std::pair<size_t, ArrayDiffReader::ArrayModification>> ArrayDiff
str::stream() << "expected sub diff at index " << idx << " but got " << next,
next.type() == BSONType::Object);
- auto modification =
- stdx::visit(visit_helper::Overloaded{[](const auto& reader) -> ArrayModification {
- return {reader};
- }},
- getReader(next.embeddedObject()));
+ auto modification = stdx::visit(
+ OverloadedVisitor{[](const auto& reader) -> ArrayModification { return {reader}; }},
+ getReader(next.embeddedObject()));
return {{idx, modification}};
} else {
uasserted(4770502,
diff --git a/src/mongo/db/update/document_diff_serialization.h b/src/mongo/db/update/document_diff_serialization.h
index 9817088495f..907638f413d 100644
--- a/src/mongo/db/update/document_diff_serialization.h
+++ b/src/mongo/db/update/document_diff_serialization.h
@@ -35,8 +35,8 @@
#include "mongo/bson/mutable/document.h"
#include "mongo/stdx/variant.h"
#include "mongo/util/itoa.h"
+#include "mongo/util/overloaded_visitor.h"
#include "mongo/util/string_map.h"
-#include "mongo/util/visit_helper.h"
// This file contains classes for serializing document diffs to a format that can be stored in the
// oplog. Any code/machinery which manipulates document diffs should do so through these classes.
diff --git a/src/mongo/db/update/update_driver.cpp b/src/mongo/db/update/update_driver.cpp
index dcb164f0ace..9014ea37ce7 100644
--- a/src/mongo/db/update/update_driver.cpp
+++ b/src/mongo/db/update/update_driver.cpp
@@ -49,8 +49,8 @@
#include "mongo/db/update/update_oplog_entry_version.h"
#include "mongo/stdx/variant.h"
#include "mongo/util/embedded_builder.h"
+#include "mongo/util/overloaded_visitor.h"
#include "mongo/util/str.h"
-#include "mongo/util/visit_helper.h"
namespace mongo {