UDTF arguments preserving
- 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