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

commit a8c1c26c8887dd2a43241b5dbf2c3ce1134ece1a
Author: JingsongLi <jingsongl...@gmail.com>
AuthorDate: Wed Sep 10 15:45:39 2025 +0800

    [python] Rename binary row to generic row
---
 .../pypaimon/manifest/manifest_file_manager.py     | 40 +++++++++++-----------
 .../pypaimon/manifest/manifest_list_manager.py     | 12 +++----
 .../pypaimon/manifest/schema/data_file_meta.py     |  8 ++---
 .../pypaimon/manifest/schema/manifest_entry.py     |  4 +--
 .../pypaimon/manifest/schema/simple_stats.py       |  6 ++--
 paimon-python/pypaimon/read/interval_partition.py  |  6 ++--
 paimon-python/pypaimon/read/partition_info.py      |  4 +--
 paimon-python/pypaimon/read/split.py               |  4 +--
 .../table/row/{binary_row.py => generic_row.py}    | 14 ++++----
 .../pypaimon/tests/py36/ao_read_write_test.py      |  8 ++---
 paimon-python/pypaimon/tests/reader_basic_test.py  |  8 ++---
 .../pypaimon/tests/test_file_store_commit.py       |  4 +--
 paimon-python/pypaimon/write/file_store_commit.py  | 10 +++---
 paimon-python/pypaimon/write/writer/data_writer.py | 14 ++++----
 14 files changed, 71 insertions(+), 71 deletions(-)

diff --git a/paimon-python/pypaimon/manifest/manifest_file_manager.py 
b/paimon-python/pypaimon/manifest/manifest_file_manager.py
index 15d880356c..cedc27f284 100644
--- a/paimon-python/pypaimon/manifest/manifest_file_manager.py
+++ b/paimon-python/pypaimon/manifest/manifest_file_manager.py
@@ -24,8 +24,8 @@ from pypaimon.manifest.schema.data_file_meta import 
DataFileMeta
 from pypaimon.manifest.schema.manifest_entry import (MANIFEST_ENTRY_SCHEMA,
                                                      ManifestEntry)
 from pypaimon.manifest.schema.simple_stats import SimpleStats
-from pypaimon.table.row.binary_row import (BinaryRowDeserializer,
-                                           BinaryRowSerializer)
+from pypaimon.table.row.generic_row import (GenericRowDeserializer,
+                                            GenericRowSerializer)
 
 
 class ManifestFileManager:
@@ -54,26 +54,26 @@ class ManifestFileManager:
             file_dict = dict(record['_FILE'])
             key_dict = dict(file_dict['_KEY_STATS'])
             key_stats = SimpleStats(
-                
min_values=BinaryRowDeserializer.from_bytes(key_dict['_MIN_VALUES'],
-                                                            
self.trimmed_primary_key_fields),
-                
max_values=BinaryRowDeserializer.from_bytes(key_dict['_MAX_VALUES'],
-                                                            
self.trimmed_primary_key_fields),
+                
min_values=GenericRowDeserializer.from_bytes(key_dict['_MIN_VALUES'],
+                                                             
self.trimmed_primary_key_fields),
+                
max_values=GenericRowDeserializer.from_bytes(key_dict['_MAX_VALUES'],
+                                                             
self.trimmed_primary_key_fields),
                 null_counts=key_dict['_NULL_COUNTS'],
             )
             value_dict = dict(file_dict['_VALUE_STATS'])
             value_stats = SimpleStats(
-                
min_values=BinaryRowDeserializer.from_bytes(value_dict['_MIN_VALUES'],
-                                                            
self.table.table_schema.fields),
-                
max_values=BinaryRowDeserializer.from_bytes(value_dict['_MAX_VALUES'],
-                                                            
self.table.table_schema.fields),
+                
min_values=GenericRowDeserializer.from_bytes(value_dict['_MIN_VALUES'],
+                                                             
self.table.table_schema.fields),
+                
max_values=GenericRowDeserializer.from_bytes(value_dict['_MAX_VALUES'],
+                                                             
self.table.table_schema.fields),
                 null_counts=value_dict['_NULL_COUNTS'],
             )
             file_meta = DataFileMeta(
                 file_name=file_dict['_FILE_NAME'],
                 file_size=file_dict['_FILE_SIZE'],
                 row_count=file_dict['_ROW_COUNT'],
-                
min_key=BinaryRowDeserializer.from_bytes(file_dict['_MIN_KEY'], 
self.trimmed_primary_key_fields),
-                
max_key=BinaryRowDeserializer.from_bytes(file_dict['_MAX_KEY'], 
self.trimmed_primary_key_fields),
+                
min_key=GenericRowDeserializer.from_bytes(file_dict['_MIN_KEY'], 
self.trimmed_primary_key_fields),
+                
max_key=GenericRowDeserializer.from_bytes(file_dict['_MAX_KEY'], 
self.trimmed_primary_key_fields),
                 key_stats=key_stats,
                 value_stats=value_stats,
                 min_sequence_number=file_dict['_MIN_SEQUENCE_NUMBER'],
@@ -88,7 +88,7 @@ class ManifestFileManager:
             )
             entry = ManifestEntry(
                 kind=record['_KIND'],
-                
partition=BinaryRowDeserializer.from_bytes(record['_PARTITION'], 
self.partition_key_fields),
+                
partition=GenericRowDeserializer.from_bytes(record['_PARTITION'], 
self.partition_key_fields),
                 bucket=record['_BUCKET'],
                 total_buckets=record['_TOTAL_BUCKETS'],
                 file=file_meta
@@ -104,23 +104,23 @@ class ManifestFileManager:
             avro_record = {
                 "_VERSION": 2,
                 "_KIND": entry.kind,
-                "_PARTITION": BinaryRowSerializer.to_bytes(entry.partition),
+                "_PARTITION": GenericRowSerializer.to_bytes(entry.partition),
                 "_BUCKET": entry.bucket,
                 "_TOTAL_BUCKETS": entry.total_buckets,
                 "_FILE": {
                     "_FILE_NAME": entry.file.file_name,
                     "_FILE_SIZE": entry.file.file_size,
                     "_ROW_COUNT": entry.file.row_count,
-                    "_MIN_KEY": 
BinaryRowSerializer.to_bytes(entry.file.min_key),
-                    "_MAX_KEY": 
BinaryRowSerializer.to_bytes(entry.file.max_key),
+                    "_MIN_KEY": 
GenericRowSerializer.to_bytes(entry.file.min_key),
+                    "_MAX_KEY": 
GenericRowSerializer.to_bytes(entry.file.max_key),
                     "_KEY_STATS": {
-                        "_MIN_VALUES": 
BinaryRowSerializer.to_bytes(entry.file.key_stats.min_values),
-                        "_MAX_VALUES": 
BinaryRowSerializer.to_bytes(entry.file.key_stats.max_values),
+                        "_MIN_VALUES": 
GenericRowSerializer.to_bytes(entry.file.key_stats.min_values),
+                        "_MAX_VALUES": 
GenericRowSerializer.to_bytes(entry.file.key_stats.max_values),
                         "_NULL_COUNTS": entry.file.key_stats.null_counts,
                     },
                     "_VALUE_STATS": {
-                        "_MIN_VALUES": 
BinaryRowSerializer.to_bytes(entry.file.value_stats.min_values),
-                        "_MAX_VALUES": 
BinaryRowSerializer.to_bytes(entry.file.value_stats.max_values),
+                        "_MIN_VALUES": 
GenericRowSerializer.to_bytes(entry.file.value_stats.min_values),
+                        "_MAX_VALUES": 
GenericRowSerializer.to_bytes(entry.file.value_stats.max_values),
                         "_NULL_COUNTS": entry.file.value_stats.null_counts,
                     },
                     "_MIN_SEQUENCE_NUMBER": entry.file.min_sequence_number,
diff --git a/paimon-python/pypaimon/manifest/manifest_list_manager.py 
b/paimon-python/pypaimon/manifest/manifest_list_manager.py
index dc9d5db44d..2fc1eea011 100644
--- a/paimon-python/pypaimon/manifest/manifest_list_manager.py
+++ b/paimon-python/pypaimon/manifest/manifest_list_manager.py
@@ -25,8 +25,8 @@ from pypaimon.manifest.schema.manifest_file_meta import (
     MANIFEST_FILE_META_SCHEMA, ManifestFileMeta)
 from pypaimon.manifest.schema.simple_stats import SimpleStats
 from pypaimon.snapshot.snapshot import Snapshot
-from pypaimon.table.row.binary_row import (BinaryRowDeserializer,
-                                           BinaryRowSerializer)
+from pypaimon.table.row.generic_row import (GenericRowDeserializer,
+                                            GenericRowSerializer)
 
 
 class ManifestListManager:
@@ -58,11 +58,11 @@ class ManifestListManager:
         for record in reader:
             stats_dict = dict(record['_PARTITION_STATS'])
             partition_stats = SimpleStats(
-                min_values=BinaryRowDeserializer.from_bytes(
+                min_values=GenericRowDeserializer.from_bytes(
                     stats_dict['_MIN_VALUES'],
                     self.table.table_schema.get_partition_key_fields()
                 ),
-                max_values=BinaryRowDeserializer.from_bytes(
+                max_values=GenericRowDeserializer.from_bytes(
                     stats_dict['_MAX_VALUES'],
                     self.table.table_schema.get_partition_key_fields()
                 ),
@@ -90,8 +90,8 @@ class ManifestListManager:
                 "_NUM_ADDED_FILES": meta.num_added_files,
                 "_NUM_DELETED_FILES": meta.num_deleted_files,
                 "_PARTITION_STATS": {
-                    "_MIN_VALUES": 
BinaryRowSerializer.to_bytes(meta.partition_stats.min_values),
-                    "_MAX_VALUES": 
BinaryRowSerializer.to_bytes(meta.partition_stats.max_values),
+                    "_MIN_VALUES": 
GenericRowSerializer.to_bytes(meta.partition_stats.min_values),
+                    "_MAX_VALUES": 
GenericRowSerializer.to_bytes(meta.partition_stats.max_values),
                     "_NULL_COUNTS": meta.partition_stats.null_counts,
                 },
                 "_SCHEMA_ID": meta.schema_id,
diff --git a/paimon-python/pypaimon/manifest/schema/data_file_meta.py 
b/paimon-python/pypaimon/manifest/schema/data_file_meta.py
index cd1034ead9..a4eddabc55 100644
--- a/paimon-python/pypaimon/manifest/schema/data_file_meta.py
+++ b/paimon-python/pypaimon/manifest/schema/data_file_meta.py
@@ -23,7 +23,7 @@ from typing import List, Optional
 
 from pypaimon.manifest.schema.simple_stats import (SIMPLE_STATS_SCHEMA,
                                                    SimpleStats)
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 
 
 @dataclass
@@ -31,8 +31,8 @@ class DataFileMeta:
     file_name: str
     file_size: int
     row_count: int
-    min_key: BinaryRow
-    max_key: BinaryRow
+    min_key: GenericRow
+    max_key: GenericRow
     key_stats: SimpleStats
     value_stats: SimpleStats
     min_sequence_number: int
@@ -51,7 +51,7 @@ class DataFileMeta:
     # not a schema field, just for internal usage
     file_path: str = None
 
-    def set_file_path(self, table_path: Path, partition: BinaryRow, bucket: 
int):
+    def set_file_path(self, table_path: Path, partition: GenericRow, bucket: 
int):
         path_builder = table_path
         partition_dict = partition.to_dict()
         for field_name, field_value in partition_dict.items():
diff --git a/paimon-python/pypaimon/manifest/schema/manifest_entry.py 
b/paimon-python/pypaimon/manifest/schema/manifest_entry.py
index 75a51f30c5..9a02341175 100644
--- a/paimon-python/pypaimon/manifest/schema/manifest_entry.py
+++ b/paimon-python/pypaimon/manifest/schema/manifest_entry.py
@@ -20,13 +20,13 @@ from dataclasses import dataclass
 
 from pypaimon.manifest.schema.data_file_meta import (DATA_FILE_META_SCHEMA,
                                                      DataFileMeta)
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 
 
 @dataclass
 class ManifestEntry:
     kind: int
-    partition: BinaryRow
+    partition: GenericRow
     bucket: int
     total_buckets: int
     file: DataFileMeta
diff --git a/paimon-python/pypaimon/manifest/schema/simple_stats.py 
b/paimon-python/pypaimon/manifest/schema/simple_stats.py
index 55b2163e76..45982491b9 100644
--- a/paimon-python/pypaimon/manifest/schema/simple_stats.py
+++ b/paimon-python/pypaimon/manifest/schema/simple_stats.py
@@ -19,13 +19,13 @@
 from dataclasses import dataclass
 from typing import List, Optional
 
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 
 
 @dataclass
 class SimpleStats:
-    min_values: BinaryRow
-    max_values: BinaryRow
+    min_values: GenericRow
+    max_values: GenericRow
     null_counts: Optional[List[int]]
 
 
diff --git a/paimon-python/pypaimon/read/interval_partition.py 
b/paimon-python/pypaimon/read/interval_partition.py
index 3e0c637cd3..130e937f8b 100644
--- a/paimon-python/pypaimon/read/interval_partition.py
+++ b/paimon-python/pypaimon/read/interval_partition.py
@@ -22,7 +22,7 @@ from functools import cmp_to_key
 from typing import Callable, List
 
 from pypaimon.manifest.schema.data_file_meta import DataFileMeta
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 
 
 @dataclass
@@ -91,7 +91,7 @@ class IntervalPartition:
 @dataclass
 class HeapRun:
     run: List[DataFileMeta]
-    comparator: Callable[[BinaryRow, BinaryRow], int]
+    comparator: Callable[[GenericRow, GenericRow], int]
 
     def __lt__(self, other) -> bool:
         my_last_max = self.run[-1].max_key
@@ -99,7 +99,7 @@ class HeapRun:
         return self.comparator(my_last_max, other_last_max) < 0
 
 
-def default_key_comparator(key1: BinaryRow, key2: BinaryRow) -> int:
+def default_key_comparator(key1: GenericRow, key2: GenericRow) -> int:
     if not key1 or not key1.values:
         if not key2 or not key2.values:
             return 0
diff --git a/paimon-python/pypaimon/read/partition_info.py 
b/paimon-python/pypaimon/read/partition_info.py
index e07b37a619..08ba231c6c 100644
--- a/paimon-python/pypaimon/read/partition_info.py
+++ b/paimon-python/pypaimon/read/partition_info.py
@@ -19,7 +19,7 @@
 from typing import Any, List
 
 from pypaimon.schema.data_types import DataField
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 
 
 class PartitionInfo:
@@ -27,7 +27,7 @@ class PartitionInfo:
     Partition information about how the row mapping of outer row.
     """
 
-    def __init__(self, mapping: List[int], partition: BinaryRow):
+    def __init__(self, mapping: List[int], partition: GenericRow):
         self.mapping = mapping
         self.partition_values = partition.values
         self.partition_fields = partition.fields
diff --git a/paimon-python/pypaimon/read/split.py 
b/paimon-python/pypaimon/read/split.py
index f3bfdbab6b..9b802d9880 100644
--- a/paimon-python/pypaimon/read/split.py
+++ b/paimon-python/pypaimon/read/split.py
@@ -20,14 +20,14 @@ from dataclasses import dataclass
 from typing import List
 
 from pypaimon.manifest.schema.data_file_meta import DataFileMeta
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 
 
 @dataclass
 class Split:
     """Implementation of Split for native Python reading."""
     files: List[DataFileMeta]
-    partition: BinaryRow
+    partition: GenericRow
     bucket: int
     _file_paths: List[str]
     _row_count: int
diff --git a/paimon-python/pypaimon/table/row/binary_row.py 
b/paimon-python/pypaimon/table/row/generic_row.py
similarity index 98%
rename from paimon-python/pypaimon/table/row/binary_row.py
rename to paimon-python/pypaimon/table/row/generic_row.py
index d52e38cf11..2f6d3d86ae 100644
--- a/paimon-python/pypaimon/table/row/binary_row.py
+++ b/paimon-python/pypaimon/table/row/generic_row.py
@@ -27,7 +27,7 @@ from pypaimon.table.row.row_kind import RowKind
 
 
 @dataclass
-class BinaryRow:
+class GenericRow:
     values: List[Any]
     fields: List[DataField]
     row_kind: RowKind = RowKind.INSERT
@@ -36,7 +36,7 @@ class BinaryRow:
         return {self.fields[i].name: self.values[i] for i in 
range(len(self.fields))}
 
 
-class BinaryRowDeserializer:
+class GenericRowDeserializer:
     HEADER_SIZE_IN_BITS = 8
     MAX_FIX_PART_DATA_SIZE = 7
     HIGHEST_FIRST_BIT = 0x80 << 56
@@ -47,9 +47,9 @@ class BinaryRowDeserializer:
             cls,
             bytes_data: bytes,
             data_fields: List[DataField]
-    ) -> BinaryRow:
+    ) -> GenericRow:
         if not bytes_data:
-            return BinaryRow([], data_fields)
+            return GenericRow([], data_fields)
 
         arity = len(data_fields)
         actual_data = bytes_data
@@ -66,7 +66,7 @@ class BinaryRowDeserializer:
                 value = cls._parse_field_value(actual_data, 0, 
null_bits_size_in_bytes, i, data_field.type)
             fields.append(value)
 
-        return BinaryRow(fields, data_fields, RowKind(actual_data[0]))
+        return GenericRow(fields, data_fields, RowKind(actual_data[0]))
 
     @classmethod
     def _calculate_bit_set_width_in_bytes(cls, arity: int) -> int:
@@ -235,12 +235,12 @@ class BinaryRowDeserializer:
         )
 
 
-class BinaryRowSerializer:
+class GenericRowSerializer:
     HEADER_SIZE_IN_BITS = 8
     MAX_FIX_PART_DATA_SIZE = 7
 
     @classmethod
-    def to_bytes(cls, binary_row: BinaryRow) -> bytes:
+    def to_bytes(cls, binary_row: GenericRow) -> bytes:
         arity = len(binary_row.fields)
         null_bits_size_in_bytes = cls._calculate_bit_set_width_in_bytes(arity)
         fixed_part_size = null_bits_size_in_bytes + arity * 8
diff --git a/paimon-python/pypaimon/tests/py36/ao_read_write_test.py 
b/paimon-python/pypaimon/tests/py36/ao_read_write_test.py
index de174e6413..01a635b548 100644
--- a/paimon-python/pypaimon/tests/py36/ao_read_write_test.py
+++ b/paimon-python/pypaimon/tests/py36/ao_read_write_test.py
@@ -23,7 +23,7 @@ from pypaimon.schema.data_types import DataField, AtomicType
 
 from pypaimon.table.row.row_kind import RowKind
 
-from pypaimon.table.row.binary_row import BinaryRow, BinaryRowSerializer, 
BinaryRowDeserializer
+from pypaimon.table.row.generic_row import GenericRow, GenericRowSerializer, 
GenericRowDeserializer
 
 from pypaimon.api.options import Options
 from pypaimon.catalog.catalog_context import CatalogContext
@@ -381,8 +381,8 @@ class RESTTableReadWritePy36Test(RESTCatalogBaseTest):
         long_string = "This is a long string that exceeds 7 bytes"
         values = [long_string]
 
-        binary_row = BinaryRow(values, fields, RowKind.INSERT)
-        serialized_bytes = BinaryRowSerializer.to_bytes(binary_row)
+        binary_row = GenericRow(values, fields, RowKind.INSERT)
+        serialized_bytes = GenericRowSerializer.to_bytes(binary_row)
 
         # Verify the last 6 bytes are 0
         # This is because the variable part data is rounded to the nearest 
word (8 bytes)
@@ -390,7 +390,7 @@ class RESTTableReadWritePy36Test(RESTCatalogBaseTest):
         self.assertEqual(serialized_bytes[-6:], b'\x00\x00\x00\x00\x00\x00')
         self.assertEqual(serialized_bytes[20:62].decode('utf-8'), long_string)
         # Deserialize to verify
-        deserialized_row = BinaryRowDeserializer.from_bytes(serialized_bytes, 
fields)
+        deserialized_row = GenericRowDeserializer.from_bytes(serialized_bytes, 
fields)
 
         self.assertEqual(deserialized_row.values[0], long_string)
         self.assertEqual(deserialized_row.row_kind, RowKind.INSERT)
diff --git a/paimon-python/pypaimon/tests/reader_basic_test.py 
b/paimon-python/pypaimon/tests/reader_basic_test.py
index 9402ae93f7..8b4ed05dd6 100644
--- a/paimon-python/pypaimon/tests/reader_basic_test.py
+++ b/paimon-python/pypaimon/tests/reader_basic_test.py
@@ -25,7 +25,7 @@ import pandas as pd
 import pyarrow as pa
 from pypaimon.table.row.row_kind import RowKind
 
-from pypaimon.table.row.binary_row import BinaryRow, BinaryRowSerializer, 
BinaryRowDeserializer
+from pypaimon.table.row.generic_row import GenericRow, GenericRowSerializer, 
GenericRowDeserializer
 
 from pypaimon.schema.data_types import DataField, AtomicType
 
@@ -209,8 +209,8 @@ class ReaderBasicTest(unittest.TestCase):
         long_string = "This is a long string that exceeds 7 bytes"
         values = [long_string]
 
-        binary_row = BinaryRow(values, fields, RowKind.INSERT)
-        serialized_bytes = BinaryRowSerializer.to_bytes(binary_row)
+        binary_row = GenericRow(values, fields, RowKind.INSERT)
+        serialized_bytes = GenericRowSerializer.to_bytes(binary_row)
 
         # Verify the last 6 bytes are 0
         # This is because the variable part data is rounded to the nearest 
word (8 bytes)
@@ -218,7 +218,7 @@ class ReaderBasicTest(unittest.TestCase):
         self.assertEqual(serialized_bytes[-6:], b'\x00\x00\x00\x00\x00\x00')
         self.assertEqual(serialized_bytes[20:62].decode('utf-8'), long_string)
         # Deserialize to verify
-        deserialized_row = BinaryRowDeserializer.from_bytes(serialized_bytes, 
fields)
+        deserialized_row = GenericRowDeserializer.from_bytes(serialized_bytes, 
fields)
 
         self.assertEqual(deserialized_row.values[0], long_string)
         self.assertEqual(deserialized_row.row_kind, RowKind.INSERT)
diff --git a/paimon-python/pypaimon/tests/test_file_store_commit.py 
b/paimon-python/pypaimon/tests/test_file_store_commit.py
index 5110bc0f80..ac7ce95094 100644
--- a/paimon-python/pypaimon/tests/test_file_store_commit.py
+++ b/paimon-python/pypaimon/tests/test_file_store_commit.py
@@ -24,7 +24,7 @@ from unittest.mock import Mock, patch
 from pypaimon.manifest.schema.data_file_meta import DataFileMeta
 from pypaimon.manifest.schema.manifest_entry import ManifestEntry
 from pypaimon.snapshot.snapshot_commit import PartitionStatistics
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 from pypaimon.write.commit_message import CommitMessage
 from pypaimon.write.file_store_commit import FileStoreCommit
 
@@ -379,7 +379,7 @@ class TestFileStoreCommit(unittest.TestCase):
     def _to_entries(commit_messages):
         commit_entries = []
         for msg in commit_messages:
-            partition = BinaryRow(list(msg.partition), None)
+            partition = GenericRow(list(msg.partition), None)
             for file in msg.new_files:
                 commit_entries.append(ManifestEntry(
                     kind=0,
diff --git a/paimon-python/pypaimon/write/file_store_commit.py 
b/paimon-python/pypaimon/write/file_store_commit.py
index ed9f5d16fc..8136117092 100644
--- a/paimon-python/pypaimon/write/file_store_commit.py
+++ b/paimon-python/pypaimon/write/file_store_commit.py
@@ -32,7 +32,7 @@ from pypaimon.snapshot.snapshot import Snapshot
 from pypaimon.snapshot.snapshot_commit import (PartitionStatistics,
                                                SnapshotCommit)
 from pypaimon.snapshot.snapshot_manager import SnapshotManager
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 from pypaimon.table.row.offset_row import OffsetRow
 from pypaimon.write.commit_message import CommitMessage
 
@@ -66,7 +66,7 @@ class FileStoreCommit:
 
         commit_entries = []
         for msg in commit_messages:
-            partition = BinaryRow(list(msg.partition), 
self.table.table_schema.get_partition_key_fields())
+            partition = GenericRow(list(msg.partition), 
self.table.table_schema.get_partition_key_fields())
             for file in msg.new_files:
                 commit_entries.append(ManifestEntry(
                     kind=0,
@@ -106,7 +106,7 @@ class FileStoreCommit:
             entry.kind = 1
             commit_entries.append(entry)
         for msg in commit_messages:
-            partition = BinaryRow(list(msg.partition), 
self.table.table_schema.get_partition_key_fields())
+            partition = GenericRow(list(msg.partition), 
self.table.table_schema.get_partition_key_fields())
             for file in msg.new_files:
                 commit_entries.append(ManifestEntry(
                     kind=0,
@@ -153,11 +153,11 @@ class FileStoreCommit:
             num_added_files=added_file_count,
             num_deleted_files=deleted_file_count,
             partition_stats=SimpleStats(
-                min_values=BinaryRow(
+                min_values=GenericRow(
                     values=partition_min_stats,
                     fields=self.table.table_schema.get_partition_key_fields(),
                 ),
-                max_values=BinaryRow(
+                max_values=GenericRow(
                     values=partition_max_stats,
                     fields=self.table.table_schema.get_partition_key_fields(),
                 ),
diff --git a/paimon-python/pypaimon/write/writer/data_writer.py 
b/paimon-python/pypaimon/write/writer/data_writer.py
index 4a197c6919..a7eb9cb2b8 100644
--- a/paimon-python/pypaimon/write/writer/data_writer.py
+++ b/paimon-python/pypaimon/write/writer/data_writer.py
@@ -28,7 +28,7 @@ from pypaimon.common.core_options import CoreOptions
 from pypaimon.manifest.schema.data_file_meta import DataFileMeta
 from pypaimon.manifest.schema.simple_stats import SimpleStats
 from pypaimon.table.bucket_mode import BucketMode
-from pypaimon.table.row.binary_row import BinaryRow
+from pypaimon.table.row.generic_row import GenericRow
 
 
 class DataWriter(ABC):
@@ -147,16 +147,16 @@ class DataWriter(ABC):
             file_name=file_name,
             file_size=self.file_io.get_file_size(file_path),
             row_count=data.num_rows,
-            min_key=BinaryRow(min_key, self.trimmed_primary_key_fields),
-            max_key=BinaryRow(max_key, self.trimmed_primary_key_fields),
+            min_key=GenericRow(min_key, self.trimmed_primary_key_fields),
+            max_key=GenericRow(max_key, self.trimmed_primary_key_fields),
             key_stats=SimpleStats(
-                BinaryRow(min_key_stats, self.trimmed_primary_key_fields),
-                BinaryRow(max_key_stats, self.trimmed_primary_key_fields),
+                GenericRow(min_key_stats, self.trimmed_primary_key_fields),
+                GenericRow(max_key_stats, self.trimmed_primary_key_fields),
                 key_null_counts,
             ),
             value_stats=SimpleStats(
-                BinaryRow(min_value_stats, self.table.table_schema.fields),
-                BinaryRow(max_value_stats, self.table.table_schema.fields),
+                GenericRow(min_value_stats, self.table.table_schema.fields),
+                GenericRow(max_value_stats, self.table.table_schema.fields),
                 value_null_counts,
             ),
             min_sequence_number=min_seq,

Reply via email to