[
https://issues.apache.org/jira/browse/FLINK-7014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16065836#comment-16065836
]
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_r124439457
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/UserDefinedFunction.scala
---
@@ -40,6 +40,12 @@ abstract class UserDefinedFunction extends Serializable {
@throws(classOf[Exception])
def close(): Unit = {}
+ /**
+ * @return true iff a call to this function is guaranteed to always
return
+ * the same result given the same parameters; true is assumed
by default
+ */
+ def isDeterministic: Boolean = true
--- End diff --
I suggest explain when user need to overwrite the method, what the impact
if not overwrite the method.
> 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)