[ https://issues.apache.org/jira/browse/FLINK-5881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15898969#comment-15898969 ]
ASF GitHub Bot commented on FLINK-5881: --------------------------------------- Github user KurtYoung commented on a diff in the pull request: https://github.com/apache/flink/pull/3389#discussion_r104614715 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/utils/UserDefinedFunctionUtils.scala --- @@ -94,23 +94,28 @@ object UserDefinedFunctionUtils { val evalMethods = checkAndExtractEvalMethods(function) val filtered = evalMethods - // go over all eval methods and find one matching - .filter { cur => - val signatures = cur.getParameterTypes - // match parameters of signature to actual parameters - (actualSignature.length >= signatures.length && - actualSignature.zipWithIndex.forall { case (clazz, i) => - (i < signatures.length && parameterTypeEquals(clazz, signatures(i))) || - (i >= signatures.length - 1 && cur.isVarArgs && + // go over all eval methods and filter out one and only one matching + .filter { + case cur if !cur.isVarArgs => + val signatures = cur.getParameterTypes + // match parameters of signature to actual par(ameters + actualSignature.length == signatures.length && + signatures.zipWithIndex.forall { case (clazz, i) => + parameterTypeEquals(actualSignature(i), clazz) + } + case cur if cur.isVarArgs => + val signatures = cur.getParameterTypes + actualSignature.zipWithIndex.forall { case (clazz, i) => + (i < signatures.length - 1 && + parameterTypeEquals(clazz, signatures(i))) || + (i >= signatures.length - 1 && parameterTypeEquals(clazz, signatures.last.getComponentType)) - }) || - // match empty variable arguments - (actualSignature.length == signatures.length - 1 && cur.isVarArgs) + } || (actualSignature.isEmpty && signatures.length == 1) --- End diff -- move this to a new line > ScalarFunction(UDF) should support variable types and variable arguments > ------------------------------------------------------------------------- > > Key: FLINK-5881 > URL: https://issues.apache.org/jira/browse/FLINK-5881 > Project: Flink > Issue Type: Sub-task > Reporter: Zhuoluo Yang > Assignee: Zhuoluo Yang > > As a sub-task of FLINK-5826. We would like to support the ScalarFunction > first and make the review a little bit easier. -- This message was sent by Atlassian JIRA (v6.3.15#6346)