apache / apache/datafusion-sqlparser-rs

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

Abierto
#461 2 comentarios 2 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Rust
Estrellas
3.5k
Forks
772
Merge medio
4 d 9 h
PR fusionados (30 d)
17

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza reproduciendo la sentencia con el ejemplo de CLI usando MySqlDialect y la entrada create_table.sql proporcionada. Rastrea el error del parser para la cláusula INDEX a nivel de tabla y añade cobertura para esta sentencia de MySQL. Verifica que se analiza correctamente sin introducir regresiones en otras formas de CREATE TABLE.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
mysql, rust
Área
databases
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.