apache / apache/datafusion-sqlparser-rs

Escaping of non-latin column names

Aberta
#296 0 comentários 0 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

Hello!

I'm using `DataFusion` to query my csv file. The problem is: column names consists of Cyrillic letters and within sql query I need a way to escape column names. I've tried: single quotes, double quotes, backticks, square brackets.

In all cases I get the following error:
```
2021-02-22T20:45:46.090317300+03:00 DEBUG sqlparser::parser - parsing expr
2021-02-22T20:45:46.092602200+03:00 ERROR convert - error: SQL error: ParserError("Expected an expression:, found: `")
```

Code sample:
```rust
let mut ctx = ExecutionContext::new();

let csv_file = CsvFile::try_new(args.input.as_path().to_str().unwrap(), CsvReadOptions::new())?;
ctx.register_table("transactions", Arc::new(csv_file));

let df = ctx.sql("SELECT `ДАТА` FROM transactions")?;

let results = df.collect().await?;
log::info!("result: {:?}", results);
```

Guia de contribuição

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

Direção de pesquisa

O relatório exercita o parser SQL por meio de `ctx.sql(...)` e mostra o caminho com falha `sqlparser::parser`; comece rastreando como os identificadores entre aspas são analisados. Reproduza a consulta com o nome de coluna em cirílico e verifique se uma forma de escape compatível é analisada com sucesso.

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

Avaliação

Stack de tecnologia
rust, sql
Domínio
databases
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

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