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

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

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

    https://github.com/apache/flink/pull/4200#discussion_r124457542
  
    --- Diff: 
flink-libraries/flink-table/src/test/scala/org/apache/flink/table/ExpressionReductionTest.scala
 ---
    @@ -422,4 +423,50 @@ class ExpressionReductionTest extends TableTestBase {
         util.verifyTable(result, expected)
       }
     
    +  @Test(expected = classOf[NullPointerException])
    +  def testReduceDeterministicUDF(): Unit = {
    +    val util = streamTestUtil()
    +    val table = util.addTable[(Int, Long, String)]("MyTable", 'a, 'b, 'c)
    +
    +    // if isDeterministic = true, will cause a Calcite NPE, which will be 
fixed in [CALCITE-1860]
    +    val result = table
    +      .select('a, 'b, 'c, DeterministicNullFunc() as 'd)
    +      .where("d.isNull")
    +      .select('a, 'b, 'c)
    +
    +    val expected: String = ""
    --- End diff --
    
    We should set the expected value here to make sure the test can pass once 
we reopen it.


> Expose isDeterministic interface to ScalarFunction and TableFunction
> --------------------------------------------------------------------
>
>                 Key: FLINK-7014
>                 URL: https://issues.apache.org/jira/browse/FLINK-7014
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table API & SQL
>            Reporter: Ruidong Li
>            Assignee: Ruidong Li
>
> Currently, the `isDeterministic` method of implementations of `SqlFuntion` 
> are always returning true, which cause inappropriate optimization in Calcite, 
> such as taking user's stateful UDF as a pure functional procedure. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to