[ https://issues.apache.org/jira/browse/FLINK-5255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15734933#comment-15734933 ]
Alexander Shoshin edited comment on FLINK-5255 at 12/9/16 10:32 AM: -------------------------------------------------------------------- I am checking join inputs in a {{matches(..)}} method of {{DataSetSingleRowJoinRule}}, but I still can see only {{LogicalProject}} or {{LogicalFilter}} there. was (Author: alexandershoshin): I check join inputs in a {{matches(..)}} method of {{DataSetSingleRowJoinRule}}, but I still can see only {{LogicalProject}} or {{LogicalFilter}} there. > 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)