Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emit warning with attached Diagnostic when doing = NULL #14434

Open
Tracked by #14429
eliaperantoni opened this issue Feb 3, 2025 · 4 comments
Open
Tracked by #14429

Emit warning with attached Diagnostic when doing = NULL #14434

eliaperantoni opened this issue Feb 3, 2025 · 4 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@eliaperantoni
Copy link
Contributor

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

@eliaperantoni eliaperantoni added the enhancement New feature or request label Feb 3, 2025
@alamb alamb added the good first issue Good for newcomers label Feb 4, 2025
@alamb
Copy link
Contributor

alamb commented Feb 4, 2025

I think this is a good first issue as the need is clear and the tests in https://github.com/apache/datafusion/blob/85fbde2661bdb462fc498dc18f055c44f229604c/datafusion/sql/tests/cases/diagnostic.rs are well structured for extension.

@ugoa
Copy link
Contributor

ugoa commented Feb 9, 2025

take

@eliaperantoni
Copy link
Contributor Author

Hey @ugoa how is it going with this ticket :) Can I help with anything?

@ugoa
Copy link
Contributor

ugoa commented Feb 15, 2025

Yeah I am working on it this weekend

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants