apache / apache/datafusion-sqlparser-rs

Escaping of non-latin column names

Aperta
#296 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
3.5k
Fork
772
Merge medio
4g 9h
PR unite (30g)
17

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Il report esercita il parser SQL tramite `ctx.sql(...)` e mostra il percorso che fallisce `sqlparser::parser`; inizia tracciando come vengono analizzati gli identificatori tra virgolette. Riproduci la query con il nome della colonna in cirillico e verifica che una forma di escaping supportata venga analizzata correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust, sql
Ambito
databases
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.