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

Matrix42 commented on FLINK-16726:
----------------------------------

[~libenchao] It works.

> ScalarFunction throws Given parameters of function 'func' do not match any 
> signature.
> -------------------------------------------------------------------------------------
>
>                 Key: FLINK-16726
>                 URL: https://issues.apache.org/jira/browse/FLINK-16726
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.10.0
>         Environment: [^Flinktest.zip]
>            Reporter: Matrix42
>            Priority: Major
>         Attachments: Flinktest.zip
>
>
> I write a ScalarFunction as follow:
>  
> {code:java}
> public class UDF3 extends ScalarFunction {
>     public String eval(String s, int a, double d) {
>         return s + a + d;
>     }
>     @Override
>     public boolean isDeterministic() {
>         return true;
>     }
>     @Override
>     public TypeInformation<?> getResultType(Class<?>[] signature) {
>         return Types.STRING;
>     }
>     @Override
>     public TypeInformation<?>[] getParameterTypes(Class<?>[] signature) {
>         return new TypeInformation[]{Types.STRING, Types.INT, Types.DOUBLE};
>     }
>     
> }
> {code}
> I use it in sql `select func(s, 1,2.2) from source`, Flink throw exception as 
> follow:
>  
>  
> {noformat}
> Exception in thread "main" org.apache.flink.table.api.ValidationException: 
> SQL validation failed. Given parameters of function 'func' do not match any 
> signature. Exception in thread "main" 
> org.apache.flink.table.api.ValidationException: SQL validation failed. Given 
> parameters of function 'func' do not match any signature. Actual: 
> (java.lang.String, java.lang.Integer, java.math.BigDecimal) Expected: 
> (java.lang.String, int, double) at 
> org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:129)
>  at 
> org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:104)
>  at 
> org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:127)
>  at 
> org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:85)
>  at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:464)
>  at com.lorinda.template.TestUDF3.main(TestUDF3.java:40){noformat}
>  
> the full code is in the [^Flinktest.zip] , class name is 
> com.lorinda.template.TestUDF3
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to