summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/plan_executor_factory.h
diff options
context:
space:
mode:
authorAnton Korshunov <anton.korshunov@mongodb.com>2020-09-29 14:06:19 +0100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-10-23 20:47:32 +0000
commit46920134f2a6f4de507bbe5abbe3a3faa304bdf7 (patch)
tree3e963cdc7eedf51e3a4def31a84ffad83fb551c1 /src/mongo/db/query/plan_executor_factory.h
parent66fb8deb11d0f1f8c8a7456ac005962d58e5692e (diff)
downloadmongo-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.h12
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);
/**