apache / apache/datafusion

UDTF arguments preserving

Aperta
#20,293 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
9.3k
Fork
2.4k
Merge medio
3g 11h
PR unite (30g)
360

Descrizione

Type coercion and simplification applied to UDTF arguments may break some functions with specific arguments parsing logic. e.g. in our project we support UDTF that allows to specify index to scan a table: `scan_with(t, index=[ta, tb])`. Using `SessionContextProvider` as `ContextProvider` the next error is returned:

```
Schema error: No field named index.
```

It caused by the type coercion here:

https://github.com/apache/datafusion/blob/4e2c0f1feaef2452323ada9c394ad943eb0b2805/datafusion/core/src/execution/session_state.rs#L1845-L1852

It would be nice to allow UDTF itself to handle arguments parsing. We could add a flag that will customize this behavior, allowing to pass args as is.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia in datafusion/core/src/execution/session_state.rs, nel codice di coercizione dei tipi intorno alle righe 1845-1852, e verifica come gli argomenti UDTF arrivano a quel punto. Riproduci il caso segnalato scan_with(t, index=[ta, tb]) se possibile. Il lavoro è completo quando gli UDTF possono scegliere di ricevere gli argomenti senza la coercizione o semplificazione che attualmente produce l'errore di campo mancante.

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

Valutazione

Stack tecnologico
rust
Ambito
data-engineering
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.