diff options
author | Charlie Swanson <charlie.swanson@mongodb.com> | 2019-05-22 19:01:12 -0400 |
---|---|---|
committer | Charlie Swanson <charlie.swanson@mongodb.com> | 2019-05-23 14:54:28 -0400 |
commit | 54b691fb0382495fd93e24c9195b4df1cf2e1ae8 (patch) | |
tree | 13b1cbd32c3700b99ef7d76e94603855bbba66c0 /src/mongo/db/pipeline | |
parent | 9b8814b6e7130652eca6f8fdaa9ff215b07d2ebb (diff) | |
download | mongo-54b691fb0382495fd93e24c9195b4df1cf2e1ae8.tar.gz |
SERVER-41275 rename $merge option replaceWithNew to replace
Diffstat (limited to 'src/mongo/db/pipeline')
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 */ |