This is an automated email from the ASF dual-hosted git repository. lzljs3620320 pushed a commit to branch release-1.0 in repository https://gitbox.apache.org/repos/asf/paimon.git
commit d0e4debb31c5ca1ec34f0f43649174e32c8085a9 Author: WenjunMin <[email protected]> AuthorDate: Wed Dec 25 08:24:30 2024 +0800 [core] optimize the binlog table read performance (#4773) --- .../main/java/org/apache/paimon/table/system/BinlogTable.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/paimon-core/src/main/java/org/apache/paimon/table/system/BinlogTable.java b/paimon-core/src/main/java/org/apache/paimon/table/system/BinlogTable.java index 08eea468ea..eafd37f1d7 100644 --- a/paimon-core/src/main/java/org/apache/paimon/table/system/BinlogTable.java +++ b/paimon-core/src/main/java/org/apache/paimon/table/system/BinlogTable.java @@ -110,14 +110,14 @@ public class BinlogTable extends AuditLogTable { @Override public RecordReader<InternalRow> createReader(Split split) throws IOException { DataSplit dataSplit = (DataSplit) split; + InternalRow.FieldGetter[] fieldGetters = wrapped.rowType().fieldGetters(); + if (dataSplit.isStreaming()) { return new PackChangelogReader( dataRead.createReader(split), (row1, row2) -> new AuditLogRow( - readProjection, - convertToArray( - row1, row2, wrapped.rowType().fieldGetters())), + readProjection, convertToArray(row1, row2, fieldGetters)), wrapped.rowType()); } else { return dataRead.createReader(split) @@ -125,10 +125,7 @@ public class BinlogTable extends AuditLogTable { (row) -> new AuditLogRow( readProjection, - convertToArray( - row, - null, - wrapped.rowType().fieldGetters()))); + convertToArray(row, null, fieldGetters))); } }
