[ https://issues.apache.org/jira/browse/FLINK-7014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16065835#comment-16065835 ]
ASF GitHub Bot commented on FLINK-7014: --------------------------------------- Github user sunjincheng121 commented on a diff in the pull request: https://github.com/apache/flink/pull/4200#discussion_r124440259 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/utils/AggSqlFunction.scala --- @@ -57,6 +57,8 @@ class AggSqlFunction( ) { def getFunction: AggregateFunction[_, _] = aggregateFunction + + override def isDeterministic: Boolean = aggregateFunction.isDeterministic --- End diff -- Can we add an abstract class for `AggSqlFunction`, `ScalarSqlFunction`,and `TableSqlFunction`. What do you think? @wuchong @Xpray > 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)