Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-1499

Exclude VolcanoPlanner's "originalRoot" from default planning process

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.10.0
    • None
    • core
    • None

    Description

      The Calcite compilation framework runs a series of Programs for query planning. The default programs consist of some pre-processing HepPrograms, e.g., de-correlation, field-trimming, etc., the volcano planning program, and some post-processing HepPrograms. In Prepare.optimize(), planner.setRoot() is called before running the programs. As a result, the original rel from sql-to-rel conversion becomes the "originalRoot" in the VolcanoPlanner, and the new rel from the pre-processing programs becomes the new "root". In some cases, we would only want to run volcano planning on the new root based on the assumption that the new root is the desired form after pre-processing. And if we have an option to turn off the planning of the original root, the planning space can be significantly reduced.

      Attachments

        Issue Links

          Activity

            People

              maryannxue Wei Xue
              maryannxue Wei Xue
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: