danielcweeks opened a new pull request, #18629: URL: https://github.com/apache/iceberg/pull/18629
This PR is still __WIP / DRAFT__ This PR includes the changes necessary to update the class hierarchy for expressions to support the new expressions spec. The goal is to - introduce the new `ValueExpression` side of the expressions with both unbound and bound variants - update the existing predicate expressions to support the new grammar while still preserving the existing API surface area for any predicates used for filtering/metrics evaluation As part of this change, the existing `Expression` interface is promoted to be a super interface of `ValueExpression` and `Predicate`. This is largely for implementation purposes where the spec allows for either an `EXPR` or `PREDICATE` (like function arguments). A high-level overview of bound/unbound is: <img width="667" height="188" alt="image" src="https://github.com/user-attachments/assets/1bb6fe20-e86f-46bd-86c1-67eb3438ec5d" /> A a quick overview of the legacy vs. new interfaces for predicates is: <img width="1021" height="188" alt="image" src="https://github.com/user-attachments/assets/62272163-792d-4c72-a0f6-14f3e7cad594" /> AI Disclosure: - Claude (various models) -- 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]
