-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
When EvalFilterLowering and EvalPathLowering are called from inside PathLowering, we wind up doing two rebuilds back to back – one on exit from the callee, and one on exit from PathLowering. We need to do this in the code as it stands because SBEStageBuilders can/do call EvalFilterLowering and EvalPathLowering independently of PathLowering. Note that if a change to the ABT is made, calling rebuild is required – therefore rebuild must be called there. If it makes a performance difference we can remove those extra calls on the PathLowering path.
An alternative approach might be to make the above listed classes private and force all callers to go through PathLowering, this would require more investigation.
- related to
-
SERVER-62507 Investigate “TODO” comment in PathLowering::optimize()
-
- Closed
-