apache / apache/datafusion-sqlparser-rs
Snowflake: TIMESTAMP precision regression
- Langage dominant
- Rust
- Étoiles
- 3.5k
- Forks
- 772
- Merge moyen
- 4 j 9 h
- PR mergées (30 j)
- 17
Description
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
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par reproduire la requête en échec `create table hello(test timestamp_ntz(6))` via le wrapper Python sqloxide et suivez la manière dont les types timestamp de Snowflake sont analysés. Le travail est terminé lorsque les variantes de timestamp avec des valeurs de précision de 0 à 9 sont analysées correctement sans provoquer de régression pour les timestamp non paramétrés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python, rust, sql
- Domaine
- databases
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100