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 b17d61d44e77..bae351542dca 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 @@ -102,14 +102,14 @@ private BinlogRead(InnerTableRead dataRead) { @Override public RecordReader 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) @@ -117,10 +117,7 @@ public RecordReader createReader(Split split) throws IOException { (row) -> new AuditLogRow( readProjection, - convertToArray( - row, - null, - wrapped.rowType().fieldGetters()))); + convertToArray(row, null, fieldGetters))); } }