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

lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new 8cebe06dc1 [core] Refactor name of GlobalIndexReader classes
8cebe06dc1 is described below

commit 8cebe06dc16c249d1c243ce34411a309220f5f61
Author: JingsongLi <[email protected]>
AuthorDate: Tue Dec 16 18:17:44 2025 +0800

    [core] Refactor name of GlobalIndexReader classes
---
 .../globalindex/AbstractGlobalIndexReader.java     | 104 ---------------------
 ...setReader.java => OffsetGlobalIndexReader.java} |   4 +-
 ...nionReader.java => UnionGlobalIndexReader.java} |   4 +-
 .../globalindex/RowRangeGlobalIndexScanner.java    |   4 +-
 .../index/LuceneVectorGlobalIndexReader.java       |  83 +++++++++++++++-
 5 files changed, 84 insertions(+), 115 deletions(-)

diff --git 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/AbstractGlobalIndexReader.java
 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/AbstractGlobalIndexReader.java
deleted file mode 100644
index 1fd7918758..0000000000
--- 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/AbstractGlobalIndexReader.java
+++ /dev/null
@@ -1,104 +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.paimon.globalindex;
-
-import org.apache.paimon.predicate.FieldRef;
-import org.apache.paimon.utils.Range;
-
-import java.util.List;
-
-/** Abstract global index reader to wrap most method. */
-public abstract class AbstractGlobalIndexReader implements GlobalIndexReader {
-
-    private final long rangeEnd;
-
-    protected AbstractGlobalIndexReader(long rangeEnd) {
-        this.rangeEnd = rangeEnd;
-    }
-
-    @Override
-    public GlobalIndexResult visitIsNotNull(FieldRef fieldRef) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitIsNull(FieldRef fieldRef) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitStartsWith(FieldRef fieldRef, Object 
literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitEndsWith(FieldRef fieldRef, Object literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitContains(FieldRef fieldRef, Object literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitLike(FieldRef fieldRef, Object literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitLessThan(FieldRef fieldRef, Object literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitGreaterOrEqual(FieldRef fieldRef, Object 
literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitNotEqual(FieldRef fieldRef, Object literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitLessOrEqual(FieldRef fieldRef, Object 
literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitEqual(FieldRef fieldRef, Object literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitGreaterThan(FieldRef fieldRef, Object 
literal) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitIn(FieldRef fieldRef, List<Object> literals) 
{
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-
-    @Override
-    public GlobalIndexResult visitNotIn(FieldRef fieldRef, List<Object> 
literals) {
-        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
-    }
-}
diff --git 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/OffsetReader.java 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/OffsetGlobalIndexReader.java
similarity index 96%
rename from 
paimon-common/src/main/java/org/apache/paimon/globalindex/OffsetReader.java
rename to 
paimon-common/src/main/java/org/apache/paimon/globalindex/OffsetGlobalIndexReader.java
index e9217ba019..753d66a533 100644
--- 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/OffsetReader.java
+++ 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/OffsetGlobalIndexReader.java
@@ -27,12 +27,12 @@ import java.util.List;
  * A {@link GlobalIndexReader} that wraps another reader and applies an offset 
to all row IDs in the
  * results.
  */
-public class OffsetReader implements GlobalIndexReader {
+public class OffsetGlobalIndexReader implements GlobalIndexReader {
 
     private final GlobalIndexReader wrapped;
     private final long offset;
 
-    public OffsetReader(GlobalIndexReader wrapped, long offset) {
+    public OffsetGlobalIndexReader(GlobalIndexReader wrapped, long offset) {
         this.wrapped = wrapped;
         this.offset = offset;
     }
diff --git 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/GlobalIndexUnionReader.java
 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/UnionGlobalIndexReader.java
similarity index 97%
rename from 
paimon-common/src/main/java/org/apache/paimon/globalindex/GlobalIndexUnionReader.java
rename to 
paimon-common/src/main/java/org/apache/paimon/globalindex/UnionGlobalIndexReader.java
index d2b3ebd251..5d96e2c4a0 100644
--- 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/GlobalIndexUnionReader.java
+++ 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/UnionGlobalIndexReader.java
@@ -28,11 +28,11 @@ import java.util.function.Function;
  * A {@link GlobalIndexReader} that combines results from multiple readers by 
performing a union
  * (OR) operation on their results.
  */
-public class GlobalIndexUnionReader implements GlobalIndexReader {
+public class UnionGlobalIndexReader implements GlobalIndexReader {
 
     private final List<GlobalIndexReader> readers;
 
-    public GlobalIndexUnionReader(List<GlobalIndexReader> readers) {
+    public UnionGlobalIndexReader(List<GlobalIndexReader> readers) {
         this.readers = readers;
     }
 
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/globalindex/RowRangeGlobalIndexScanner.java
 
b/paimon-core/src/main/java/org/apache/paimon/globalindex/RowRangeGlobalIndexScanner.java
index 1000e21291..95eb4be512 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/globalindex/RowRangeGlobalIndexScanner.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/globalindex/RowRangeGlobalIndexScanner.java
@@ -131,13 +131,13 @@ public class RowRangeGlobalIndexScanner implements 
Closeable {
                                     .map(this::toGlobalMeta)
                                     .collect(Collectors.toList());
                     GlobalIndexReader innerReader =
-                            new OffsetReader(
+                            new OffsetGlobalIndexReader(
                                     
globalIndexer.createReader(indexFileReadWrite, globalMetas),
                                     range.from);
                     unionReader.add(innerReader);
                 }
 
-                readers.add(new GlobalIndexUnionReader(unionReader));
+                readers.add(new UnionGlobalIndexReader(unionReader));
             }
         } catch (IOException e) {
             throw new RuntimeException("Failed to create global index reader", 
e);
diff --git 
a/paimon-lucene/src/main/java/org/apache/paimon/lucene/index/LuceneVectorGlobalIndexReader.java
 
b/paimon-lucene/src/main/java/org/apache/paimon/lucene/index/LuceneVectorGlobalIndexReader.java
index 141ba5e4d2..902327990f 100644
--- 
a/paimon-lucene/src/main/java/org/apache/paimon/lucene/index/LuceneVectorGlobalIndexReader.java
+++ 
b/paimon-lucene/src/main/java/org/apache/paimon/lucene/index/LuceneVectorGlobalIndexReader.java
@@ -19,10 +19,12 @@
 package org.apache.paimon.lucene.index;
 
 import org.apache.paimon.fs.SeekableInputStream;
-import org.apache.paimon.globalindex.AbstractGlobalIndexReader;
 import org.apache.paimon.globalindex.GlobalIndexIOMeta;
+import org.apache.paimon.globalindex.GlobalIndexReader;
 import org.apache.paimon.globalindex.GlobalIndexResult;
 import org.apache.paimon.globalindex.io.GlobalIndexFileReader;
+import org.apache.paimon.predicate.FieldRef;
+import org.apache.paimon.utils.Range;
 import org.apache.paimon.utils.RoaringNavigableMap64;
 
 import org.apache.lucene.document.Document;
@@ -48,16 +50,15 @@ import java.util.Set;
  * <p>This implementation uses Lucene's native KnnFloatVectorQuery with HNSW 
graph for efficient
  * approximate nearest neighbor search.
  */
-public class LuceneVectorGlobalIndexReader extends AbstractGlobalIndexReader {
+public class LuceneVectorGlobalIndexReader implements GlobalIndexReader {
 
+    private final long rangeEnd;
     private final List<IndexSearcher> searchers;
     private final List<LuceneIndexMMapDirectory> directories;
-    private final List<GlobalIndexIOMeta> ioMetas;
 
     public LuceneVectorGlobalIndexReader(
             GlobalIndexFileReader fileReader, List<GlobalIndexIOMeta> ioMetas) 
throws IOException {
-        super(ioMetas.get(0).rangeEnd());
-        this.ioMetas = ioMetas;
+        this.rangeEnd = ioMetas.get(0).rangeEnd();
         this.searchers = new ArrayList<>();
         this.directories = new ArrayList<>();
         loadIndices(fileReader, ioMetas);
@@ -203,4 +204,76 @@ public class LuceneVectorGlobalIndexReader extends 
AbstractGlobalIndexReader {
             }
         }
     }
+
+    // =================== unsupported =====================
+
+    @Override
+    public GlobalIndexResult visitIsNotNull(FieldRef fieldRef) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitIsNull(FieldRef fieldRef) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitStartsWith(FieldRef fieldRef, Object 
literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitEndsWith(FieldRef fieldRef, Object literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitContains(FieldRef fieldRef, Object literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitLike(FieldRef fieldRef, Object literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitLessThan(FieldRef fieldRef, Object literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitGreaterOrEqual(FieldRef fieldRef, Object 
literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitNotEqual(FieldRef fieldRef, Object literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitLessOrEqual(FieldRef fieldRef, Object 
literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitEqual(FieldRef fieldRef, Object literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitGreaterThan(FieldRef fieldRef, Object 
literal) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitIn(FieldRef fieldRef, List<Object> literals) 
{
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
+
+    @Override
+    public GlobalIndexResult visitNotIn(FieldRef fieldRef, List<Object> 
literals) {
+        return GlobalIndexResult.fromRange(new Range(0, rangeEnd));
+    }
 }

Reply via email to