Skip to content

Commit 3e10f44

Browse files
committed
flatten check_compatible sort
1 parent 0a7a39e commit 3e10f44

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

pyiceberg/table/sorting.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,14 @@ def __repr__(self) -> str:
171171
return f"SortOrder({fields}order_id={self.order_id})"
172172

173173
def check_compatible(self, schema: Schema) -> None:
174-
schema_ids = schema._lazy_id_to_field
175174
for field in self.fields:
176-
if source_field := schema_ids.get(field.source_id):
177-
if not source_field.field_type.is_primitive:
178-
raise ValidationError(f"Cannot sort by non-primitive source field: {source_field}")
179-
if not field.transform.can_transform(source_field.field_type):
180-
raise ValidationError(f"Invalid source type {source_field.field_type} for transform: {field.transform}")
181-
else:
175+
source_field = schema._lazy_id_to_field.get(field.source_id)
176+
if source_field is None:
182177
raise ValidationError(f"Cannot find source column for sort field: {field}")
178+
if not source_field.field_type.is_primitive:
179+
raise ValidationError(f"Cannot sort by non-primitive source field: {source_field}")
180+
if not field.transform.can_transform(source_field.field_type):
181+
raise ValidationError(f"Invalid source type {source_field.field_type} for transform: {field.transform}")
183182

184183

185184
UNSORTED_SORT_ORDER_ID = 0

0 commit comments

Comments
 (0)