Skip to content

Emit warning with attached Diagnostic when doing = NULL #14434

Open
@eliaperantoni

Description

@eliaperantoni

Is your feature request related to a problem or challenge?

For a query like:

SELECT * FROM users WHERE password = NULL

DataFusion does not emit any error. Of course this a valid query, but it's very likely that the user intended to do password IS NULL instead.

We want to provide a rich message that references and highlights locations in the original SQL query, and contextualises and helps the user understand the pitfall. In the end, it would be possible to display a warning in a fashion akin to what was enabled by #13664 for some (fatal) errors:

See #14429 for more information.

Describe the solution you'd like

Attach a well crafted Diagnostic to the DataFusionError, building on top of the foundations laid in #13664. See #14429 for more information.

There would probably need to be some plumbing required to make DataFusion collect warnings without halting the overall execution. In this scenario, we want to use Diagnostic::new_warning.

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions