apache / apache/datafusion-sqlparser-rs

Escaping of non-latin column names

Abierto
#296 0 comentarios 0 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

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);
```

Guía de contribución

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

Línea de trabajo

El informe ejercita el analizador SQL mediante `ctx.sql(...)` y muestra la ruta fallida `sqlparser::parser`; comienza rastreando cómo se analizan los identificadores entre comillas. Reproduce la consulta con el nombre de columna cirílico y verifica que una forma de escape compatible se analice correctamente.

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

Evaluación

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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.