apache / apache/datafusion-sqlparser-rs

ClickHouse dialect should not require interval qualifier

オープン 初心者向け
#2,390 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。