apache / apache/datafusion-python

from_pycapsule! / try_from_pycapsule! macros don't support dunder methods that take arguments

Ouverte
#1,669 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
604
Forks
174
Merge moyen
1 j 7 h
PR mergées (30 j)
4

Description

Split out from #1577 (item 5).

The inline decode that item 5 points at (`register_table_factory` in `context.rs`) calls `__datafusion_table_provider_factory__` with the logical-extension-codec capsule as an argument. The existing `from_pycapsule!` / `try_from_pycapsule!` macros always call the dunder with `call0()`, so this call site can't be folded into them as-is.

Fitting it into the macro would need either a variant that accepts call arguments, or a separate `Option`-returning helper like `table_provider_from_pycapsule` in `crates/util/src/lib.rs`, which already has the same argument-passing shape.

Leaving this open rather than changing the behavior of that registration path without input from whoever knows the intended macro shape.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Start in context.rs at register_table_factory and inspect the from_pycapsule! and try_from_pycapsule! definitions. Compare them with table_provider_from_pycapsule in crates/util/src/lib.rs, then clarify the intended argument-passing shape before changing the macros or adding a helper.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python, rust
Domaine
backend-api-design
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.