[
https://issues.apache.org/jira/browse/FLINK-5255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15750737#comment-15750737
]
ASF GitHub Bot commented on FLINK-5255:
---------------------------------------
GitHub user AlexanderShoshin opened a pull request:
https://github.com/apache/flink/pull/3009
[FLINK-5255] Improve single row check in DataSetSingleRowJoinRule
DataSetSingleRowJoinRule now supports not only `LogicalAggregate` as single
row input, but also `LogicalCalc`, `LogicalProject` and `LogicalFilter`
followed by `LogicalAggregate`.
If `LogicalFilter` returns empty set `DataSetSingleRowJoin` will also
return empty set.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/AlexanderShoshin/flink FLINK-5255
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/3009.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3009
----
commit f822d7c0320860a632ff6879f16ffec2c9f14350
Author: Alexander Shoshin <[email protected]>
Date: 2016-12-14T10:59:08Z
added tests for LogicalCalc support in DataSetSingleRowJoinRule
commit d954455c86532c4362c88d578f26e8bbe8ffb060
Author: Alexander Shoshin <[email protected]>
Date: 2016-12-14T11:04:49Z
[FLINK-5255] Enable single row LogicalCalc as input in
DataSetSingleRowJoinRule
----
> Improve single row check in DataSetSingleRowJoinRule
> ----------------------------------------------------
>
> Key: FLINK-5255
> URL: https://issues.apache.org/jira/browse/FLINK-5255
> Project: Flink
> Issue Type: Improvement
> Components: Table API & SQL
> Affects Versions: 1.2.0
> Reporter: Fabian Hueske
> Assignee: Alexander Shoshin
>
> {{DataSetSingleRowJoinRule}} checks converts an arbitrary inner join (cross,
> theta, equi) where one input has exactly one row into a broadcast-map join.
> Currently, the condition to check for the single row is that the input of the
> join must be a global aggregation. The check fails if the input is a
> {{LogicalCalc}} followed by {{LogicalAggregate}}.
> Hence, the following query cannot be executed:
> {code}
> SELECT absum, x.a
> FROM x, (SELECT a.sum + b.sum AS absum FROM y)
> {code}
> The single row check should be extended to accept a {{LogicalCalc}} that has
> no condition {{(RexProgram.getCondition() == null)}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)