flink-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fabian Hueske (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLINK-7730) TableFunction LEFT OUTER joins with ON predicates are broken
Date Thu, 28 Sep 2017 13:49:00 GMT
Fabian Hueske created FLINK-7730:

             Summary: TableFunction LEFT OUTER joins with ON predicates are broken
                 Key: FLINK-7730
                 URL: https://issues.apache.org/jira/browse/FLINK-7730
             Project: Flink
          Issue Type: Bug
          Components: Table API & SQL
    Affects Versions: 1.3.2, 1.4.0
            Reporter: Fabian Hueske

TableFunction left outer joins with predicates in the ON clause are broken. Apparently, the
are no tests for this and it has never worked. I observed issues on several layers:

- Table Function does not correctly validate equality predicate: {{leftOuterJoin(func1('c)
as 'd,  'a.cast(Types.STRING) === 'd)}} is rejected because the predicate is not considered
as an equality predicate (the cast needs to be pushed down).
- Plans cannot be correctly translated: {{leftOuterJoin(func1('c) as 'd,  'c === 'd)}} gives
an optimizer exception.
- SQL queries get translated but produce incorrect results. For example {{SELECT a, b, c,
d FROM MyTable LEFT OUTER JOIN LATERAL TABLE(tfunc(c)) AS T(d) ON d = c}} returns an empty
result if the condition {{d = c}} never returns true. However, the outer side should be preserved
and padded with nulls.

So there seem to be many issues with table function outer joins. Especially, the wrong result
produced by SQL queries need to be quickly fixed.

This message was sent by Atlassian JIRA

View raw message