[ 
https://issues.apache.org/jira/browse/FLINK-5881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15887127#comment-15887127
 ] 

ASF GitHub Bot commented on FLINK-5881:
---------------------------------------

Github user wuchong commented on a diff in the pull request:

    https://github.com/apache/flink/pull/3389#discussion_r103361639
  
    --- Diff: 
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/utils/UserDefinedFunctionUtils.scala
 ---
    @@ -140,6 +138,24 @@ object UserDefinedFunctionUtils {
               s"one method named 'eval' which is public, not abstract and " +
               s"(in case of table functions) not static.")
         } else {
    +      var trailingSeq = false
    +      var noVargs = true
    +      methods.foreach(method => {
    +        val signatures = method.getParameterTypes
    +        if (signatures.nonEmpty) {
    +          if (method.isVarArgs) {
    +            noVargs = false
    +          } else if 
(signatures.last.getName.equals("scala.collection.Seq")) {
    +            trailingSeq = true
    +          }
    +        }
    +      })
    +      if (trailingSeq && noVargs) {
    +        // We found trailing "scala.collection.Seq", but no trailing 
"Type[]", "Type..."
    +        throw new ValidationException("The 'eval' method do not support 
Scala type of " +
    --- End diff --
    
    If there is multiple eval methods found (not ambiguous), one is varargs, 
the other is not. It seems that no exception is thrown to tell users that the 
non-varargs eval method is not work.
    
    ```
    @varargs
    def eval(args: String*): String = {...}
    // no varargs annotation
    def eval(args: Int*): Int = {...}
    ```


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

Reply via email to