JingsongLi opened a new pull request, #416: URL: https://github.com/apache/paimon-rust/pull/416
## Summary Adds Java-compatible `.row` file format support to the Rust reader/writer path and aligns sidecar file resolution with Java's external-path behavior. ## Changes - Add a `.row` format reader/writer with Java-compatible block layout, footer/index encoding, zstd block compression, primitive/nested type encoding, row selection, and bounded concurrent block prefetching. - Register `.row` in the format reader/writer factory and make table writes produce/read `.row` files when `file.format=row` is configured. - Preserve `.row` projection correctness by decoding with the full file schema before applying the existing table-level projection. - Align sidecar handling with Java by resolving extra files relative to `external_path`'s parent directory and preferring `external_path` for data-file reads. - Add Java fixture compatibility tests, Rust writer payload alignment checks, projection tests, sidecar external-path tests, and table-write roundtrip coverage. ## Testing - [x] `cargo test -p paimon arrow::format::row --lib` - [x] `cargo check -p paimon` - [x] `cargo test -p paimon --lib` ## Notes The `.row` reader uses bounded async range reads for blocks, similar to existing parquet/blob I/O patterns, while preserving output order. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
