2929import thrift .transport .TSocket
3030from hive_metastore .ttypes import (
3131 AlreadyExistsException ,
32+ EnvironmentContext ,
3233 FieldSchema ,
3334 InvalidOperationException ,
3435 LockResponse ,
4445
4546from pyiceberg .catalog import PropertiesUpdateSummary
4647from pyiceberg .catalog .hive import (
48+ DO_NOT_UPDATE_STATS ,
49+ DO_NOT_UPDATE_STATS_DEFAULT ,
4750 HIVE_KERBEROS_AUTH ,
4851 LOCK_CHECK_MAX_WAIT_TIME ,
4952 LOCK_CHECK_MIN_WAIT_TIME ,
@@ -874,7 +877,7 @@ def test_rename_table(hive_table: HiveTable) -> None:
874877
875878 catalog ._client = MagicMock ()
876879 catalog ._client .__enter__ ().get_table .side_effect = [hive_table , renamed_table ]
877- catalog ._client .__enter__ ().alter_table .return_value = None
880+ catalog ._client .__enter__ ().alter_table_with_environment_context .return_value = None
878881
879882 from_identifier = ("default" , "new_tabl2e" )
880883 to_identifier = ("default" , "new_tabl3e" )
@@ -884,7 +887,12 @@ def test_rename_table(hive_table: HiveTable) -> None:
884887
885888 calls = [call (dbname = "default" , tbl_name = "new_tabl2e" ), call (dbname = "default" , tbl_name = "new_tabl3e" )]
886889 catalog ._client .__enter__ ().get_table .assert_has_calls (calls )
887- catalog ._client .__enter__ ().alter_table .assert_called_with (dbname = "default" , tbl_name = "new_tabl2e" , new_tbl = renamed_table )
890+ catalog ._client .__enter__ ().alter_table_with_environment_context .assert_called_with (
891+ dbname = "default" ,
892+ tbl_name = "new_tabl2e" ,
893+ new_tbl = renamed_table ,
894+ environment_context = EnvironmentContext (properties = {DO_NOT_UPDATE_STATS : DO_NOT_UPDATE_STATS_DEFAULT }),
895+ )
888896
889897
890898def test_rename_table_from_self_identifier (hive_table : HiveTable ) -> None :
@@ -902,22 +910,27 @@ def test_rename_table_from_self_identifier(hive_table: HiveTable) -> None:
902910 renamed_table .tableName = "new_tabl3e"
903911
904912 catalog ._client .__enter__ ().get_table .side_effect = [hive_table , renamed_table ]
905- catalog ._client .__enter__ ().alter_table .return_value = None
913+ catalog ._client .__enter__ ().alter_table_with_environment_context .return_value = None
906914 to_identifier = ("default" , "new_tabl3e" )
907915 table = catalog .rename_table (from_table .name (), to_identifier )
908916
909917 assert table .name () == to_identifier
910918
911919 calls = [call (dbname = "default" , tbl_name = "new_tabl2e" ), call (dbname = "default" , tbl_name = "new_tabl3e" )]
912920 catalog ._client .__enter__ ().get_table .assert_has_calls (calls )
913- catalog ._client .__enter__ ().alter_table .assert_called_with (dbname = "default" , tbl_name = "new_tabl2e" , new_tbl = renamed_table )
921+ catalog ._client .__enter__ ().alter_table_with_environment_context .assert_called_with (
922+ dbname = "default" ,
923+ tbl_name = "new_tabl2e" ,
924+ new_tbl = renamed_table ,
925+ environment_context = EnvironmentContext (properties = {DO_NOT_UPDATE_STATS : DO_NOT_UPDATE_STATS_DEFAULT }),
926+ )
914927
915928
916929def test_rename_table_from_does_not_exists () -> None :
917930 catalog = HiveCatalog (HIVE_CATALOG_NAME , uri = HIVE_METASTORE_FAKE_URL )
918931
919932 catalog ._client = MagicMock ()
920- catalog ._client .__enter__ ().alter_table .side_effect = NoSuchObjectException (
933+ catalog ._client .__enter__ ().alter_table_with_environment_context .side_effect = NoSuchObjectException (
921934 message = "hive.default.does_not_exists table not found"
922935 )
923936
@@ -931,7 +944,7 @@ def test_rename_table_to_namespace_does_not_exists() -> None:
931944 catalog = HiveCatalog (HIVE_CATALOG_NAME , uri = HIVE_METASTORE_FAKE_URL )
932945
933946 catalog ._client = MagicMock ()
934- catalog ._client .__enter__ ().alter_table .side_effect = InvalidOperationException (
947+ catalog ._client .__enter__ ().alter_table_with_environment_context .side_effect = InvalidOperationException (
935948 message = "Unable to change partition or table. Database default does not exist Check metastore logs for detailed stack.does_not_exists"
936949 )
937950
0 commit comments