apache / apache/datafusion-sqlparser-rs

ClickHouse dialect should not require interval qualifier

Abierto Apto para principiantes
#2,390 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Rust
Estrellas
3.5k
Forks
772
Merge medio
4 d 9 h
PR fusionados (30 d)
17

Descripción

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)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Abre src/dialect/clickhouse.rs en la configuración require_interval_qualifier e inspecciona el booleano existente. Ajusta esa configuración para que ClickHouse acepte intervalos sin comillas, entre comillas y mixtos, tal como se muestra en el issue; se considera terminado cuando esos tres ejemplos ya no requieren un calificador de intervalo.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
clickhouse, rust
Área
databases
Tipo de issue
Error
Dificultad
1/5
Tiempo estimado
Menos de una hora
Estado de actividad
Tranquilo
Claridad
Bien especificado
Aptitud para principiantes
88/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.