Add interface to EvalFilterLowering and EvalPathLowering to skip rebuild

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 6.3.0-rc0
    • 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.

            Assignee:
            Ted Tuckman
            Reporter:
            Ted Tuckman
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: