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