[
https://issues.apache.org/jira/browse/FLINK-7558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16146937#comment-16146937
]
ASF GitHub Bot commented on FLINK-7558:
---------------------------------------
Github user wuchong commented on a diff in the pull request:
https://github.com/apache/flink/pull/4620#discussion_r136014229
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/utils/ScalarSqlFunction.scala
---
@@ -106,7 +106,9 @@ object ScalarSqlFunction {
val operandTypeInfo = getOperandTypeInfo(callBinding)
val foundSignature = getEvalMethodSignature(scalarFunction,
operandTypeInfo)
- .getOrElse(throw new ValidationException(s"Operand types of
could not be inferred."))
+ .getOrElse(throw new ValidationException(
+ s"[${scalarFunction.getClass}]'s Operand types of
[${operandTypeInfo}] " +
--- End diff --
I think the message can be improve like this , I copied the code from
`createOperandTypeChecker` in this class.
```
throw new ValidationException(
s"Given parameters of function '$name' do not match any
signature. \n" +
s"Actual: ${signatureToString(operandTypeInfo)} \n" +
s"Expected: ${signaturesToString(scalarFunction, "eval")}")`
```
And I think we need to update AggregateSqlFunction as well if needed.
> Improve SQL ValidationException message.
> ----------------------------------------
>
> Key: FLINK-7558
> URL: https://issues.apache.org/jira/browse/FLINK-7558
> Project: Flink
> Issue Type: Improvement
> Components: Table API & SQL
> Reporter: sunjincheng
> Assignee: sunjincheng
>
> org.apache.flink.table.api.ValidationException: SQL validation failed.
> Operand types of could not be inferred. at
> org.apache.flink.table.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:91)
> at
> org.apache.flink.table.api.TableEnvironment.sql(TableEnvironment.scala:513)
> at
> com.alibaba.blink.scala.tool.util.SqlJobAdapter.dealInserts(SqlJobAdapter.java:292)
> at
> com.alibaba.blink.scala.tool.util.JobBuildHelper.buildSqlJob(JobBuildHelper.java:80)
> at com.alibaba.blink.scala.tool.JobLauncher.main(JobLauncher.java:138)
> Caused by: org.apache.flink.table.api.ValidationException: Operand types of
> could not be inferred. at
> org.apache.flink.table.functions.utils.ScalarSqlFunction$$anon$2$$anonfun$2.apply(ScalarSqlFunction.scala:110)
> at
> org.apache.flink.table.functions.utils.ScalarSqlFunction$$anon$2$$anonfun$2.apply(ScalarSqlFunction.scala:110)
> at scala.Option.getOrElse(Option.scala:121) at
> org.apache.flink.table.functions.utils.ScalarSqlFunction$$anon$2.inferOperandTypes(ScalarSqlFunction.scala:110)
> at
> org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1769)
> at
> ....
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)