godfrey he created FLINK-12487: ---------------------------------- Summary: Introduce planner rules to rewrite expression and merge calc Key: FLINK-12487 URL: https://issues.apache.org/jira/browse/FLINK-12487 Project: Flink Issue Type: New Feature Components: Table SQL / Planner Reporter: godfrey he Assignee: godfrey he
This issue aims to introduce planner rules to rewrite expression and merge calc, rules include: 1. {{ConvertToNotInOrInRule}}, that converts a cascade of predicates to [[IN]] or [[NOT_IN]], e.g. convert predicate: {{(x = 1 OR x = 2 OR x = 3 OR x = 4) AND y = 5}} to predicate: {{x IN (1, 2, 3, 4) AND y = 5}} convert predicate: {{(x <> 1 AND x <> 2 AND x <> 3 AND x <> 4) AND y = 5}} to predicate: {{x NOT IN (1, 2, 3, 4) AND y = 5}} 2. {{RewriteCoalesceRule}}, that rewrite {{Coalesce}} to {{Case When}} 3. {{FlinkCalcMergeRule}}, that is copied from Calcite {{CalcMergeRule}}, and simplifies the merged program -- This message was sent by Atlassian JIRA (v7.6.3#76005)