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)

Reply via email to