[SERVER-85234] Create classic_runtime_planner_for_sbe namespace with stub implementations of PlannerInterface Created: 16/Jan/24  Updated: 23/Jan/24  Resolved: 23/Jan/24

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.3.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Ivan Fefer Assignee: Ivan Fefer
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-83343 Create feature flag for Classic multi... Closed
is depended on by SERVER-85241 Implement classic_runtime_planner_for... In Code Review
is depended on by SERVER-85235 Implement classic_runtime_planner_for... Closed
is depended on by SERVER-85237 Implement classic_runtime_planner_for... Closed
is depended on by SERVER-85247 Create unit tests for classic_runtime... Closed
Assigned Teams:
Query Execution
Backwards Compatibility: Fully Compatible
Sprint: QE 2024-01-22, QE 2024-02-05
Participants:
Story Points: 1

 Description   

The project will be mostly contained inside classic_runtime_planner_for_sbe namespace.

In it, we should have something like 

struct PlannerData {
    std::unique_ptr<CanonicalQuery> cq;
    std::unique_ptr<PlanYieldPolicySBE> sbeYieldPolicy;
    std::unique_ptr<WorkingSet> workingSet;
    const MultipleCollectionAccessor& collections;
    const QueryPlannerParams& plannerParams;
};
 
 
class PlannerInterface {
public:
    virtual ~PlannerInterface() = default;
    virtual std::unique_ptr<PlanExecutor, PlanExecutor::Deleter> plan() = 0;
};

And PlannerInterface implementations for SingleSolutionPlanner, MultiPlanner, SubPlanner and CachedPlanner.

In this ticket, this implementations can be stubs, that will be expanded in the future tickets.

The corresponding classic_runtime_planner_for_sbe::*Planner should be used in mongo::getExecutorFind function by implementing a new PrepareExecutionHelper

 



 Comments   
Comment by Githook User [ 23/Jan/24 ]

Author:

{'name': 'Ivan Fefer', 'email': 'ivan.fefer@mongodb.com', 'username': 'Fefer-Ivan'}

Message: SERVER-85234 Create classic_runtime_planner_for_sbe namespace with stub implementations of PlannerInterface (#18136)

GitOrigin-RevId: 0a8e6104189b64de60f5459c9819f7f72cf5077d
Branch: master
https://github.com/mongodb/mongo/commit/cfffb03560cf2382d918cda112d9d4d7e44799fc

Generated at Thu Feb 08 06:57:13 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.