apache / apache/datafusion-sqlparser-rs
Can't evaluate `CREATE TABLE` with `INDEX` in MySQL
- 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