This is an automated email from the ASF dual-hosted git repository.

singhpk234 pushed a commit to branch feature/serialize-bound-expression
in repository https://gitbox.apache.org/repos/asf/iceberg.git

commit bb325ebd2bae510a264191e0b6968e8bb771111d
Author: Prashant Singh <[email protected]>
AuthorDate: Tue Oct 14 11:46:51 2025 -0700

    Address review comment
---
 .../java/org/apache/iceberg/expressions/ResolvedReference.java   | 9 +++++++--
 .../java/org/apache/iceberg/expressions/ResolvedTransform.java   | 4 +++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/api/src/main/java/org/apache/iceberg/expressions/ResolvedReference.java 
b/api/src/main/java/org/apache/iceberg/expressions/ResolvedReference.java
index ab272d352b..ba91163b85 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/ResolvedReference.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/ResolvedReference.java
@@ -44,10 +44,13 @@ public class ResolvedReference<T> implements 
UnboundTerm<T>, Reference<T> {
   public BoundTerm<T> bind(Types.StructType struct, boolean caseSensitive) {
     // assumption is that we always have the field id
     Schema schema = struct.asSchema();
-    // we ignore case sensitivity here because field ids are unique
+    // Ignore caseSensitive because the field is referenced by id
     Types.NestedField field = schema.findField(fieldId);
     ValidationException.check(
-        field != null, "Cannot find field '%s' in struct: %s", name, 
schema.asStruct());
+        field != null,
+        "Cannot find field with id '%s' in struct: %s, since we are resolving 
based on ID",
+        fieldId,
+        schema.asStruct());
 
     return new BoundReference<>(field, 
schema.accessorForField(field.fieldId()), name);
   }
@@ -62,9 +65,11 @@ public class ResolvedReference<T> implements UnboundTerm<T>, 
Reference<T> {
     if (this == o) {
       return true;
     }
+
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
+
     ResolvedReference<?> that = (ResolvedReference<?>) o;
     return fieldId == that.fieldId && name.equals(that.name);
   }
diff --git 
a/api/src/main/java/org/apache/iceberg/expressions/ResolvedTransform.java 
b/api/src/main/java/org/apache/iceberg/expressions/ResolvedTransform.java
index 07065b2cd7..b24cd3ece3 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/ResolvedTransform.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/ResolvedTransform.java
@@ -22,7 +22,7 @@ import org.apache.iceberg.exceptions.ValidationException;
 import org.apache.iceberg.transforms.Transform;
 import org.apache.iceberg.types.Types;
 
-public class ResolvedTransform<S, T> implements UnboundTerm<T>, Term {
+public class ResolvedTransform<S, T> implements UnboundTerm<T> {
   private final ResolvedReference<S> ref;
   private final Transform<S, T> transform;
 
@@ -74,9 +74,11 @@ public class ResolvedTransform<S, T> implements 
UnboundTerm<T>, Term {
     if (this == o) {
       return true;
     }
+
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
+
     ResolvedTransform<?, ?> that = (ResolvedTransform<?, ?>) o;
     return ref.equals(that.ref) && transform.equals(that.transform);
   }

Reply via email to