apache / apache/datafusion-sqlparser-rs

feat: Support IGNORE NULLS only for allowed builtin window functions

未关闭
#1,207 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Rust
星标
3.5k
派生
772
平均合并
4 天 9 小时
30 天内合并 PR
17

描述

Currently parser allows to parse queries which IMHO should be failing by unsupported syntax.
Like
SELECT COUNT(*) IGNORE NULLS OVER() FROM (values (1), (null), (2));

The allowed list for IGNORE NULLS can be found https://github.com/ronsavage/SQL/blob/master/sql-2016.ebnf

贡献指南

这个仓库没有索引到贡献指南

调研方向

首先跟踪 parser 如何处理 IGNORE NULLS 语法,然后将其接受的函数与链接的 SQL-2016 语法中的允许列表进行比较。当 COUNT(*) IGNORE NULLS 等不受支持的形式被拒绝,同时允许的 builtin 窗口函数仍能继续解析时,这项修改就完成了。

由索引模型根据 Issue 内容生成。

评估

技术栈
rust, sql
领域
compilers, databases
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。