diff options
author | Anton Korshunov <anton.korshunov@mongodb.com> | 2020-09-29 14:06:19 +0100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-10-23 20:47:32 +0000 |
commit | 46920134f2a6f4de507bbe5abbe3a3faa304bdf7 (patch) | |
tree | 3e963cdc7eedf51e3a4def31a84ffad83fb551c1 /src/mongo/db/query/plan_executor_factory.h | |
parent | 66fb8deb11d0f1f8c8a7456ac005962d58e5692e (diff) | |
download | mongo-46920134f2a6f4de507bbe5abbe3a3faa304bdf7.tar.gz |
SERVER-50743 Support generation of "planSummary" stats in SBE
Diffstat (limited to 'src/mongo/db/query/plan_executor_factory.h')
-rw-r--r-- | src/mongo/db/query/plan_executor_factory.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mongo/db/query/plan_executor_factory.h b/src/mongo/db/query/plan_executor_factory.h index f78c8f36fad..0baf1342628 100644 --- a/src/mongo/db/query/plan_executor_factory.h +++ b/src/mongo/db/query/plan_executor_factory.h @@ -37,6 +37,8 @@ #include "mongo/db/query/plan_executor.h" #include "mongo/db/query/plan_yield_policy_sbe.h" #include "mongo/db/query/query_solution.h" +#include "mongo/db/query/sbe_plan_ranker.h" +#include "mongo/db/query/sbe_runtime_planner.h" #include "mongo/db/query/sbe_stage_builder.h" namespace mongo::plan_executor_factory { @@ -104,23 +106,23 @@ StatusWith<std::unique_ptr<PlanExecutor, PlanExecutor::Deleter>> make( StatusWith<std::unique_ptr<PlanExecutor, PlanExecutor::Deleter>> make( OperationContext* opCtx, std::unique_ptr<CanonicalQuery> cq, + std::unique_ptr<QuerySolution> solution, std::pair<std::unique_ptr<sbe::PlanStage>, stage_builder::PlanStageData> root, const CollectionPtr* collection, NamespaceString nss, std::unique_ptr<PlanYieldPolicySBE> yieldPolicy); /** - * Similar to the factory function above in that it also constructs an executor for the SBE plan - * 'root'. This overload allows callers to pass a pre-existing queue ('stash') of BSON objects or - * record ids to return to the caller. + * Similar to the factory function above in that it also constructs an executor for the winning SBE + * plan passed in 'candidates' vector. This overload allows callers to pass a pre-existing queue + * ('stash') of BSON objects or record ids to return to the caller. */ StatusWith<std::unique_ptr<PlanExecutor, PlanExecutor::Deleter>> make( OperationContext* opCtx, std::unique_ptr<CanonicalQuery> cq, - std::pair<std::unique_ptr<sbe::PlanStage>, stage_builder::PlanStageData> root, + sbe::CandidatePlans candidates, const CollectionPtr* collection, NamespaceString nss, - std::queue<std::pair<BSONObj, boost::optional<RecordId>>> stash, std::unique_ptr<PlanYieldPolicySBE> yieldPolicy); /** |