You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "lincoln.lee (JIRA)" <ji...@apache.org> on 2017/02/21 10:20:44 UTC
[jira] [Resolved] (FLINK-5511) Add support for outer joins with
local predicates
[ https://issues.apache.org/jira/browse/FLINK-5511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
lincoln.lee resolved FLINK-5511.
--------------------------------
Resolution: Duplicate
We can simply divide join conditions into the equi part and the non-equi part, and the implementations of this jira and Flink-5498 are almost same except the validation part, however if implements separately, there'll be some validation codes finally be removed. So merge these two jiras sounds reasonable.
> Add support for outer joins with local predicates
> -------------------------------------------------
>
> Key: FLINK-5511
> URL: https://issues.apache.org/jira/browse/FLINK-5511
> Project: Flink
> Issue Type: Improvement
> Components: Table API & SQL
> Reporter: lincoln.lee
> Assignee: lincoln.lee
> Priority: Minor
>
> currently the test case in flink-libraries/flink-table/src/test/scala/org/apache/flink/table/api/scala/batch/table/JoinITCase.scala
> will throw a ValidationException indicating: “Invalid non-join predicate 'b < 3. For non-join predicates use Table#where.”
> {code:title=JoinITCase.scala}
> @Test(expected = classOf[ValidationException])
> def testNoJoinCondition(): Unit = {
> …
> val ds1 = CollectionDataSets.get3TupleDataSet(env).toTable(tEnv, 'a, 'b, 'c)
> val ds2 = CollectionDataSets.get5TupleDataSet(env).toTable(tEnv, 'd, 'e, 'f, 'g, 'h)
> val joinT = ds2.leftOuterJoin(ds1, 'b === 'd && 'b < 3).select('c, 'g)
> }
> {code}
> This jira aims to supported this kind of local predicates in outer joins.
> More detailed description: http://goo.gl/gK6vP3
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)