Skip to content

Commit 18ced3f

Browse files
committed
chore: only set last assigned order id when sure that a new sort order has been added
1 parent 7223fdd commit 18ced3f

1 file changed

Lines changed: 2 additions & 3 deletions

File tree

pyiceberg/table/update/sorting.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,7 @@ def _apply(self) -> SortOrder:
113113
if next(iter(self._fields), None) is None:
114114
return UNSORTED_SORT_ORDER
115115
else:
116-
_sort_order_id = self._reuse_or_create_sort_order_id()
117-
self._last_assigned_order_id = _sort_order_id
118-
return SortOrder(*self._fields, order_id=_sort_order_id)
116+
return SortOrder(*self._fields, order_id=self._reuse_or_create_sort_order_id())
119117

120118
def _commit(self) -> UpdatesAndRequirements:
121119
"""Apply the pending changes and commit."""
@@ -127,6 +125,7 @@ def _commit(self) -> UpdatesAndRequirements:
127125
self._transaction.table_metadata.default_sort_order_id != new_sort_order.order_id
128126
and self._transaction.table_metadata.sort_order_by_id(new_sort_order.order_id) is None
129127
):
128+
self._last_assigned_order_id = new_sort_order.order_id
130129
updates = (AddSortOrderUpdate(sort_order=new_sort_order), SetDefaultSortOrderUpdate(sort_order_id=-1))
131130
else:
132131
updates = (SetDefaultSortOrderUpdate(sort_order_id=new_sort_order.order_id),)

0 commit comments

Comments
 (0)