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]

Reply via email to