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

Reply via email to