[jira] [Created] (FLINK-5255) Improve single row check in DataSetSingleRowJoinRule

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-5255) Improve single row check in DataSetSingleRowJoinRule

Shang Yuanchun (Jira)
Fabian Hueske created FLINK-5255:
------------------------------------

             Summary: 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


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