apache / apache/datafusion-python

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

Offen
#1,668 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
604
Forks
174
Ø Merge
1 T. 7 Std.
Gemergte PRs (30 T.)
4

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, rust
Bereich
backend, data-engineering
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.