You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The optimizer rule FilterNullJoinKeys doesn't take null-awarness into account, which can cause it to transform the logical plan in an invalid way, returning wrong results.
This behavior isn't enabled by default, but requires setting datafusion.optimizer.filter_null_join_keys to true.
To Reproduce
From null_aware_anti_join.slt, run
setdatafusion.optimizer.filter_null_join_keys = true;
SELECT*FROM outer_table WHERE id NOT IN (SELECT id FROM inner_table_with_null);
which will return incorrect results, which are different than the default datafusion.optimizer.filter_null_join_keys = false:
Activity
fix: Handle null-aware joins correctly in `FilterNullJoinKeys` when i…
fix: Handle null-aware joins correctly in `FilterNullJoinKeys` when i…