[ https://issues.apache.org/jira/browse/FLINK-5881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15898966#comment-15898966 ]
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_r104614583 --- 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 && --- End diff -- we can also move the condition check about `i` into case pattern to make the codes more clear, like: ``` case (clazz, i) if (i < signatures.length - 1 ) => // ... case (clazz, i) if (i >= signatures.length - 1) => // ... > 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)