Use the shared aggr_test_schema in CSV scan tests instead of a local copy
Maintainer thường phản hồi trong vòng 1 ngày
@med9110 đang làm issue này rồi.
Từ ngày 14/10/2026.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 85/100
Hướng nghiên cứu
Bắt đầu từ mô-đun test trong datafusion/core/src/datasource/physical_plan/csv.rs và tìm bản sao private của aggr_test_schema(). Bản public tương ứng nằm trong datafusion/core/src/test_util/mod.rs, vì vậy hãy import nó từ crate::test_util và giữ aggr_test_schema_with_missing_col được xây dựng trên nó. Chạy các test CSV bằng cargo test trong crate datafusion-core. Hoàn thành khi bản sao cục bộ đã bị xóa và các test đó vẫn pass.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Delete the local
aggr_test_schemain the csv.rs tests and importcrate::test_util::aggr_test_schema. Keepaggr_test_schema_with_missing_colas a derivation of it. - Optionally add a test helper such as
csv_scan_config(file_compression_type, file_schema, |builder| ...) -> FileScanConfigthat 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.
- Ngôn ngữ chính
- Rust
- Star
- 9.5k
- Fork
- 2.5k
- Merge trung bình
- 4 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 342
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/datafusion
-
[Bug] atan2 does not normalize -0.0 the way Spark doesCó thể đã có người làm @spicysharkco đã nhận 1 ngày trước. Đang mởbug spark
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
apache/datafusion#26333 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug help wanted unparser
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
apache/datafusion#26316 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Deduplicate bucket computation in width_bucket_interval_mdn_exactCó thể đã có người làm @nightcityblade đã nhận 2 ngày trước. Đang mởenhancement good first issue help wanted spark tech debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
apache/datafusion#26307 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
gcd benchmarks pass number_rows: 0 for 100k-row inputsCó thể đã có người làm @med9110 đã nhận 2 ngày trước. Đang mởbug functions good first issue help wanted tech debt
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
apache/datafusion#26297 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Struct union type coercion takes field nullability from the wrong field when field order differsCó thể đã có người làm @med9110 đã nhận 2 ngày trước. Đang mởbug help wanted logical-expr tech debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
apache/datafusion#26296 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/datafusion
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
needs: triage type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area:docs documentation P3
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Raaif-Yousuf/Wingman#837 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 1 ngày
-
priority: medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
storytold/photocraft#6759 ·
Maintainer thường phản hồi trong vòng 1 ngày