[ 
https://issues.apache.org/jira/browse/FLINK-3849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15928396#comment-15928396
 ] 

ASF GitHub Bot commented on FLINK-3849:
---------------------------------------

Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/3520#discussion_r106460094
  
    --- Diff: 
flink-libraries/flink-table/src/test/scala/org/apache/flink/table/plan/util/RexProgramTestBase.scala
 ---
    @@ -16,106 +16,96 @@
      * limitations under the License.
      */
     
    -package org.apache.flink.table.plan.rules.util
    +package org.apache.flink.table.plan.util
     
     import java.math.BigDecimal
    +import java.util
     
     import org.apache.calcite.adapter.java.JavaTypeFactory
     import org.apache.calcite.jdbc.JavaTypeFactoryImpl
     import org.apache.calcite.rel.`type`.{RelDataType, RelDataTypeSystem}
     import org.apache.calcite.rex.{RexBuilder, RexProgram, RexProgramBuilder}
    -import org.apache.calcite.sql.`type`.SqlTypeName.{BIGINT, DOUBLE, INTEGER, 
VARCHAR}
    +import org.apache.calcite.sql.`type`.SqlTypeName.{BIGINT, DOUBLE, INTEGER, 
VARCHAR, BOOLEAN}
     import org.apache.calcite.sql.fun.SqlStdOperatorTable
    -import org.apache.flink.table.plan.rules.util.RexProgramProjectExtractor._
    -import org.junit.Assert.{assertArrayEquals, assertTrue}
    -import org.junit.{Before, Test}
     
     import scala.collection.JavaConverters._
    +import scala.collection.mutable
     
    -/**
    -  * This class is responsible for testing RexProgramProjectExtractor.
    -  */
    -class RexProgramProjectExtractorTest {
    -  private var typeFactory: JavaTypeFactory = _
    -  private var rexBuilder: RexBuilder = _
    -  private var allFieldTypes: Seq[RelDataType] = _
    -  private val allFieldNames = List("name", "id", "amount", "price")
    -
    -  @Before
    -  def setUp(): Unit = {
    -    typeFactory = new JavaTypeFactoryImpl(RelDataTypeSystem.DEFAULT)
    -    rexBuilder = new RexBuilder(typeFactory)
    -    allFieldTypes = List(VARCHAR, BIGINT, INTEGER, 
DOUBLE).map(typeFactory.createSqlType(_))
    -  }
    +abstract class RexProgramTestBase {
    --- End diff --
    
    good idea to make this an abstract class


> Add FilterableTableSource interface and translation rule
> --------------------------------------------------------
>
>                 Key: FLINK-3849
>                 URL: https://issues.apache.org/jira/browse/FLINK-3849
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table API & SQL
>            Reporter: Fabian Hueske
>            Assignee: Kurt Young
>
> Add a {{FilterableTableSource}} interface for {{TableSource}} implementations 
> which support filter push-down.
> The interface could look as follows
> {code}
> def trait FilterableTableSource {
>   // returns unsupported predicate expression
>   def setPredicate(predicate: Expression): Expression
> }
> {code}
> In addition we need Calcite rules to push a predicate (or parts of it) into a 
> TableScan that refers to a {{FilterableTableSource}}. We might need to tweak 
> the cost model as well to push the optimizer in the right direction.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to