diff options
author | Jordi Serra Torrens <jordi.serra-torrens@mongodb.com> | 2023-04-25 10:09:40 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-04-25 10:55:11 +0000 |
commit | c6f29c10cca4b962afa76d05f656264318333cf6 (patch) | |
tree | 0b58b9c533ebc1f0254ac031d02dce67863b9b87 /src/mongo/db/exec/delete_stage.cpp | |
parent | d52ffd2461d42540bd29ff3ef996ada28fe6776d (diff) | |
download | mongo-c6f29c10cca4b962afa76d05f656264318333cf6.tar.gz |
SERVER-75580 Thread-through `ScopedCollectionOrViewAcquisition` on the internal delete code paths
Diffstat (limited to 'src/mongo/db/exec/delete_stage.cpp')
-rw-r--r-- | src/mongo/db/exec/delete_stage.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/db/exec/delete_stage.cpp b/src/mongo/db/exec/delete_stage.cpp index 534e5b59a0c..d8e48013d99 100644 --- a/src/mongo/db/exec/delete_stage.cpp +++ b/src/mongo/db/exec/delete_stage.cpp @@ -45,6 +45,7 @@ #include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/s/collection_sharding_state.h" #include "mongo/db/service_context.h" +#include "mongo/db/shard_role.h" #include "mongo/logv2/log.h" #include "mongo/util/scopeguard.h" @@ -75,7 +76,7 @@ bool shouldRestartDeleteIfNoLongerMatches(const DeleteStageParams* params) { DeleteStage::DeleteStage(ExpressionContext* expCtx, std::unique_ptr<DeleteStageParams> params, WorkingSet* ws, - const CollectionPtr& collection, + const ScopedCollectionAcquisition& collection, PlanStage* child) : DeleteStage(kStageType.rawData(), expCtx, std::move(params), ws, collection, child) {} @@ -83,12 +84,12 @@ DeleteStage::DeleteStage(const char* stageType, ExpressionContext* expCtx, std::unique_ptr<DeleteStageParams> params, WorkingSet* ws, - const CollectionPtr& collection, + const ScopedCollectionAcquisition& collection, PlanStage* child) - : RequiresMutableCollectionStage(stageType, expCtx, collection), + : RequiresMutableCollectionStage(stageType, expCtx, collection.getCollectionPtr()), _params(std::move(params)), _ws(ws), - _preWriteFilter(opCtx(), collection->ns()), + _preWriteFilter(opCtx(), collection.nss()), _idRetrying(WorkingSet::INVALID_ID), _idReturning(WorkingSet::INVALID_ID) { _children.emplace_back(child); |