[ 
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)

Reply via email to