giladkl opened a new pull request, #3461: URL: https://github.com/apache/iceberg-rust/pull/3461
## Which issue does this PR close? - Closes #3460. ## What changes are included in this PR? Makes `iceberg::delete_vector` a public module, so `DeleteVector`, `DeleteVectorIterator` and `DeleteVector::deserialize` can be used outside the crate. An engine that uses this crate for metadata but reads Parquet with a reader of its own cannot go through `ArrowReader`, and without this it has to reimplement the `deletion-vector-v1` decoding and validation that #2866 added. This mirrors `puffin`, which already exports the container around the vector (`PuffinReader`, `PuffinWriter`, `DELETION_VECTOR_V1`) but not the vector itself. With the module public, `deny(missing_docs)` applies to it, so: - every public item gets a doc comment, and the module a module-level one; - `DeleteVector::is_empty` is added next to `len`, for clippy's `len_without_is_empty`; - the `#[allow(unused)]` on `DeleteVector::new` is dropped, since it is used. No behaviour changes. `crates/iceberg/public-api.txt` is regenerated with `make generate-public-api`. ## Are these changes tested? No new tests: the change is visibility and documentation. The existing `delete_vector` unit tests pass, as do `cargo clippy --all-targets --all-features -- -D warnings`, `cargo doc` with warnings denied, and the public API check. The decoder is also exercised from outside the crate by our engine's integration test against deletion vectors written by Spark with Iceberg 1.10.1, which is what motivated this change. ## AI Disclosure Developed with Claude Code (Anthropic); the commit carries a `Co-authored-by` trailer for it. I understand and support these changes. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
