@@ -271,16 +271,13 @@ def __init__(self, table: Table, autocommit: bool = False):
271271 table: The table that will be altered.
272272 autocommit: Option to automatically commit the changes when they are staged.
273273 """
274+ self .table_metadata = table .metadata
274275 self ._table = table
275276 self ._autocommit = autocommit
276277 self ._updates = ()
277278 self ._requirements = ()
278279 self ._snapshot_operations = ()
279280
280- @property
281- def table_metadata (self ) -> TableMetadata :
282- return self ._table .metadata
283-
284281 def __enter__ (self ) -> Transaction :
285282 """Start a transaction to update the table."""
286283 return self
@@ -306,7 +303,7 @@ def _apply(self, updates: Tuple[TableUpdate, ...], requirements: Tuple[TableRequ
306303 if type (new_requirement ) not in existing_requirements :
307304 self ._requirements = self ._requirements + (new_requirement ,)
308305
309- self ._table . metadata = update_table_metadata (self .table_metadata , updates )
306+ self .table_metadata = update_table_metadata (self .table_metadata , updates )
310307
311308 if self ._autocommit :
312309 self .commit_transaction ()
@@ -807,6 +804,7 @@ def _before_attempt(state: RetryCallState):
807804 f"({ state .attempt_number - 1 } ) Refreshing metadata and operations for `{ namespace } .{ table } ` and retrying transaction commit..."
808805 )
809806 self ._table .refresh ()
807+ self .table_metadata = self ._table .metadata
810808 self ._updates , self ._requirements = (), ()
811809 for op in self ._snapshot_operations :
812810 op ._cleanup_commit_failure ()
0 commit comments