JanKaul commented on PR #80:
URL: https://github.com/apache/iceberg-rust/pull/80#issuecomment-1766011191

   I will try to explain it the best way I can. Please correct me if I'm wrong.
   
   Iceberg defines it's own [binary serialization 
format](https://iceberg.apache.org/spec/#binary-single-value-serialization) for 
statistics (upper & lower bounds). This statistical information is stored in 
avro files using the [avro binary 
encoding](https://avro.apache.org/docs/1.11.1/specification/#binary-encoding). 
So this is somewhat of a two-layered setup. In order to interpret a value you 
first have to deserialize the avro value into bytes and then convert the bytes 
to a value using the iceberg binary format.
   
   When I implemented `Literal` my goal was to use `serde_bytes::ByteBuf` for 
the avro binary values. Just like you used it for the 
[`ManifestList`](https://github.com/apache/iceberg-rust/blob/main/crates/iceberg/src/spec/manifest_list.rs#L586).
 After deserialization the `ByteBuf` has to be converted to a `Literal` and 
that's what the `Literal::try_from_bytes` method is for.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to