flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jark Wu (Jira)" <j...@apache.org>
Subject [jira] [Created] (FLINK-14540) Rethink of TableSource#explainSource()
Date Mon, 28 Oct 2019 06:30:00 GMT
Jark Wu created FLINK-14540:

             Summary: Rethink of TableSource#explainSource()
                 Key: FLINK-14540
                 URL: https://issues.apache.org/jira/browse/FLINK-14540
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / API
            Reporter: Jark Wu

In FLINK-12399 and FLINK-14132, the returned String of {{TableSource#explainSource}} is used
as part of digest of {{TableScan}}. User have to give the correct digest for projectable or
filterable or limitable sources when pushdown has been tried. They have to overwrite {{TableSource#explainSource()}}
to reflect such changes. 

However, I have some concerns about this:
1) such important restriction is not mentioned in the Javadoc of {{TableSource#explainSource()}},
{{ProjectableTableSouce}} and {{FilterableTableSource}}.
2) It pushes some dirty work to users which can be done by the framework, it makes connectors
more difficult to be developed **correctly** (by reflecting all the push-downed information
3) the explainTerm/digest format of source maybe not unified and fully described.

Regarding how to generate digest by planner, I think we can put the push-downed information
in {{TableSourceTable}} (e.g. we already put {{selectedFields}} in it), and generate the digest
using {{TableSourceTable}}. 

But I may miss something that we have to push the changes to explainSource. We can discuss
this under this JIRA issue.

This message was sent by Atlassian Jira

View raw message