apache / apache/datafusion-sqlparser-rs
ClickHouse dialect should not require interval qualifier
- Vorherrschende Sprache
- Rust
- Sterne
- 3.5k
- Forks
- 772
- Ø Merge
- 4 T. 9 Std.
- Gemergte PRs (30 T.)
- 17
Beschreibung
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)
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Öffne src/dialect/clickhouse.rs bei der Einstellung require_interval_qualifier und überprüfe den vorhandenen booleschen Wert. Passe diese Einstellung so an, dass ClickHouse nicht in Anführungszeichen gesetzte, in Anführungszeichen gesetzte und gemischte Intervalle wie im Issue gezeigt akzeptiert; fertig ist die Änderung, wenn für diese drei Beispiele kein Intervallqualifizierer mehr erforderlich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- clickhouse, rust
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 1/5
- Geschätzter Aufwand
- Unter einer Stunde
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 88/100