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

ASF GitHub Bot commented on FLINK-6884:
---------------------------------------

Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4100#discussion_r121265430
  
    --- Diff: 
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/CodeGenerator.scala
 ---
    @@ -936,32 +936,42 @@ class CodeGenerator(
           resultFieldNames: Seq[String])
         : GeneratedExpression = {
         // initial type check
    +    //s"requested: $requestedTypeInfo; Actual: $fType")
         if (returnType.getArity != fieldExprs.length) {
    -      throw new CodeGenException("Arity of result type does not match 
number of expressions.")
    +      throw new CodeGenException(
    +        s"Arity[${returnType.getArity}] of result type[$returnType}] does 
not match " +
    --- End diff --
    
    `type[$returnType}]` needs a `{` (or `}` should be removed)


> Incompatible TableSource#getReturnType and actual input type should fail 
> faster
> -------------------------------------------------------------------------------
>
>                 Key: FLINK-6884
>                 URL: https://issues.apache.org/jira/browse/FLINK-6884
>             Project: Flink
>          Issue Type: Bug
>          Components: Table API & SQL
>    Affects Versions: 1.3.0
>            Reporter: Dawid Wysakowicz
>            Assignee: sunjincheng
>
> When a {{TableSource#getReturnType}} differs from the actual input type the 
> exception is thrown in code generation step with an exception that is hard to 
> track back:
> {code}
> org.apache.flink.table.codegen.CodeGenException: Arity of result type does 
> not match number of expressions.
>       at 
> org.apache.flink.table.codegen.CodeGenerator.generateResultExpression(CodeGenerator.scala:940)
>       at 
> org.apache.flink.table.codegen.CodeGenerator.generateConverterResultExpression(CodeGenerator.scala:883)
>       at 
> org.apache.flink.table.plan.nodes.CommonScan$class.generatedConversionFunction(CommonScan.scala:57)
>       at 
> org.apache.flink.table.plan.nodes.datastream.StreamTableSourceScan.generatedConversionFunction(StreamTableSourceScan.scala:35)
>       at 
> org.apache.flink.table.plan.nodes.datastream.StreamScan$class.convertToInternalRow(StreamScan.scala:48)
>       at 
> org.apache.flink.table.plan.nodes.datastream.StreamTableSourceScan.convertToInternalRow(StreamTableSourceScan.scala:35)
>       at 
> org.apache.flink.table.plan.nodes.datastream.StreamTableSourceScan.translateToPlan(StreamTableSourceScan.scala:107)
> {code}
> It would be nice if more meaningful exception was thrown earlier.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to