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