apache / apache/datafusion-sqlparser-rs
Can't parse valid Snowflake compound expression
- Langage dominant
- Rust
- Étoiles
- 3.5k
- Forks
- 772
- Merge moyen
- 4 j 9 h
- PR mergées (30 j)
- 17
Description
Hey there, thanks for the great project!
I'm encountering an issue with the following query, which is valid in Snowflake:
```sql
SELECT v.$2 FROM (VALUES (1, 'value1'), (2, 'value2')) AS v
```
It can't get parsed with sqlparser-rs:
```
Expected: an identifier or a '*' after '.', found: $2 at Line: 1, Column: 10
```
While this syntax isn't valid in PostgreSQL, it is accepted by Snowflake. `SELECT $2 FROM ...` (without the alias) parses correctly, so it seems the parser has trouble with positional parameters when they're part of compound expressions.
Is this a gap in the Snowflake dialect implementation?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par reproduire la requête Snowflake `SELECT v.$2 FROM (VALUES (1, 'value1'), (2, 'value2')) AS v` dans la gestion du dialecte Snowflake du parser. Suivez la manière dont les expressions composées traitent le paramètre positionnel `$2` après un alias. Le travail est terminé lorsque cette expression Snowflake valide est analysée correctement, sans régression du cas existant `SELECT $2 FROM ...`.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- 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
- 42/100