[ 
https://issues.apache.org/jira/browse/FLINK-11822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-11822:
-----------------------------------
    Labels: pull-request-available  (was: )

> Introduce Flink metadata handlers
> ---------------------------------
>
>                 Key: FLINK-11822
>                 URL: https://issues.apache.org/jira/browse/FLINK-11822
>             Project: Flink
>          Issue Type: New Feature
>          Components: API / Table SQL
>            Reporter: godfrey he
>            Assignee: godfrey he
>            Priority: Major
>              Labels: pull-request-available
>
> Calcite has defined various metadata handlers(e.g. {{RowCoun}}, 
> {{Selectivity}} and provided default implementation(e.g. {{RelMdRowCount}}, 
> {{RelMdSelectivity}}). However, the default implementation can't completely 
> meet our requirements, e.g. some of its logic is incompleteļ¼Œand some RelNodes 
>  are not considered.
> There are two options to meet our requirements:
> option 1. Extends from default implementation, overrides method to improve 
> its logic, add new methods for new {{RelNode}}. The advantage of this option 
> is we just need to focus on the additions and modifications. However, its 
> shortcomings are also obvious: we have no control over the code of 
> non-override methods in default implementation classes especially when 
> upgrading the Calcite version.
> option 2. Extends from metadata handler interfaces, reimplement all the 
> logic. Its shortcomings are very obvious, however we can control all the code 
> logic that's what we want.
> so we choose option 2!
> In this jira, only basic metadata handles will be introduced, including:
> {{FlinkRelMdPercentageOriginalRow}},
> {{FlinkRelMdNonCumulativeCost}},
> {{FlinkRelMdCumulativeCost}},
> {{FlinkRelMdRowCount}},
> {{FlinkRelMdSize}},
> {{FlinkRelMdSelectivity}},
> {{FlinkRelMdDistinctRowCoun}},
> {{FlinkRelMdPopulationSize}},
> {{FlinkRelMdColumnUniqueness}},
> {{FlinkRelMdUniqueKeys}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to