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);
}