feat(arrow): support schema evolution read with SchemaManager and field-ID-based index mapping

Introduce SchemaManager to load versioned schema files (schema/schema-{id})
and use field-ID-based index mapping (aligned with Java Paimon's
SchemaEvolutionUtil) for reading data files written under older schemas.
This supports add-column (null fill) and type promotion (cast) scenarios.

Also align paimon_type_to_arrow with Python's from_paimon_type:
- TIME always maps to Time32(Millisecond)
- TIMESTAMP precision 0 maps to Second
- Add nested type support: Array, Map, Multiset, Row

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 files changed
tree: fccf5ed5406deb99f3d6df6c59557e547cce7bf8
  1. .devcontainer/
  2. .github/
  3. bindings/
  4. crates/
  5. dev/
  6. docs/
  7. scripts/
  8. .asf.yaml
  9. .gitignore
  10. Cargo.toml
  11. CONTRIBUTING.md
  12. copyright.txt
  13. deny.toml
  14. LICENSE
  15. Makefile
  16. NOTICE
  17. README.md
  18. rust-toolchain.toml
  19. rustfmt.toml
README.md

Apache Paimon Rust   Build Status Latest Version

The rust implementation of Apache Paimon.

Issue Tracker

See Tracking issues of 0.1.0 version for Apache Paimon Rust

Contributing

Apache Paimon Rust is an exciting project currently under active development. Whether you're looking to use it in your projects or contribute to its growth, there are several ways you can get involved:

Documentation

The project documentation is built with MkDocs. See docs/README.md for details.

pip3 install mkdocs-material
cd docs && mkdocs serve

Getting help

Submit issues for bug report or asking questions in discussion.

License

Licensed under Apache License, Version 2.0.