[ https://issues.apache.org/jira/browse/FLINK-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15873983#comment-15873983 ]
ASF GitHub Bot commented on FLINK-5795: --------------------------------------- Github user sunjincheng121 commented on a diff in the pull request: https://github.com/apache/flink/pull/3330#discussion_r101942319 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/CodeGenerator.scala --- @@ -1463,21 +1465,23 @@ class CodeGenerator( */ def addReusableFunction(function: UserDefinedFunction): String = { val classQualifier = function.getClass.getCanonicalName - val fieldTerm = s"function_${classQualifier.replace('.', '$')}" + val functionSerializedData = serialize(function) + val fieldTerm = + s""" + |function_${classQualifier.replace('.', '$')}_${DigestUtils.md5Hex(functionSerializedData)} --- End diff -- Hi @wuchong No, scalar UDF in Scala Table API not works well. The reason is that when we create `ScalarSqlFunction`, we apply` scalarFunction.getClass.getCanonicalName` as sql identifier, which produces the wrong result. Hi, @fhueske So far, we have discussed a lot of UDF implementations in this PR, so I agree with merge FLINK-5794 into this PR. > Improve “UDTF" to support constructor with parameter. > ----------------------------------------------------- > > Key: FLINK-5795 > URL: https://issues.apache.org/jira/browse/FLINK-5795 > Project: Flink > Issue Type: Sub-task > Components: Table API & SQL > Reporter: sunjincheng > Assignee: sunjincheng > -- This message was sent by Atlassian JIRA (v6.3.15#6346)