You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Fabian Hueske (JIRA)" <ji...@apache.org> on 2017/10/02 19:31:00 UTC

[jira] [Created] (FLINK-7755) Null values are not correctly handled by batch inner and outer joins

Fabian Hueske created FLINK-7755:
------------------------------------

             Summary: Null values are not correctly handled by batch inner and outer joins
                 Key: FLINK-7755
                 URL: https://issues.apache.org/jira/browse/FLINK-7755
             Project: Flink
          Issue Type: Bug
          Components: Table API & SQL
    Affects Versions: 1.3.2, 1.4.0
            Reporter: Fabian Hueske
            Priority: Blocker
             Fix For: 1.4.0, 1.3.3


Join predicates of batch joins are not correctly evaluated according to three-value logic.
This affects inner as well as outer joins.

The problem is that some equality predicates are only evaluated by the internal join algorithms of Flink which are based on {{TypeComparator}}. The field {{TypeComparator}} for {{Row}} are implemented such that {{null == null}} results in {{TRUE}} to ensure correct ordering and grouping. However, three-value logic requires that {{null == null}} results to {{UNKNOWN}} (or null). The code generator implements this logic correctly, but for equality predicates, no code is generated.

For outer joins, the problem is a bit tricker because these do not support code-generated predicates yet (see FLINK-5520). FLINK-5498 proposes a solution for this issue.

We also need to extend several of the existing tests and add null values to ensure that the join logic is correctly implemented. 




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)