[SERVER-48477] Clean up PlanExecutor interface for SBE Created: 28/May/20 Updated: 29/Oct/23 Resolved: 31/Aug/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 4.7.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | David Storch | Assignee: | David Storch |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Sprint: | Query 2020-08-24, Query 2020-09-07 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||
| Description |
|
With the introduction of the slot-based execution (SBE) engine, the server will support two completely unrelated query execution engines. Luckily, PlanExecutor, the type which represents a query execution plan, was already an interface. However, some of the interface methods involved details of the pre-existing execution engine. We should narrow the interface so that it only contains methods which make sense for both the slot-based engine and the "classic" engine. For example, PlanExecutor::getRootStage() returns a pointer to a "classic" PlanStage, and therefore does not make sense in the context of SBE. |
| Comments |
| Comment by Githook User [ 31/Aug/20 ] |
|
Author: {'name': 'David Storch', 'email': 'david.storch@mongodb.com', 'username': 'dstorch'}Message: This allows classic PlanStages to be removed from the |
| Comment by David Storch [ 16/Jul/20 ] |
|
The remaining work here is waiting until |
| Comment by Githook User [ 09/Jul/20 ] |
|
Author: {'name': 'David Storch', 'email': 'david.storch@mongodb.com', 'username': 'dstorch'}Message: After this change, the interface is sensible for both the classic |
| Comment by Githook User [ 09/Jul/20 ] |
|
Author: {'name': 'David Storch', 'email': 'david.storch@mongodb.com', 'username': 'dstorch'}Message: |