ldudas-marx commented on code in PR #15550:
URL: https://github.com/apache/iceberg/pull/15550#discussion_r2906972624
##########
api/src/main/java/org/apache/iceberg/transforms/Identity.java:
##########
@@ -146,6 +147,10 @@ public UnboundPredicate<T> project(String name,
BoundPredicate<T> predicate) {
@Override
public UnboundPredicate<T> projectStrict(String name, BoundPredicate<T>
predicate) {
+ if (predicate.term() instanceof BoundTransform) {
+ return ProjectionUtil.projectTransformPredicate(this, name, predicate);
Review Comment:
ProjectionUtil.projectTransformPredicate only projects the predicate if it's
term has the same transform, in all other cases returns null. Identity
transform in a predicate doesn't make too much sense. So I guess this will
almost always return null.
I think the best would return "unbound" version of the predicate so it can
be pushed down. Unfortunately the current expression visitors not fully support
non-reference terms so the original issue in the query will be also broken.
So my suggestion would be to just return null to show that this use case is
not really supported.
--
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]