apache / apache/datafusion-python

Wire FFI_TableProvider / TableProvider(ABC) through to the Rust TableProvider trait

Aperta
#1,668 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
604
Fork
174
Merge medio
1g 7h
PR unite (30g)
4

Descrizione

Split out from #1577 (item 2).

Unlike `CatalogProvider` / `SchemaProvider`, wiring a plain-Python `TableProvider` subclass through to the Rust `TableProvider` trait needs a new `RustWrappedPyTableProvider`, analogous to `RustWrappedPySchemaProvider` in `catalog.rs`. It has to cover `scan()` returning an `ExecutionPlan`, `supports_filters_pushdown`, and statistics.

This is execution-engine work, not a typing-only change, so it doesn't belong in a typing PR. Opening as its own issue so the design (partial pushdown support, how statistics get surfaced to the Python side) can be discussed before someone picks it up.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start by reading catalog.rs, especially RustWrappedPySchemaProvider, and review item 2 from #1577. Trace the TableProvider(ABC) and Rust TableProvider entry points, then clarify how scan(), supports_filters_pushdown, and statistics should cross the boundary. Done means the wrapper and its partial-pushdown and statistics behavior are implemented and agreed.

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

Valutazione

Stack tecnologico
python, rust
Ambito
backend, data-engineering
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.