apache / apache/datafusion-sqlparser-rs
feat: Support IGNORE NULLS only for allowed aggregation functions
- Dominant language
- Rust
- Stars
- 3.5k
- Forks
- 772
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 17
Description
Currently parser allows to parse queries which IMHO should be failing by unsupported syntax.
Like
`SELECT COUNT(*) IGNORE NULLS FROM (values (1), (null), (2));`
The allowed list for IGNORE NULLS can be found https://github.com/ronsavage/SQL/blob/master/sql-2016.ebnf
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in the SQL parser entry point that handles IGNORE NULLS and compare its accepted functions with the allowed list in the linked SQL-2016 grammar. Reproduce the COUNT(*) example and add coverage so unsupported combinations fail while allowed aggregation functions continue to parse.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, sql
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100