godfrey he created FLINK-5406:
---------------------------------

             Summary: add normalization phase for predicate logical plan 
rewriting between decorrelate query phase and volcano optimization phase
                 Key: FLINK-5406
                 URL: https://issues.apache.org/jira/browse/FLINK-5406
             Project: Flink
          Issue Type: New Feature
          Components: Table API & SQL
            Reporter: godfrey he


Normalization phase is for predicate logical plan rewriting and is independent 
of cost module. The rules in normalization phase do not need to repeatedly 
applied to different logical plan which is different to volcano optimization 
phase. And the benefit of normalization phase is to reduce the running time of 
volcano planner.

`ReduceExpressionsRule` can apply various simplifying transformations on 
RexNode trees. Currently, there are two transformations:
1) Constant reduction, which evaluates constant subtrees, replacing them with a 
corresponding RexLiteral
2) Removal of redundant casts, which occurs when the argument into the cast is 
the same as the type of the resulting cast expression

the above transformations do not depend on the cost module,  so we can move the 
rules in `ReduceExpressionsRule` from DATASET_OPT_RULES/DATASTREAM_OPT_RULES to 
DataSet/DataStream Normalization Rules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to