apache / apache/datafusion-sqlparser-rs

Can't evaluate `CREATE TABLE` with `INDEX` in MySQL

Ouverte
#461 2 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.