[
https://issues.apache.org/jira/browse/FLINK-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15829897#comment-15829897
]
ASF GitHub Bot commented on FLINK-5520:
---------------------------------------
Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/3141#discussion_r96841502
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/logical/operators.scala
---
@@ -454,30 +454,54 @@ case class Join(
private def testJoinCondition(expression: Expression): Unit = {
- def checkIfJoinCondition(exp : BinaryComparison) = exp.children match {
- case (x : JoinFieldReference) :: (y : JoinFieldReference) :: Nil
- if x.isFromLeftInput != y.isFromLeftInput => Unit
- case x => failValidation(
- s"Invalid non-join predicate $exp. For non-join predicates use
Table#where.")
- }
+ def checkIfJoinCondition(exp: BinaryComparison) = exp.children match {
+ case (x: JoinFieldReference) :: (y: JoinFieldReference) :: Nil
+ if x.isFromLeftInput != y.isFromLeftInput => true
+ case x => false
--- End diff --
`case x` -> `case _`
> Disable outer joins with non-equality predicates
> ------------------------------------------------
>
> Key: FLINK-5520
> URL: https://issues.apache.org/jira/browse/FLINK-5520
> Project: Flink
> Issue Type: Bug
> Components: Table API & SQL
> Affects Versions: 1.2.0
> Reporter: Fabian Hueske
> Assignee: lincoln.lee
> Priority: Blocker
> Fix For: 1.2.0
>
>
> Outer joins with non-equality predicates (and at least one equality
> predicate) compute incorrect results.
> Since this is not a very common requirement, I propose to disable this
> feature for the 1.2.0 release and correctly implement it for a later version.
> The fix should add checks in the Table API validation phase (to get a good
> error message) and in the DataSetJoinRule to prevent translation of SQL
> queries with non-equality predicates on outer joins.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)