You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by si...@apache.org on 2025/10/23 00:33:55 UTC
(iceberg) 07/09: Address review per commnuity sync 10/22
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 4a2017d8fe94cf196f86c89c8e25ebf272b67a64
Author: Prashant Kumar Singh <pr...@snowflake.com>
AuthorDate: Wed Oct 22 17:12:58 2025 +0000
Address review per commnuity sync 10/22
---
.../apache/iceberg/expressions/NamedReference.java | 12 ++++++--
.../iceberg/expressions/ResolvedReference.java | 4 +--
.../org/apache/iceberg/expressions/Unbound.java | 2 +-
.../iceberg/expressions/UnboundAggregate.java | 2 +-
.../apache/iceberg/expressions/UnboundExtract.java | 2 +-
.../iceberg/expressions/UnboundPredicate.java | 2 +-
.../iceberg/expressions/UnboundReference.java | 35 ----------------------
.../iceberg/expressions/UnboundTransform.java | 8 ++---
8 files changed, 20 insertions(+), 47 deletions(-)
diff --git a/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java b/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java
index fdef264561..c2d83bc4df 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java
@@ -20,12 +20,20 @@ package org.apache.iceberg.expressions;
import org.apache.iceberg.Schema;
import org.apache.iceberg.exceptions.ValidationException;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
import org.apache.iceberg.types.Types;
-public class NamedReference<T> extends UnboundReference<T> {
+public class NamedReference<T> implements UnboundTerm<T>, Reference<T> {
+ private final String name;
NamedReference(String name) {
- super(name);
+ Preconditions.checkNotNull(name, "Name cannot be null");
+ this.name = name;
+ }
+
+ @Override
+ public String name() {
+ return name;
}
@Override
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 195d3b4a56..bc206b76a4 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/ResolvedReference.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/ResolvedReference.java
@@ -22,7 +22,7 @@ import org.apache.iceberg.Schema;
import org.apache.iceberg.exceptions.ValidationException;
import org.apache.iceberg.types.Types;
-public class ResolvedReference<T> extends UnboundReference<T> {
+public class ResolvedReference<T> extends NamedReference<T> {
private final int fieldId;
public ResolvedReference(String name, int fieldId) {
@@ -48,7 +48,7 @@ public class ResolvedReference<T> extends UnboundReference<T> {
}
@Override
- public NamedReference<?> ref() {
+ public NamedReference<T> ref() {
return new NamedReference<>(name());
}
diff --git a/api/src/main/java/org/apache/iceberg/expressions/Unbound.java b/api/src/main/java/org/apache/iceberg/expressions/Unbound.java
index 1a161b1b60..557ac3fd26 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/Unbound.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/Unbound.java
@@ -38,5 +38,5 @@ public interface Unbound<T, B> {
B bind(Types.StructType struct, boolean caseSensitive);
/** Returns this expression's underlying reference. */
- UnboundReference<?> ref();
+ NamedReference<?> ref();
}
diff --git a/api/src/main/java/org/apache/iceberg/expressions/UnboundAggregate.java b/api/src/main/java/org/apache/iceberg/expressions/UnboundAggregate.java
index 017001cdea..6bff05e772 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/UnboundAggregate.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/UnboundAggregate.java
@@ -30,7 +30,7 @@ public class UnboundAggregate<T> extends Aggregate<UnboundTerm<T>>
}
@Override
- public UnboundReference<?> ref() {
+ public NamedReference<?> ref() {
return term().ref();
}
diff --git a/api/src/main/java/org/apache/iceberg/expressions/UnboundExtract.java b/api/src/main/java/org/apache/iceberg/expressions/UnboundExtract.java
index 184bd228be..1f29650c74 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/UnboundExtract.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/UnboundExtract.java
@@ -48,7 +48,7 @@ public class UnboundExtract<T> implements UnboundTerm<T> {
}
@Override
- public UnboundReference<?> ref() {
+ public NamedReference<?> ref() {
return ref;
}
diff --git a/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java b/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java
index 15ece3cbbb..4736ca4a86 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java
@@ -62,7 +62,7 @@ public class UnboundPredicate<T> extends Predicate<T, UnboundTerm<T>>
}
@Override
- public UnboundReference<?> ref() {
+ public NamedReference<?> ref() {
return term().ref();
}
diff --git a/api/src/main/java/org/apache/iceberg/expressions/UnboundReference.java b/api/src/main/java/org/apache/iceberg/expressions/UnboundReference.java
deleted file mode 100644
index 892e30aa4a..0000000000
--- a/api/src/main/java/org/apache/iceberg/expressions/UnboundReference.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.iceberg.expressions;
-
-import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
-
-public abstract class UnboundReference<T> implements UnboundTerm<T>, Reference<T> {
- private final String name;
-
- protected UnboundReference(String name) {
- Preconditions.checkNotNull(name, "Name cannot be null");
- this.name = name;
- }
-
- @Override
- public String name() {
- return name;
- }
-}
diff --git a/api/src/main/java/org/apache/iceberg/expressions/UnboundTransform.java b/api/src/main/java/org/apache/iceberg/expressions/UnboundTransform.java
index 29905cd24b..27059d1d21 100644
--- a/api/src/main/java/org/apache/iceberg/expressions/UnboundTransform.java
+++ b/api/src/main/java/org/apache/iceberg/expressions/UnboundTransform.java
@@ -23,20 +23,20 @@ import org.apache.iceberg.transforms.Transform;
import org.apache.iceberg.types.Types;
public class UnboundTransform<S, T> implements UnboundTerm<T>, Term {
- private final UnboundReference<S> ref;
+ private final NamedReference<S> ref;
private final Transform<S, T> transform;
- UnboundTransform(UnboundReference<S> ref, Transform<S, T> transform) {
+ UnboundTransform(NamedReference<S> ref, Transform<S, T> transform) {
this.ref = ref;
this.transform = transform;
}
@Override
- public UnboundReference<S> ref() {
+ public NamedReference<S> ref() {
return ref;
}
- public UnboundReference<S> unboundRef() {
+ public NamedReference<S> unboundRef() {
return ref;
}