[ https://issues.apache.org/jira/browse/FLINK-3848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15724057#comment-15724057 ]
ASF GitHub Bot commented on FLINK-3848: --------------------------------------- Github user KurtYoung commented on the issue: https://github.com/apache/flink/pull/2810 Hi @tonycox , i want to appologize first for opening another "project pushdown" issue when this one is still in active. We actually come up with some whole new idea and designs compare to the original design here, so we think maybe it will be easier to open another pull request and let's discuss with some codes. But i noticed that this PR is becoming more similar with our design now (only some slightly differences), even some core codes are copied from our pull request. I think we should work out a plan to merge our work together. A litter opinion here: I think it's pointless to let CsvTableSource be a ProjecableTableSource since it simply cannot avoid reading extra fields in the first place. > Add ProjectableTableSource interface and translation rule > --------------------------------------------------------- > > Key: FLINK-3848 > URL: https://issues.apache.org/jira/browse/FLINK-3848 > Project: Flink > Issue Type: New Feature > Components: Table API & SQL > Reporter: Fabian Hueske > Assignee: Anton Solovev > > Add a {{ProjectableTableSource}} interface for {{TableSource}} implementation > that support projection push-down. > The interface could look as follows > {code} > def trait ProjectableTableSource { > def setProjection(fields: Array[String]): Unit > } > {code} > In addition we need Calcite rules to push a projection into a TableScan that > refers to a {{ProjectableTableSource}}. We might need to tweak the cost model > as well to push the optimizer in the right direction. > Moreover, the {{CsvTableSource}} could be extended to implement > {{ProjectableTableSource}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)