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

Decouple materialization and lattice substitution from VolcanoPlanner

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.10.0
    • Fix Version/s: 1.12.0
    • Component/s: core
    • Labels:
      None

      Description

      VolcanoPlanner now takes the "originalRoot" as the input for materialized-view substitution, so the programs used in Prepare.optimize() will not be applied to these substituted rels. For example, a correlated subquery will be de-correlated but its equivalents with materialization substitutions will not be de-correlated. So it would be nice to have a way for the substituted rels to run specific programs too before starting volcano planning.
      The easiest solution might be using the new "root" for materialization substitution instead, but it would be based on the assumption that those "pre-processing" programs are simple ones like de-correlation and field-trimming. In order to allow a more general pre-processing program set, one that could have different optimization output for the original rel and for the materialization substituted rels, we'd better have an interface or some approach to run pre-processing programs for rels after materialization substitution.

        Attachments

        1. CALCITE-1500-fix2.patch
          10 kB
          Maryann Xue
        2. CALCITE-1500-fix.patch
          9 kB
          Maryann Xue

          Activity

            People

            • Assignee:
              maryannxue Maryann Xue
              Reporter:
              maryannxue Maryann Xue
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: