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 2cc8b581a [core] declare InternalRow type definitely instead of 
Pattern <T> in classes related to DV (#3302)
2cc8b581a is described below

commit 2cc8b581a84c1eda3b5c9f1d54f0570f0062bd8a
Author: Yann Byron <[email protected]>
AuthorDate: Tue May 7 12:52:50 2024 +0800

    [core] declare InternalRow type definitely instead of Pattern <T> in 
classes related to DV (#3302)
---
 .../org/apache/paimon/utils/IteratorResultIterator.java | 11 ++++++-----
 .../ApplyDeletionFileRecordIterator.java                | 13 +++++++------
 .../deletionvectors/ApplyDeletionVectorReader.java      | 17 ++++++++++-------
 .../org/apache/paimon/io/KeyValueFileReaderFactory.java |  2 +-
 .../org/apache/paimon/operation/RawFileSplitRead.java   |  2 +-
 .../org/apache/paimon/format/avro/AvroBulkFormat.java   |  2 +-
 6 files changed, 26 insertions(+), 21 deletions(-)

diff --git 
a/paimon-common/src/main/java/org/apache/paimon/utils/IteratorResultIterator.java
 
b/paimon-common/src/main/java/org/apache/paimon/utils/IteratorResultIterator.java
index cb42a371f..579157d44 100644
--- 
a/paimon-common/src/main/java/org/apache/paimon/utils/IteratorResultIterator.java
+++ 
b/paimon-common/src/main/java/org/apache/paimon/utils/IteratorResultIterator.java
@@ -18,6 +18,7 @@
 
 package org.apache.paimon.utils;
 
+import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.reader.FileRecordIterator;
 import org.apache.paimon.reader.RecordReader;
@@ -27,15 +28,15 @@ import javax.annotation.Nullable;
 import java.util.Iterator;
 
 /** A simple {@link RecordReader.RecordIterator} that returns the elements of 
an iterator. */
-public final class IteratorResultIterator<E> extends RecyclableIterator<E>
-        implements FileRecordIterator<E> {
+public final class IteratorResultIterator extends 
RecyclableIterator<InternalRow>
+        implements FileRecordIterator<InternalRow> {
 
-    private final Iterator<E> records;
+    private final Iterator<InternalRow> records;
     private final Path filePath;
     private long nextFilePos;
 
     public IteratorResultIterator(
-            final Iterator<E> records,
+            final Iterator<InternalRow> records,
             final @Nullable Runnable recycler,
             final Path filePath,
             long pos) {
@@ -47,7 +48,7 @@ public final class IteratorResultIterator<E> extends 
RecyclableIterator<E>
 
     @Nullable
     @Override
-    public E next() {
+    public InternalRow next() {
         if (records.hasNext()) {
             nextFilePos++;
             return records.next();
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionFileRecordIterator.java
 
b/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionFileRecordIterator.java
index 8b7a1da5d..69997ab2e 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionFileRecordIterator.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionFileRecordIterator.java
@@ -18,6 +18,7 @@
 
 package org.apache.paimon.deletionvectors;
 
+import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.reader.FileRecordIterator;
 
@@ -26,18 +27,18 @@ import javax.annotation.Nullable;
 import java.io.IOException;
 
 /** A {@link FileRecordIterator} wraps a {@link FileRecordIterator} and {@link 
DeletionVector}. */
-public class ApplyDeletionFileRecordIterator<T> implements 
FileRecordIterator<T> {
+public class ApplyDeletionFileRecordIterator implements 
FileRecordIterator<InternalRow> {
 
-    private final FileRecordIterator<T> iterator;
+    private final FileRecordIterator<InternalRow> iterator;
     private final DeletionVector deletionVector;
 
     public ApplyDeletionFileRecordIterator(
-            FileRecordIterator<T> iterator, DeletionVector deletionVector) {
+            FileRecordIterator<InternalRow> iterator, DeletionVector 
deletionVector) {
         this.iterator = iterator;
         this.deletionVector = deletionVector;
     }
 
-    public FileRecordIterator<T> iterator() {
+    public FileRecordIterator<InternalRow> iterator() {
         return iterator;
     }
 
@@ -57,9 +58,9 @@ public class ApplyDeletionFileRecordIterator<T> implements 
FileRecordIterator<T>
 
     @Nullable
     @Override
-    public T next() throws IOException {
+    public InternalRow next() throws IOException {
         while (true) {
-            T next = iterator.next();
+            InternalRow next = iterator.next();
             if (next == null) {
                 return null;
             }
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionVectorReader.java
 
b/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionVectorReader.java
index bc00be25e..18ab033fb 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionVectorReader.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/deletionvectors/ApplyDeletionVectorReader.java
@@ -18,6 +18,7 @@
 
 package org.apache.paimon.deletionvectors;
 
+import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.reader.FileRecordIterator;
 import org.apache.paimon.reader.RecordReader;
 
@@ -28,18 +29,19 @@ import java.io.IOException;
 import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** A {@link RecordReader} which apply {@link DeletionVector} to filter 
record. */
-public class ApplyDeletionVectorReader<T> implements RecordReader<T> {
+public class ApplyDeletionVectorReader implements RecordReader<InternalRow> {
 
-    private final RecordReader<T> reader;
+    private final RecordReader<InternalRow> reader;
 
     private final DeletionVector deletionVector;
 
-    public ApplyDeletionVectorReader(RecordReader<T> reader, DeletionVector 
deletionVector) {
+    public ApplyDeletionVectorReader(
+            RecordReader<InternalRow> reader, DeletionVector deletionVector) {
         this.reader = reader;
         this.deletionVector = deletionVector;
     }
 
-    public RecordReader<T> reader() {
+    public RecordReader<InternalRow> reader() {
         return reader;
     }
 
@@ -49,8 +51,8 @@ public class ApplyDeletionVectorReader<T> implements 
RecordReader<T> {
 
     @Nullable
     @Override
-    public RecordIterator<T> readBatch() throws IOException {
-        RecordIterator<T> batch = reader.readBatch();
+    public RecordIterator<InternalRow> readBatch() throws IOException {
+        RecordIterator<InternalRow> batch = reader.readBatch();
 
         if (batch == null) {
             return null;
@@ -60,7 +62,8 @@ public class ApplyDeletionVectorReader<T> implements 
RecordReader<T> {
                 batch instanceof FileRecordIterator,
                 "There is a bug, RecordIterator in ApplyDeletionVectorReader 
must be RecordWithPositionIterator");
 
-        return new ApplyDeletionFileRecordIterator<>((FileRecordIterator<T>) 
batch, deletionVector);
+        return new ApplyDeletionFileRecordIterator(
+                (FileRecordIterator<InternalRow>) batch, deletionVector);
     }
 
     @Override
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/io/KeyValueFileReaderFactory.java 
b/paimon-core/src/main/java/org/apache/paimon/io/KeyValueFileReaderFactory.java
index 2a19cbdca..1caff3e68 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/io/KeyValueFileReaderFactory.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/io/KeyValueFileReaderFactory.java
@@ -148,7 +148,7 @@ public class KeyValueFileReaderFactory implements 
FileReaderFactory<KeyValue> {
         Optional<DeletionVector> deletionVector = dvFactory.create(fileName);
         if (deletionVector.isPresent() && !deletionVector.get().isEmpty()) {
             fileRecordReader =
-                    new ApplyDeletionVectorReader<>(fileRecordReader, 
deletionVector.get());
+                    new ApplyDeletionVectorReader(fileRecordReader, 
deletionVector.get());
         }
 
         return new KeyValueDataFileRecordReader(
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/operation/RawFileSplitRead.java 
b/paimon-core/src/main/java/org/apache/paimon/operation/RawFileSplitRead.java
index fb68823ba..5ecc4a4f0 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/operation/RawFileSplitRead.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/operation/RawFileSplitRead.java
@@ -231,7 +231,7 @@ public class RawFileSplitRead implements 
SplitRead<InternalRow> {
 
         Optional<DeletionVector> deletionVector = 
dvFactory.create(file.fileName());
         if (deletionVector.isPresent() && !deletionVector.get().isEmpty()) {
-            return new ApplyDeletionVectorReader<>(fileRecordReader, 
deletionVector.get());
+            return new ApplyDeletionVectorReader(fileRecordReader, 
deletionVector.get());
         }
         return fileRecordReader;
     }
diff --git 
a/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroBulkFormat.java 
b/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroBulkFormat.java
index 083891214..39bba1a08 100644
--- 
a/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroBulkFormat.java
+++ 
b/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroBulkFormat.java
@@ -108,7 +108,7 @@ public class AvroBulkFormat implements FormatReaderFactory {
             long rowPosition = currentRowPosition;
             currentRowPosition += reader.getBlockCount();
             Iterator<InternalRow> iterator = new 
AvroBlockIterator(reader.getBlockCount(), reader);
-            return new IteratorResultIterator<>(
+            return new IteratorResultIterator(
                     iterator, () -> pool.recycler().recycle(ticket), filePath, 
rowPosition);
         }
 

Reply via email to