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