[
https://issues.apache.org/jira/browse/FLINK-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15873010#comment-15873010
]
ASF GitHub Bot commented on FLINK-5795:
---------------------------------------
Github user wuchong commented on a diff in the pull request:
https://github.com/apache/flink/pull/3330#discussion_r101885634
--- 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 --
I find that the md5Hex string in the fieldTerm is never used. What about
using `CodeGenUtils.newName` to generate a new function field name (as shown
below). It is a common usage in `CodeGenerator` and there must be no naming
collisions and the generated name will be more readable. What do you think
@sunjincheng121 @fhueske ?
```
CodeGenUtils.newName(s"function_${classQualifier.replace('.', '$')}")
```
Regarding to another PR for scalar UDFs, I think you are right. We can that
in 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)