summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/delete_stage.cpp
diff options
context:
space:
mode:
authorJordi Serra Torrens <jordi.serra-torrens@mongodb.com>2023-04-25 10:09:40 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-25 10:55:11 +0000
commitc6f29c10cca4b962afa76d05f656264318333cf6 (patch)
tree0b58b9c533ebc1f0254ac031d02dce67863b9b87 /src/mongo/db/exec/delete_stage.cpp
parentd52ffd2461d42540bd29ff3ef996ada28fe6776d (diff)
downloadmongo-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.cpp9
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);