apache / apache/datafusion

Can not handle `'` characters in PARTITIONED BY clause

Aperta
#9,714 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug
Lingua principale
Rust
Stelle
9.3k
Fork
2.4k
Merge medio
3g 6h
PR unite (30g)
363

Descrizione

Describe the bug

https://github.com/apache/arrow-datafusion/pull/9604 from @metesynnada rationalied COPY option handling 🙏

However one of the tests needed to be commented out: https://github.com/apache/arrow-datafusion/blob/1d0171ab9d33fc7896861dee85804d7daf0a6390/datafusion/sqllogictest/test_files/copy.slt#L114-L142

To Reproduce

@metesynnada explained on https://github.com/synnada-ai/datafusion-upstream/pull/10#discussion_r1526407025

Before this pull request, there was a problem with how escape characters in the PARTITIONED BY clause were processed in both the CREATE EXTERNAL TABLE and COPY TO statements. The issue stemmed from converting the Value to a string too early in the parsing process, leading to errors.

Although it appears that the test passes, in reality, during the execution of CREATE EXTERNAL TABLE, the specified field names do not match as expected, indicating a silent error. This issue should be addressed separately, as it falls outside the scope of the current PR.

I propose that we standardize the approach to handling column names in both the schema definitions and the PARTITIONED BY clauses. Once we establish a consistent method, the relevance of this test can be reassessed.

I will proceed to open an issue to address it.

Expected behavior

The test should pass

Additional context

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalle righe 114–142 di datafusion/sqllogictest/test_files/copy.slt e riproduci il caso PARTITIONED BY che coinvolge un apostrofo. Traccia come vengono gestiti i nomi delle colonne durante il parsing di CREATE EXTERNAL TABLE e COPY TO, quindi ripristina il test e verifica che i nomi dei campi di partizione attesi vengano preservati e che il test passi.

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
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.