apache / apache/datafusion-sqlparser-rs
Can't evaluate `CREATE TABLE` with `INDEX` in MySQL
- Langage dominant
- Rust
- Étoiles
- 3.5k
- Forks
- 772
- Merge moyen
- 4 j 9 h
- PR mergées (30 j)
- 17
Description
`sqlparser-rs` couldn't evaluate following MySQL statement.
```mysql
CREATE TABLE users (id INT, name VARCHAR(10), INDEX (id));
```
Evaluating this statement by using cli caused following error.
```
[nannany@nannanynoMBP sqlparser-rs (main %=)]$ cargo run --example cli create_table.sql --mysql
Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Running `target/debug/examples/cli create_table.sql --mysql`
Parsing from file 'create_table.sql' using MySqlDialect
2022-04-17T07:36:14.347Z DEBUG [sqlparser::parser] Parsing sql 'CREATE TABLE users (id INT, name VARCHAR(10), INDEX (id));
'...
Error during parsing: ParserError("Expected a data type name, found: (")
```
I tried version 0.16.0.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par reproduire l’instruction avec l’exemple de CLI en utilisant MySqlDialect et l’entrée create_table.sql fournie. Suivez l’erreur de l’analyseur pour la clause INDEX au niveau de la table, puis ajoutez une couverture pour cette instruction MySQL et vérifiez qu’elle est analysée avec succès sans provoquer de régression dans les autres formes de CREATE TABLE.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- mysql, rust
- Domaine
- databases
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100