Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-5406

add normalization phase for predicate logical plan rewriting between decorrelate query phase and volcano optimization phase

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.0
    • Component/s: Table API & SQL
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                godfreyhe godfrey he
                Reporter:
                godfreyhe godfrey he
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: