apache / apache/datafusion-sqlparser-rs
ClickHouse dialect should not require interval qualifier
- 主要言語
- Rust
- スター
- 3.5k
- フォーク
- 772
- 平均マージ
- 4日 9時間
- マージ済み PR(30日)
- 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 設定の位置で開き、既存の boolean を確認します。その設定を調整して、issue に示されているように、引用符で囲まれていない interval、引用符で囲まれた interval、混在した interval を ClickHouse が受け入れるようにします。この3つの例で interval qualifier が不要になれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- clickhouse, rust
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 活発さ
- 静か
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 88/100