Simplify explain code by making it multiplanner unaware

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Explain logic has always been tightly coupled with the multiplanner since that was the only planning strategy, now that we also have CBR this is no longer true and the codebase has turned quite complex. As part of SPM-4246 we're introducing a couple abstractions to simplify it such as the PlanExplainerData struct that holds what explainer needs. The next step would be to get PlanExplainer completely independent of the planning strategy. This possibly needs get_executor.finishPrepare() to always return a winning plan which is tacked in SERVER-117118

            Assignee:
            Unassigned
            Reporter:
            Carlos Alonso Pérez
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: