Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-3848

Add ProjectableTableSource interface and translation rule

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Implemented
    • None
    • 1.2.0
    • Table SQL / API
    • None

    Description

      Add a ProjectableTableSource interface for TableSource implementation that support projection push-down.

      The interface could look as follows

      def trait ProjectableTableSource {
        def setProjection(fields: Array[String]): Unit
      }
      

      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.

      Attachments

        Issue Links

          Activity

            People

              tonycox Anton Solovev
              fhueske Fabian Hueske
              Votes:
              1 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: