[
https://issues.apache.org/jira/browse/FLINK-10958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16698717#comment-16698717
]
ASF GitHub Bot commented on FLINK-10958:
----------------------------------------
twalthr commented on a change in pull request #7152: [FLINK-10958] [table] Add
overload support for user defined function
URL: https://github.com/apache/flink/pull/7152#discussion_r236196437
##########
File path:
flink-libraries/flink-table/src/test/scala/org/apache/flink/table/runtime/stream/table/CalcITCase.scala
##########
@@ -350,4 +350,62 @@ class CalcITCase extends AbstractTestBase {
"{9=Comment#3}")
assertEquals(expected.sorted, StreamITCase.testResults.sorted)
}
+
+ @Test
+ def testOverload(): Unit = {
Review comment:
@sunjincheng121 @dianfu We don't need to add full integration tests for
every little feature. These added test could have been moved to
`org.apache.flink.table.expressions.UserDefinedScalarFunctionTest` where things
like overloading etc. is already tested.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Add overload support for user defined function
> -----------------------------------------------
>
> Key: FLINK-10958
> URL: https://issues.apache.org/jira/browse/FLINK-10958
> Project: Flink
> Issue Type: Task
> Components: Table API & SQL
> Reporter: Dian Fu
> Assignee: Dian Fu
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.8.0
>
>
> Currently overload is not supported in user defined function and given the
> following UDF
> {code:java}
> class Func21 extends ScalarFunction {
> def eval(p: People): String = {
> p.name
> }
> def eval(p: Student): String = {
> "student#" + p.name
> }
> }
> class People(val name: String)
> class Student(name: String) extends People(name)
> class GraduatedStudent(name: String) extends Student(name)
> {code}
> Queries such as the following will compile failed with error msg "Found
> multiple 'eval' methods which match the signature."
>
> {code:java}
> val udf = new Func21
> val table = ...
> table.select(udf(new GraduatedStudent("test"))) {code}
> That's because overload is not supported in user defined function currently.
> I think it will make sense to support overload following the java language
> specification in section
> [15.2|https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.12].
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)