Maryann Xue created CALCITE-1500:
------------------------------------
Summary: Allow materialization-applied rels to run pre-processing
programs
Key: CALCITE-1500
URL: https://issues.apache.org/jira/browse/CALCITE-1500
Project: Calcite
Issue Type: Improvement
Components: core
Affects Versions: 1.10.0
Reporter: Maryann Xue
Assignee: Maryann Xue
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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)