Skip to content

Arrow restructure#40

Open
DisturbedOcean wants to merge 1 commit intoSwoorup:mainfrom
DisturbedOcean:arrow-restructure
Open

Arrow restructure#40
DisturbedOcean wants to merge 1 commit intoSwoorup:mainfrom
DisturbedOcean:arrow-restructure

Conversation

@DisturbedOcean
Copy link
Copy Markdown
Contributor

@DisturbedOcean DisturbedOcean commented Feb 28, 2026

This improves build times for large structs by only using the arrow_* crates that are required.

This improves build times for large structs by only using the arrow_* crates that are required.
@gooroo-dev
Copy link
Copy Markdown

gooroo-dev bot commented Feb 28, 2026

Please double check the following review of the pull request:

🐞Mistake 🤪Typo 🚨Security 🚀Performance 💪Best Practices 📖Readability ❓Others
0 0 0 0 0 1 0

Changes in the diff

  • 📖 Updated all crate imports from arrow to the new modular crates like arrow_array, arrow_buffer, arrow_schema, and arrow_cast.
  • 🛠️ Updated GitHub Actions workflows to use newer versions of actions and Rust toolchain.
  • 🛠️ Added arrow-cast dependency and workspace member.
  • 🛠️ Introduced a private module _private re-exporting arrow crates for internal use.
  • 🛠️ Adjusted proc macro generated code to use _private re-exports for arrow crates.
  • 📖 Improved code consistency by reordering imports and fixing minor formatting.
  • 🛠️ Updated tests and examples to use new arrow crate imports.
  • 🛠️ Updated error types to use arrow_schema::ArrowError instead of arrow::error::ArrowError.
  • 🛠️ Updated trait implementations to use new arrow crate types and paths.

Identified Issues

No critical or medium issues found. The changes mostly involve refactoring imports and updating dependencies, which are consistent and correct.

Summary

The PR restructures the crate to use the new modular Arrow crates instead of the monolithic arrow crate. This is a necessary modernization step as the Arrow Rust ecosystem moves towards modular crates. The PR updates all imports, dependencies, and generated code accordingly. It also updates CI workflows to use newer GitHub actions and Rust toolchain versions. The tests and examples are updated to reflect these changes.

The only minor note is a readability improvement: the private module _private is a good practice to avoid exposing internal dependencies directly, but it should be clearly documented for maintainers.

Suggested missing tests

No new features or logic changes were introduced, so no new tests are strictly required. Existing tests were updated to use new imports and they cover serialization/deserialization thoroughly.

Conclusion

This PR is a clean and well-executed modernization to the new Arrow Rust modular crates. It improves maintainability and aligns with the Arrow Rust ecosystem's direction. I recommend merging after CI passes.

Summon me to re-review when updated! Yours, Gooroo.dev
React or reply to keep the conversation going!

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 28, 2026

Codecov Report

❌ Patch coverage is 98.55072% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 94.04%. Comparing base (fa28957) to head (61339d4).

Files with missing lines Patch % Lines
arrow_convert_derive/src/derive_struct.rs 97.29% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #40      +/-   ##
==========================================
+ Coverage   94.03%   94.04%   +0.01%     
==========================================
  Files          10       10              
  Lines        2045     2049       +4     
==========================================
+ Hits         1923     1927       +4     
  Misses        122      122              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant