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 94fd01c359 [Python] Keep the variable names of Identifier consistent 
with Java (#6520)
94fd01c359 is described below

commit 94fd01c359a82231057676ae0aee2d5abde42c8c
Author: universe-hcy <[email protected]>
AuthorDate: Tue Nov 4 15:39:14 2025 +0800

    [Python] Keep the variable names of Identifier consistent with Java (#6520)
---
 paimon-python/pypaimon/api/rest_api.py             | 16 ++++++-------
 paimon-python/pypaimon/common/identifier.py        | 26 +++++++++++-----------
 paimon-python/pypaimon/schema/data_types.py        |  6 ++---
 .../pypaimon/snapshot/catalog_snapshot_commit.py   |  6 ++---
 paimon-python/pypaimon/tests/rest/rest_server.py   | 18 +++++++++------
 5 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/paimon-python/pypaimon/api/rest_api.py 
b/paimon-python/pypaimon/api/rest_api.py
old mode 100644
new mode 100755
index 037a531e58..d715c8a4aa
--- a/paimon-python/pypaimon/api/rest_api.py
+++ b/paimon-python/pypaimon/api/rest_api.py
@@ -219,15 +219,15 @@ class RESTApi:
     def create_table(self, identifier: Identifier, schema: Schema) -> None:
         request = CreateTableRequest(identifier, schema)
         return self.client.post(
-            self.resource_paths.tables(identifier.database_name),
+            self.resource_paths.tables(identifier.get_database_name()),
             request,
             self.rest_auth_function)
 
     def get_table(self, identifier: Identifier) -> GetTableResponse:
         return self.client.get(
             self.resource_paths.table(
-                identifier.database_name,
-                identifier.object_name),
+                identifier.get_database_name(),
+                identifier.get_object_name()),
             GetTableResponse,
             self.rest_auth_function,
         )
@@ -235,8 +235,8 @@ class RESTApi:
     def drop_table(self, identifier: Identifier) -> GetTableResponse:
         return self.client.delete(
             self.resource_paths.table(
-                identifier.database_name,
-                identifier.object_name),
+                identifier.get_database_name(),
+                identifier.get_object_name()),
             self.rest_auth_function,
         )
 
@@ -250,8 +250,8 @@ class RESTApi:
     def load_table_token(self, identifier: Identifier) -> 
GetTableTokenResponse:
         return self.client.get(
             self.resource_paths.table_token(
-                identifier.database_name,
-                identifier.object_name),
+                identifier.get_database_name(),
+                identifier.get_object_name()),
             GetTableTokenResponse,
             self.rest_auth_function,
         )
@@ -282,7 +282,7 @@ class RESTApi:
         request = CommitTableRequest(table_uuid, snapshot, statistics)
         response = self.client.post_with_response_type(
             self.resource_paths.commit_table(
-                identifier.database_name, identifier.object_name),
+                identifier.get_database_name(), identifier.get_object_name()),
             request,
             CommitTableResponse,
             self.rest_auth_function
diff --git a/paimon-python/pypaimon/common/identifier.py 
b/paimon-python/pypaimon/common/identifier.py
old mode 100644
new mode 100755
index 0731db50db..6851a18074
--- a/paimon-python/pypaimon/common/identifier.py
+++ b/paimon-python/pypaimon/common/identifier.py
@@ -27,13 +27,13 @@ SYSTEM_BRANCH_PREFIX = 'branch-'
 @dataclass
 class Identifier:
 
-    database_name: str = json_field("database", default=None)
-    object_name: str = json_field("object", default=None)
-    branch_name: Optional[str] = json_field("branch", default=None)
+    database: str = json_field("database", default=None)
+    object: str = json_field("object", default=None)
+    branch: Optional[str] = json_field("branch", default=None)
 
     @classmethod
-    def create(cls, database_name: str, object_name: str) -> "Identifier":
-        return cls(database_name, object_name)
+    def create(cls, database: str, object: str) -> "Identifier":
+        return cls(database, object)
 
     @classmethod
     def from_string(cls, full_name: str) -> "Identifier":
@@ -46,21 +46,21 @@ class Identifier:
             raise ValueError("Invalid identifier format: {}".format(full_name))
 
     def get_full_name(self) -> str:
-        if self.branch_name:
-            return "{}.{}.{}".format(self.database_name, self.object_name, 
self.branch_name)
-        return "{}.{}".format(self.database_name, self.object_name)
+        if self.branch:
+            return "{}.{}.{}".format(self.database, self.object, self.branch)
+        return "{}.{}".format(self.database, self.object)
 
     def get_database_name(self) -> str:
-        return self.database_name
+        return self.database
 
     def get_table_name(self) -> str:
-        return self.object_name
+        return self.object
 
     def get_object_name(self) -> str:
-        return self.object_name
+        return self.object
 
     def get_branch_name(self) -> Optional[str]:
-        return self.branch_name
+        return self.branch
 
     def is_system_table(self) -> bool:
-        return self.object_name.startswith('$')
+        return self.object.startswith('$')
diff --git a/paimon-python/pypaimon/schema/data_types.py 
b/paimon-python/pypaimon/schema/data_types.py
old mode 100644
new mode 100755
index c65771d7f2..3f7b30c291
--- a/paimon-python/pypaimon/schema/data_types.py
+++ b/paimon-python/pypaimon/schema/data_types.py
@@ -73,10 +73,8 @@ class AtomicType(DataType):
         super().__init__(nullable)
         self.type = type
 
-    def to_dict(self) -> str:
-        if not self.nullable:
-            return self.type + " NOT NULL"
-        return self.type
+    def to_dict(self) -> Dict[str, Any]:
+        return {"type": self.type if self.nullable else self.type + " NOT 
NULL"}
 
     @classmethod
     def from_dict(cls, data: str) -> "AtomicType":
diff --git a/paimon-python/pypaimon/snapshot/catalog_snapshot_commit.py 
b/paimon-python/pypaimon/snapshot/catalog_snapshot_commit.py
old mode 100644
new mode 100755
index 26796f7766..1ffc80af57
--- a/paimon-python/pypaimon/snapshot/catalog_snapshot_commit.py
+++ b/paimon-python/pypaimon/snapshot/catalog_snapshot_commit.py
@@ -57,9 +57,9 @@ class CatalogSnapshotCommit(SnapshotCommit):
             Exception: If commit fails
         """
         new_identifier = Identifier(
-            database_name=self.identifier.get_database_name(),
-            object_name=self.identifier.get_table_name(),
-            branch_name=branch
+            database=self.identifier.get_database_name(),
+            object=self.identifier.get_table_name(),
+            branch=branch
         )
 
         # Call catalog's commit_snapshot method
diff --git a/paimon-python/pypaimon/tests/rest/rest_server.py 
b/paimon-python/pypaimon/tests/rest/rest_server.py
old mode 100644
new mode 100755
index d2908e59be..1970b79dd0
--- a/paimon-python/pypaimon/tests/rest/rest_server.py
+++ b/paimon-python/pypaimon/tests/rest/rest_server.py
@@ -253,9 +253,9 @@ class RESTCatalogServer:
                 source = 
self.table_metadata_store.get(source_table.get_full_name())
                 
self.table_metadata_store.update({destination_table.get_full_name(): source})
                 source_table_dir = (Path(self.data_path) / self.warehouse
-                                    / source_table.database_name / 
source_table.object_name)
+                                    / source_table.get_database_name() / 
source_table.get_object_name())
                 destination_table_dir = (Path(self.data_path) / self.warehouse
-                                         / destination_table.database_name / 
destination_table.object_name)
+                                         / 
destination_table.get_database_name() / destination_table.get_object_name())
                 if not source_table_dir.exists():
                     destination_table_dir.mkdir(parents=True)
                 else:
@@ -352,7 +352,7 @@ class RESTCatalogServer:
                 table_name_part = table_parts[0]
                 branch_part = table_parts[1]
                 # Recreate identifier without branch for lookup
-                lookup_identifier = 
Identifier.create(identifier.database_name, table_name_part)
+                lookup_identifier = 
Identifier.create(identifier.get_database_name(), table_name_part)
             else:
                 lookup_identifier = identifier
                 branch_part = None
@@ -431,8 +431,10 @@ class RESTCatalogServer:
                     create_table.identifier, 0, create_table.schema, 
str(uuid.uuid4()), False
                 )
                 
self.table_metadata_store.update({create_table.identifier.get_full_name(): 
table_metadata})
-                table_dir = Path(
-                    self.data_path) / self.warehouse / database_name / 
create_table.identifier.object_name / 'schema'
+                table_dir = (
+                    Path(self.data_path) / self.warehouse / database_name /
+                    create_table.identifier.get_object_name() / 'schema'
+                )
                 if not table_dir.exists():
                     table_dir.mkdir(parents=True)
                 with open(table_dir / "schema-0", "w") as f:
@@ -446,7 +448,8 @@ class RESTCatalogServer:
             if identifier.get_full_name() not in self.table_metadata_store:
                 raise TableNotExistException(identifier)
             table_metadata = 
self.table_metadata_store[identifier.get_full_name()]
-            table_path = 
f'file://{self.data_path}/{self.warehouse}/{identifier.database_name}/{identifier.object_name}'
+            table_path = (f'file://{self.data_path}/{self.warehouse}/'
+                          
f'{identifier.get_database_name()}/{identifier.get_object_name()}')
             schema = table_metadata.schema.to_schema()
             response = self.mock_table(identifier, table_metadata, table_path, 
schema)
             return self._mock_response(response, 200)
@@ -522,7 +525,8 @@ class RESTCatalogServer:
         import uuid
 
         # Construct table path: {warehouse}/{database}/{table}
-        table_path = os.path.join(self.data_path, self.warehouse, 
identifier.database_name, identifier.object_name)
+        table_path = os.path.join(self.data_path, self.warehouse, 
identifier.get_database_name(),
+                                  identifier.get_object_name())
 
         # Create directory structure
         snapshot_dir = os.path.join(table_path, "snapshot")

Reply via email to