apache / apache/datafusion-sqlparser-rs

ClickHouse dialect should not require interval qualifier

未關閉 適合新手
#2,390 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Rust
星號
3.5k
分支
774
平均合併
4 天 9 小時
30 天內合併 PR
17

描述

When the `require_interval_qualifier` dialect option was added (https://github.com/apache/datafusion-sqlparser-rs/pull/1398), the main concern was PostgreSQL. Modern clickhouse supports all of:

unquoted intervals

```
SELECT INTERVAL 1 DAY;

┌─toIntervalDay(1)─┐
1. │ 1 │
└──────────────────┘
```

quoted intervals

```
SELECT INTERVAL '1 d';

┌─toIntervalDay(1)─┐
1. │ 1 │
└──────────────────┘
```

Mixed intervals

```
SELECT INTERVAL '1 2:3:4' DAY TO SECOND;

┌─(toIntervalDay(1), toIntervalHour(2), toIntervalMinute(3), toIntervalSecond(4))─┐
1. │ (1,2,3,4) │
└─────────────────────────────────────────────────────────────────────────────────┘
```

---

The fix should be as simple as flipping one boolean [here](https://github.com/apache/datafusion-sqlparser-rs/blob/bf1741bee2acb8013660de21d314533fe5686e93/src/dialect/clickhouse.rs#L47-L49)

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

開啟 src/dialect/clickhouse.rs,找到 require_interval_qualifier 設定並檢查現有的布林值。調整該設定,使 ClickHouse 接受 issue 中所示的未加引號、加引號和混合 interval;當這三個範例不再需要 interval qualifier 時即表示完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
clickhouse, rust
領域
databases
Issue 類型
缺陷
難度
1/5
預估耗時
1 小時以內
活躍度
冷清
描述清晰度
描述清楚
新手友好度
88/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。