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]

Reply via email to