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)