[ 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 <alexander_shos...@epam.com> Date: 2016-12-14T10:59:08Z added tests for LogicalCalc support in DataSetSingleRowJoinRule commit d954455c86532c4362c88d578f26e8bbe8ffb060 Author: Alexander Shoshin <alexander_shos...@epam.com> 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)