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