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