Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Use the shared aggr_test_schema in CSV scan tests instead of a local copy

Ouverte Adaptée aux débutants
#26,306 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@med9110 y travaille déjà.

Depuis le 14/10/2026.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
85/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
rust
Domaine
data

Piste de recherche

Commence dans le module de tests de datafusion/core/src/datasource/physical_plan/csv.rs et repère la copie privée de aggr_test_schema(). Sa contrepartie publique se trouve dans datafusion/core/src/test_util/mod.rs, importe-la donc depuis crate::test_util et conserve aggr_test_schema_with_missing_col construite au-dessus d'elle. Lance les tests CSV avec cargo test dans le crate datafusion-core. C'est terminé lorsque la copie locale a disparu et que ces tests passent toujours.

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

Description

core enhancement good first issue help wanted tech debt
Is your feature request related to a problem or challenge?

The test module in core/src/datasource/physical_plan/csv.rs defines a private aggr_test_schema() that is a verbatim copy of the public datafusion::test_util::aggr_test_schema(). If the shared schema changes (for example new columns or metadata on aggregate_test_100.csv), the CSV tests keep using the stale copy.

The same module also repeats about 35 lines of scan setup in every rstest case (session context, partitioned_file_groups, CsvOptions, TableSchema, CsvSource, FileScanConfigBuilder), differing only in projection, limit and the expected snapshot (L130-L442). json.rs (L213-L372) does the same with prepare_store and JsonSource.

Describe the solution you'd like
  1. Delete the local aggr_test_schema in the csv.rs tests and import crate::test_util::aggr_test_schema. Keep aggr_test_schema_with_missing_col as a derivation of it.
  2. Optionally add a test helper such as csv_scan_config(file_compression_type, file_schema, |builder| ...) -> FileScanConfig that does the shared setup, so each rstest case only applies its projection or limit and asserts. Do the same for json.rs.
Describe alternatives you've considered

Do step 1 only.

Additional context

Step 1 is a small, self-contained change and a good first issue. Line references are pinned to commit 0d79252f61bd.

Langage dominant
Rust
Étoiles
9.5k
Forks
2.5k
Merge moyen
4 j 19 h
PR mergées (30 j)
342

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/datafusion

Toutes les issues de apache/datafusion

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

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