-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
Fully Compatible
-
QE 2024-02-05, QE 2024-02-19
-
2
Ideally, when we do subplanning, we should:
- Plan subqueries by first trying to look them up in SBE plan cache and if it fails, using classic multi planner.
- Cache subqueries in SBE plan cache with PlanCachingMode::SometimesCache.
- Create a composite QuerySolution.
- Build and cache an SBE executor for the composite solution. The plan should be cached with isPinned:true.
- Run SBE executor.
To do this as written, we need to expand SBE plan cache with some meta information, to be able to tag query with appropriate indexes, using cache entry, so we don't need to multi plan each branch of sub plan.
If this proves too complex or require too much memory, we should just always multi plan each branch.
- depends on
-
SERVER-85234 Create classic_runtime_planner_for_sbe namespace with stub implementations of PlannerInterface
- Closed
- is depended on by
-
SERVER-85661 Remove featureFlagClassicRuntimePlanningForSbe from fully disabled
- Closed
- is related to
-
SERVER-86816 Do not build classic executable tree when using sub planner for SBE
- Closed