Maryann Xue created CALCITE-1499: ------------------------------------ Summary: Add an option to exclude VolcanoPlanner's "originalRoot" from planning process Key: CALCITE-1499 URL: https://issues.apache.org/jira/browse/CALCITE-1499 Project: Calcite Issue Type: Improvement Components: core Affects Versions: 1.10.0 Reporter: Maryann Xue Assignee: Maryann Xue
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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)