[
https://issues.apache.org/jira/browse/FLINK-2985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15360828#comment-15360828
]
ASF GitHub Bot commented on FLINK-2985:
---------------------------------------
Github user wuchong commented on the issue:
https://github.com/apache/flink/pull/2078
Hi @gallenvara , I debug the `IndexOutOfBoundsException` exception of
`testJoinWithDisjunctivePred`, and find this line [L526 in
CodeGenerator](https://github.com/apache/flink/blob/master/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/codegen/CodeGenerator.scala#L526).
This is the reason for the test failure. Because `==` in scala is
`equals`,when we visit inputRef of 'd, the input1 and input2 have the same
field types ([Int, Long, String]). Here we will get the wrong index(3) which
cause IOOB exception, but we want to get the index(0).
We just need to modify L526 to `val index = if (input._2 == input1Term) {`
will fix this problem.
> Allow different field names for unionAll() in Table API
> -------------------------------------------------------
>
> Key: FLINK-2985
> URL: https://issues.apache.org/jira/browse/FLINK-2985
> Project: Flink
> Issue Type: Improvement
> Components: Table API & SQL
> Reporter: Timo Walther
> Priority: Minor
>
> The recently merged `unionAll` operator checks if the field names of the left
> and right side are equal. Actually, this is not necessary. The union operator
> in SQL checks only the types and uses the names of left side.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)