summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline
diff options
context:
space:
mode:
authorCharlie Swanson <charlie.swanson@mongodb.com>2019-05-22 19:01:12 -0400
committerCharlie Swanson <charlie.swanson@mongodb.com>2019-05-23 14:54:28 -0400
commit54b691fb0382495fd93e24c9195b4df1cf2e1ae8 (patch)
tree13b1cbd32c3700b99ef7d76e94603855bbba66c0 /src/mongo/db/pipeline
parent9b8814b6e7130652eca6f8fdaa9ff215b07d2ebb (diff)
downloadmongo-54b691fb0382495fd93e24c9195b4df1cf2e1ae8.tar.gz
SERVER-41275 rename $merge option replaceWithNew to replace
Diffstat (limited to 'src/mongo/db/pipeline')
-rw-r--r--src/mongo/db/pipeline/document_source_merge.cpp29
-rw-r--r--src/mongo/db/pipeline/document_source_merge_modes.idl2
-rw-r--r--src/mongo/db/pipeline/document_source_merge_test.cpp14
-rw-r--r--src/mongo/db/pipeline/document_source_out.cpp2
4 files changed, 22 insertions, 25 deletions
diff --git a/src/mongo/db/pipeline/document_source_merge.cpp b/src/mongo/db/pipeline/document_source_merge.cpp
index 196a1cdb531..3578d0117d9 100644
--- a/src/mongo/db/pipeline/document_source_merge.cpp
+++ b/src/mongo/db/pipeline/document_source_merge.cpp
@@ -63,12 +63,9 @@ using UpdateModification = write_ops::UpdateModification;
constexpr auto kStageName = DocumentSourceMerge::kStageName;
constexpr auto kDefaultWhenMatched = WhenMatched::kMerge;
constexpr auto kDefaultWhenNotMatched = WhenNotMatched::kInsert;
-constexpr auto kReplaceWithNewInsertMode =
- MergeMode{WhenMatched::kReplaceWithNew, WhenNotMatched::kInsert};
-constexpr auto kReplaceWithNewFailMode =
- MergeMode{WhenMatched::kReplaceWithNew, WhenNotMatched::kFail};
-constexpr auto kReplaceWithNewDiscardMode =
- MergeMode{WhenMatched::kReplaceWithNew, WhenNotMatched::kDiscard};
+constexpr auto kReplaceInsertMode = MergeMode{WhenMatched::kReplace, WhenNotMatched::kInsert};
+constexpr auto kReplaceFailMode = MergeMode{WhenMatched::kReplace, WhenNotMatched::kFail};
+constexpr auto kReplaceDiscardMode = MergeMode{WhenMatched::kReplace, WhenNotMatched::kDiscard};
constexpr auto kMergeInsertMode = MergeMode{WhenMatched::kMerge, WhenNotMatched::kInsert};
constexpr auto kMergeFailMode = MergeMode{WhenMatched::kMerge, WhenNotMatched::kFail};
constexpr auto kMergeDiscardMode = MergeMode{WhenMatched::kMerge, WhenNotMatched::kDiscard};
@@ -175,17 +172,17 @@ const MergeStrategyDescriptorsMap& getDescriptors() {
// initialized until the first use, which is when the program already started and all global
// variables had been initialized.
static const auto mergeStrategyDescriptors = MergeStrategyDescriptorsMap{
- // whenMatched: replaceWithNew, whenNotMatched: insert
- {kReplaceWithNewInsertMode,
- {kReplaceWithNewInsertMode,
+ // whenMatched: replace, whenNotMatched: insert
+ {kReplaceInsertMode,
+ {kReplaceInsertMode,
{ActionType::insert, ActionType::update},
makeUpdateStrategy(true, {})}},
- // whenMatched: replaceWithNew, whenNotMatched: fail
- {kReplaceWithNewFailMode,
- {kReplaceWithNewFailMode, {ActionType::update}, makeStrictUpdateStrategy(false, {})}},
- // whenMatched: replaceWithNew, whenNotMatched: discard
- {kReplaceWithNewDiscardMode,
- {kReplaceWithNewDiscardMode, {ActionType::update}, makeUpdateStrategy(false, {})}},
+ // whenMatched: replace, whenNotMatched: fail
+ {kReplaceFailMode,
+ {kReplaceFailMode, {ActionType::update}, makeStrictUpdateStrategy(false, {})}},
+ // whenMatched: replace, whenNotMatched: discard
+ {kReplaceDiscardMode,
+ {kReplaceDiscardMode, {ActionType::update}, makeUpdateStrategy(false, {})}},
// whenMatched: merge, whenNotMatched: insert
{kMergeInsertMode,
{kMergeInsertMode,
@@ -635,7 +632,7 @@ Value DocumentSourceMerge::serialize(boost::optional<ExplainOptions::Verbosity>
MergeWhenMatchedMode_serializer(_descriptor.mode.first),
MergeWhenNotMatchedMode_serializer(_descriptor.mode.second)),
(_descriptor.mode.first == WhenMatched::kFail ||
- _descriptor.mode.first == WhenMatched::kReplaceWithNew) &&
+ _descriptor.mode.first == WhenMatched::kReplace) &&
(_descriptor.mode.second == WhenNotMatched::kInsert));
DocumentSourceOutSpec spec;
spec.setTargetDb(_outputNs.db());
diff --git a/src/mongo/db/pipeline/document_source_merge_modes.idl b/src/mongo/db/pipeline/document_source_merge_modes.idl
index 94182259581..03369e55111 100644
--- a/src/mongo/db/pipeline/document_source_merge_modes.idl
+++ b/src/mongo/db/pipeline/document_source_merge_modes.idl
@@ -49,7 +49,7 @@ enums:
# descriptors map, which keys are pairs of whenMatched/whenNotMatched values, this
# 'kPipeline' element is added for internal use only.
kPipeline: "pipeline"
- kReplaceWithNew: "replaceWithNew"
+ kReplace: "replace"
MergeWhenNotMatchedMode:
description: "Possible merge mode values for $merge's 'whenNotMatched'. field"
diff --git a/src/mongo/db/pipeline/document_source_merge_test.cpp b/src/mongo/db/pipeline/document_source_merge_test.cpp
index f55857c00e5..f61afee8210 100644
--- a/src/mongo/db/pipeline/document_source_merge_test.cpp
+++ b/src/mongo/db/pipeline/document_source_merge_test.cpp
@@ -157,7 +157,7 @@ TEST_F(DocumentSourceMergeTest, FailsToParseIfMergeSpecObjectWithoutInto) {
ASSERT_THROWS_CODE(createMergeStage(spec), AssertionException, 40414);
spec = BSON("$merge" << BSON("whenMatched"
- << "replaceWithNew"));
+ << "replace"));
ASSERT_THROWS_CODE(createMergeStage(spec), AssertionException, 40414);
}
@@ -597,7 +597,7 @@ TEST_F(DocumentSourceMergeTest, CorrectlyHandlesWhenMatchedAndWhenNotMatchedMode
auto spec = BSON("$merge" << BSON("into"
<< "target_collection"
<< "whenMatched"
- << "replaceWithNew"
+ << "replace"
<< "whenNotMatched"
<< "insert"));
ASSERT(createMergeStage(spec));
@@ -605,7 +605,7 @@ TEST_F(DocumentSourceMergeTest, CorrectlyHandlesWhenMatchedAndWhenNotMatchedMode
spec = BSON("$merge" << BSON("into"
<< "target_collection"
<< "whenMatched"
- << "replaceWithNew"
+ << "replace"
<< "whenNotMatched"
<< "fail"));
ASSERT(createMergeStage(spec));
@@ -613,7 +613,7 @@ TEST_F(DocumentSourceMergeTest, CorrectlyHandlesWhenMatchedAndWhenNotMatchedMode
spec = BSON("$merge" << BSON("into"
<< "target_collection"
<< "whenMatched"
- << "replaceWithNew"
+ << "replace"
<< "whenNotMatched"
<< "discard"));
ASSERT(createMergeStage(spec));
@@ -769,7 +769,7 @@ TEST_F(DocumentSourceMergeTest, LetVariablesCanOnlyBeUsedWithPipelineMode) {
<< "let"
<< let
<< "whenMatched"
- << "replaceWithNew"
+ << "replace"
<< "whenNotMatched"
<< "insert"));
ASSERT_THROWS_CODE(createMergeStage(spec), AssertionException, 51199);
@@ -779,7 +779,7 @@ TEST_F(DocumentSourceMergeTest, LetVariablesCanOnlyBeUsedWithPipelineMode) {
<< "let"
<< let
<< "whenMatched"
- << "replaceWithNew"
+ << "replace"
<< "whenNotMatched"
<< "fail"));
ASSERT_THROWS_CODE(createMergeStage(spec), AssertionException, 51199);
@@ -789,7 +789,7 @@ TEST_F(DocumentSourceMergeTest, LetVariablesCanOnlyBeUsedWithPipelineMode) {
<< "let"
<< let
<< "whenMatched"
- << "replaceWithNew"
+ << "replace"
<< "whenNotMatched"
<< "discard"));
ASSERT_THROWS_CODE(createMergeStage(spec), AssertionException, 51199);
diff --git a/src/mongo/db/pipeline/document_source_out.cpp b/src/mongo/db/pipeline/document_source_out.cpp
index 4369e1c6a9c..d9ddf73015d 100644
--- a/src/mongo/db/pipeline/document_source_out.cpp
+++ b/src/mongo/db/pipeline/document_source_out.cpp
@@ -329,7 +329,7 @@ intrusive_ptr<DocumentSource> DocumentSourceOut::create(
case WriteModeEnum::kModeReplaceDocuments:
return DocumentSourceMerge::create(std::move(outputNs),
expCtx,
- MergeWhenMatchedModeEnum::kReplaceWithNew,
+ MergeWhenMatchedModeEnum::kReplace,
MergeWhenNotMatchedModeEnum::kInsert,
boost::none, /* no variables */
boost::none, /* no custom pipeline */