152152from pyiceberg .utils .concurrent import ExecutorFactory
153153from pyiceberg .utils .config import Config
154154from pyiceberg .utils .datetime import datetime_to_millis
155- from pyiceberg .utils .deprecated import deprecated
155+ from pyiceberg .utils .deprecated import deprecated , deprecation_message
156156from pyiceberg .utils .properties import property_as_bool , property_as_int
157157from pyiceberg .utils .singleton import _convert_to_hashable_type
158158
@@ -1392,7 +1392,7 @@ class CommitTableResponse(IcebergBaseModel):
13921392
13931393
13941394class Table :
1395- identifier : Identifier = Field ()
1395+ _identifier : Identifier = Field ()
13961396 metadata : TableMetadata
13971397 metadata_location : str = Field ()
13981398 io : FileIO
@@ -1401,7 +1401,7 @@ class Table:
14011401 def __init__ (
14021402 self , identifier : Identifier , metadata : TableMetadata , metadata_location : str , io : FileIO , catalog : Catalog
14031403 ) -> None :
1404- self .identifier = identifier
1404+ self ._identifier = identifier
14051405 self .metadata = metadata
14061406 self .metadata_location = metadata_location
14071407 self .io = io
@@ -1428,6 +1428,16 @@ def refresh(self) -> Table:
14281428 self .metadata_location = fresh .metadata_location
14291429 return self
14301430
1431+ @property
1432+ def identifier (self ) -> Identifier :
1433+ """Return the identifier of this table."""
1434+ deprecation_message (
1435+ deprecated_in = "0.8.0" ,
1436+ removed_in = "0.9.0" ,
1437+ help_message = "Table.identifier property is deprecated. Please use Table.name() function instead." ,
1438+ )
1439+ return (self .catalog .name ,) + self ._identifier
1440+
14311441 def name (self ) -> Identifier :
14321442 """Return the identifier of this table."""
14331443 return self .identifier
@@ -1643,7 +1653,7 @@ def refs(self) -> Dict[str, SnapshotRef]:
16431653 def _do_commit (self , updates : Tuple [TableUpdate , ...], requirements : Tuple [TableRequirement , ...]) -> None :
16441654 response = self .catalog ._commit_table ( # pylint: disable=W0212
16451655 CommitTableRequest (
1646- identifier = TableIdentifier (namespace = self .identifier [:- 1 ], name = self .identifier [- 1 ]),
1656+ identifier = TableIdentifier (namespace = self ._identifier [:- 1 ], name = self ._identifier [- 1 ]),
16471657 updates = updates ,
16481658 requirements = requirements ,
16491659 )
@@ -1654,16 +1664,14 @@ def _do_commit(self, updates: Tuple[TableUpdate, ...], requirements: Tuple[Table
16541664 def __eq__ (self , other : Any ) -> bool :
16551665 """Return the equality of two instances of the Table class."""
16561666 return (
1657- self .identifier == other .identifier
1658- and self .metadata == other .metadata
1659- and self .metadata_location == other .metadata_location
1667+ self .name () == other .name () and self .metadata == other .metadata and self .metadata_location == other .metadata_location
16601668 if isinstance (other , Table )
16611669 else False
16621670 )
16631671
16641672 def __repr__ (self ) -> str :
16651673 """Return the string representation of the Table class."""
1666- table_name = self .catalog .table_name_from (self .identifier )
1674+ table_name = self .catalog .table_name_from (self ._identifier )
16671675 schema_str = ",\n " .join (str (column ) for column in self .schema ().columns if self .schema ())
16681676 partition_str = f"partition by: [{ ', ' .join (field .name for field in self .spec ().fields if self .spec ())} ]"
16691677 sort_order_str = f"sort order: [{ ', ' .join (str (field ) for field in self .sort_order ().fields if self .sort_order ())} ]"
0 commit comments