You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/11/16 15:48:00 UTC

[jira] [Updated] (FLINK-7636) Introduce Flink RelOptTable, and remove tableSource from all TableSourceScan node constructor

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

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

> Introduce Flink RelOptTable,  and remove tableSource from all TableSourceScan node constructor
> ----------------------------------------------------------------------------------------------
>
>                 Key: FLINK-7636
>                 URL: https://issues.apache.org/jira/browse/FLINK-7636
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table API &amp; SQL
>            Reporter: jingzhang
>            Assignee: jingzhang
>            Priority: Major
>              Labels: pull-request-available
>
> At present, there are two ways to fetch TableSource of a TableSourceScan node (e.g LogicalTableSourceScan, PhysicalTableSourceScan ...):
> 1. 
> {code}
> val relOptTable: RelOptTable = getTable()
> val tableSourceTable = relOptTable.unwrap(classOf[TableSourceTable[_]])
> val tableSouce = tableSourceTable.tableSource
> {code}
> the result of getTable() is instance of RelOptTableImpl now, and it will not change after RelNode tree is built.
> 2. now all TableSourceScan contains a tablesource as constructor parameter, so we could fetch the tablesource directly later.
>  
> The result tableSource is different with each other by above two ways after apply project push(PPD) down or filter push down(FPD).  It is very confusing. 
> we hope to fix the problem by introducing FlinkRelOptTable to replace RelOptTableImpl, and remove tableSource parameter from TableSourceScan's constructor. After PPD or FPD,  a new FlinkRelOptTable instance which contains a new TableSourceTable will be passed to TableSourceScan constructor. 



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