[
https://issues.apache.org/jira/browse/FLINK-12600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
godfrey he updated FLINK-12600:
-------------------------------
Description:
This issue aims to introduce planner rules to to do deterministic rewriting on
RelNode , rules include:
1. {{FlinkLimit0RemoveRule}} that rewrites `limit 0` to empty {{Values}}
2. {{FlinkRewriteSubQueryRule}} that rewrites a {{Filter}} with condition:
`(select count(*) from T) > 0` to a {{Filter}} with condition: `exists(select *
from T)` which could be converted to SEMI {{Join}} by
{{FlinkSubQueryRemoveRule}}
3. {{ReplaceIntersectWithSemiJoinRule}} that rewrites distinct {{Intersect}} to
a distinct {{Aggregate}} on a SEMI {{Join}}.
4. {{ReplaceMinusWithAntiJoinRule}} that rewrite distinct {{Minus}} to a
distinct {{Aggregate}} on an ANTI {{Join}}.
was:
This issue aims to introduce planner rules to to do deterministic rewriting on
RelNode , rules include:
1. {{FlinkLimit0RemoveRule}} that rewrites `limit 0` to empty {{Values}}
2. {{FlinkRewriteSubQueryRule}} that rewrites a {{Filter}} with condition:
`(select count(*) from T) > 0` to a {{Filter}} with condition: `exists(select *
from T)`
3. {{ReplaceIntersectWithSemiJoinRule}} that rewrites distinct {{Intersect}} to
a distinct {{Aggregate}} on a SEMI {{Join}}.
4. {{ReplaceMinusWithAntiJoinRule}} that rewrite distinct {{Minus}} to a
distinct {{Aggregate}} on an ANTI {{Join}}.
> Introduce planner rules to do deterministic rewriting on RelNode
> -----------------------------------------------------------------
>
> Key: FLINK-12600
> URL: https://issues.apache.org/jira/browse/FLINK-12600
> Project: Flink
> Issue Type: New Feature
> Components: Table SQL / Planner
> Reporter: godfrey he
> Assignee: godfrey he
> Priority: Major
>
> This issue aims to introduce planner rules to to do deterministic rewriting
> on RelNode , rules include:
> 1. {{FlinkLimit0RemoveRule}} that rewrites `limit 0` to empty {{Values}}
> 2. {{FlinkRewriteSubQueryRule}} that rewrites a {{Filter}} with condition:
> `(select count(*) from T) > 0` to a {{Filter}} with condition: `exists(select
> * from T)` which could be converted to SEMI {{Join}} by
> {{FlinkSubQueryRemoveRule}}
> 3. {{ReplaceIntersectWithSemiJoinRule}} that rewrites distinct {{Intersect}}
> to a distinct {{Aggregate}} on a SEMI {{Join}}.
> 4. {{ReplaceMinusWithAntiJoinRule}} that rewrite distinct {{Minus}} to a
> distinct {{Aggregate}} on an ANTI {{Join}}.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)