apache / apache/datafusion-sqlparser-rs

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

Offen
#461 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
3.5k
Forks
772
Ø Merge
4 T. 9 Std.
Gemergte PRs (30 T.)
17

Beschreibung

`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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, die Anweisung mit dem CLI-Beispiel unter Verwendung von MySqlDialect und der bereitgestellten Eingabe create_table.sql zu reproduzieren. Verfolge den Parserfehler für die INDEX-Klausel auf Tabellenebene und füge Abdeckung für diese MySQL-Anweisung hinzu. Überprüfe anschließend, dass sie erfolgreich geparst wird, ohne andere CREATE TABLE-Formen zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
mysql, rust
Bereich
databases
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.