[ https://issues.apache.org/jira/browse/FLINK-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15871955#comment-15871955 ]
ASF GitHub Bot commented on FLINK-5795: --------------------------------------- Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/3330#discussion_r101762354 --- 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)} + """.stripMargin val fieldFunction = s""" |transient $classQualifier $fieldTerm = null; |""".stripMargin reusableMemberStatements.add(fieldFunction) - val constructorTerm = s"constructor_${classQualifier.replace('.', '$')}" val constructorAccessibility = s""" - |java.lang.reflect.Constructor $constructorTerm = - | $classQualifier.class.getDeclaredConstructor(); - |$constructorTerm.setAccessible(true); - |$fieldTerm = ($classQualifier) $constructorTerm.newInstance(); + |$fieldTerm = ($classQualifier) + |org.apache.flink.table.functions.utils.UserDefinedFunctionUtils --- End diff -- replace hardcoded class name by `${UserDefinedFunctionUtils.getClass.getName.stripSuffix("$")}` > 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)