apache / apache/datafusion-sqlparser-rs

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

Aberta
#461 2 comentários 2 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Rust
Estrelas
3.5k
Forks
772
Merge médio
4d 9h
PRs com merge (30d)
17

Descrição

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

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece reproduzindo a instrução com o exemplo de CLI usando MySqlDialect e a entrada create_table.sql fornecida. Rastreie o erro do parser para a cláusula INDEX no nível da tabela, depois adicione cobertura para essa instrução MySQL e verifique se ela é analisada com sucesso sem causar regressões em outras formas de CREATE TABLE.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
mysql, rust
Domínio
databases
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.