apache / apache/datafusion-sqlparser-rs
Snowflake: TIMESTAMP precision regression
- Lenguaje dominante
- Rust
- Estrellas
- 3.5k
- Forks
- 772
- Merge medio
- 4 d 9 h
- PR fusionados (30 d)
- 17
Descripción
For Snowflake time formats support precision parameter ([from Snowflake documentation](https://docs.snowflake.com/en/sql-reference/data-types-datetime#timestamp)):
> All timestamp variations, as well as the TIMESTAMP alias, support an optional precision parameter for fractional seconds (for example, TIMESTAMP(3)). Timestamp precision can range from 0 (seconds) to 9 (nanoseconds). The default precision is 9.
Note: this comes from using Python wrapper sqloxide
Query that fails:
```sql
create table hello(test timestamp_ntz(6))
```
Error:
```
sql parser error: Expected: ',' or ')' after column definition, found: ( at Line: 1, Column: 38
```
removing precision from `timestamp_ntz` passes through
Unfortunately I cannot directly link which version (not visible throughintroduced this regression, but it seems to be recent
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza reproduciendo la consulta que falla `create table hello(test timestamp_ntz(6))` mediante el wrapper de Python sqloxide y sigue cómo se analizan los tipos de timestamp de Snowflake. Se considera terminado cuando las variantes de timestamp con valores de precisión de 0 a 9 se analizan correctamente sin introducir regresiones en los timestamp sin parametrizar.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python, rust, sql
- Área
- databases
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100