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)