giladkl opened a new issue, #3460:
URL: https://github.com/apache/iceberg-rust/issues/3460

   ### Is your feature request related to a problem or challenge?
   
   We are adding Iceberg format version 3 support to an engine that uses this 
crate for the catalog and table metadata but reads Parquet with a reader of its 
own, so it does not go through `iceberg::scan` / `ArrowReader`. To apply 
deletion vectors it has to decode the `deletion-vector-v1` Puffin blobs itself.
   
   The crate already has that decoder: `DeleteVector::deserialize` (#2866), 
with the validation of the length prefix, CRC, magic and key order. But 
`delete_vector` is a private module (`mod delete_vector;` in `lib.rs`, no 
re-export), so the type is unreachable from outside the crate, and we ended up 
duplicating the decoder.
   
   ### Describe the solution you'd like
   
   Make `delete_vector` a public module, the way `puffin` already is (it 
exports `DELETION_VECTOR_V1`, `PuffinReader` and `PuffinWriter`, i.e. the 
container around the vector but not the vector itself). That exposes 
`DeleteVector`, `DeleteVectorIterator` and `DeleteVector::deserialize` to 
engines that read deletion vectors through their own Parquet path. The public 
items need doc comments to satisfy the crate's `deny(missing_docs)`, and 
`public-api.txt` needs regenerating.
   
   ### Willingness to contribute
   
   I can contribute to this feature independently.
   


-- 
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