[ https://issues.apache.org/jira/browse/FLINK-16726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jark Wu closed FLINK-16726. --------------------------- Resolution: Not A Bug > 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)