apache / apache/datafusion

Configurable null_equals_null flag

Open
#11,883 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
9.3k
Forks
2.4k
Avg merge
3d 7h
Merged PRs (30d)
344

Description

### Is your feature request related to a problem or challenge?

Currently the `null_equals_null` flag in DF joins is hard-coded to false across multiple places in the code. It is not configurable either from a query or session configuration. We need to make this flag configurable to allow more flexibility in how joins handle null values.

### Describe the solution you'd like

I am not sure which alternative is more useful and expected, and I couldn't find any examples. If we select it as a session config, users will need to change the setting for each preference change. On the other hand, if it is provided within the query, users must explicitly specify it for each non-default case.

### Describe alternatives you've considered

Perhaps both solutions can coexist.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

The issue says null_equals_null is hard-coded across multiple join-related locations, but names no files or tests. First trace those join implementations and the existing query and session configuration paths, then decide which configuration surface is expected. Done means the flag is configurable through the selected interface and null-handling behavior is covered for joins.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, sql
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.