sdd commented on issue #777: URL: https://github.com/apache/iceberg-rust/issues/777#issuecomment-2543379084
> We can do some cool stuff here, for example, if you query id >= 2^31+1 then we know that it doesn't fit into a int field. If you have promoted the id column over time, then we can skip the file based on the schema :) In PyIceberg/Java we have the [AboveMax/BelowMin](https://github.com/apache/iceberg-python/blob/547d881948dfe17c92bdde9e5b63a94d095a110d/pyiceberg/expressions/literals.py#L152-L169) to indicate this. This will be done when we [bind the evaluator to the schema](https://github.com/apache/iceberg-python/blob/547d881948dfe17c92bdde9e5b63a94d095a110d/pyiceberg/expressions/__init__.py#L674-L687). Looping in @sdd since he did a lot on this part 🥳 Thanks for looping me in @Fokko, I'd not seen AboveMax / BelowMin in the other impls before - pretty cool. I'll think about how we would go about implementing this in rust - we don't do many conversions at the moment in [Datum::to](https://github.com/apache/iceberg-rust/blob/main/crates/iceberg/src/spec/values.rs#L1097) anyway - maybe we could add `AboveMax` / `BelowMin` to the `PrimitiveLiteral` enum. Something for the backlog :-) -- 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