diff options
Diffstat (limited to 'src/mongo/db/exec/sbe/stages/spool.h')
-rw-r--r-- | src/mongo/db/exec/sbe/stages/spool.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/mongo/db/exec/sbe/stages/spool.h b/src/mongo/db/exec/sbe/stages/spool.h index a2dd6f81657..09a453e0e0e 100644 --- a/src/mongo/db/exec/sbe/stages/spool.h +++ b/src/mongo/db/exec/sbe/stages/spool.h @@ -56,7 +56,8 @@ public: SpoolEagerProducerStage(std::unique_ptr<PlanStage> input, SpoolId spoolId, value::SlotVector vals, - PlanNodeId planNodeId); + PlanNodeId planNodeId, + bool participateInTrialRunTracking = true); std::unique_ptr<PlanStage> clone() const final; @@ -109,7 +110,8 @@ public: SpoolId spoolId, value::SlotVector vals, std::unique_ptr<EExpression> predicate, - PlanNodeId planNodeId); + PlanNodeId planNodeId, + bool participateInTrialRunTracking = true); std::unique_ptr<PlanStage> clone() const final; @@ -165,13 +167,17 @@ private: template <bool IsStack> class SpoolConsumerStage final : public PlanStage { public: - SpoolConsumerStage(SpoolId spoolId, value::SlotVector vals, PlanNodeId planNodeId) - : PlanStage{IsStack ? "sspool"_sd : "cspool"_sd, planNodeId}, + SpoolConsumerStage(SpoolId spoolId, + value::SlotVector vals, + PlanNodeId planNodeId, + bool participateInTrialRunTracking = true) + : PlanStage{IsStack ? "sspool"_sd : "cspool"_sd, planNodeId, participateInTrialRunTracking}, _spoolId{spoolId}, _vals{std::move(vals)} {} std::unique_ptr<PlanStage> clone() const { - return std::make_unique<SpoolConsumerStage<IsStack>>(_spoolId, _vals, _commonStats.nodeId); + return std::make_unique<SpoolConsumerStage<IsStack>>( + _spoolId, _vals, _commonStats.nodeId, _participateInTrialRunTracking); } void prepare(CompileCtx& ctx) { |