-
Notifications
You must be signed in to change notification settings - Fork 416
Closed
Labels
good first issueGood for newcomersGood for newcomers
Description
Apache Iceberg version
0.7.1 (latest release)
Please describe the bug 🐞
Hello,
There's a minor bug where a partitionspec cannot be updated with a month transform field
source code: https://github.com/apache/iceberg-python/blob/main/pyiceberg/partitioning.py#L346-L369
def _visit_partition_field(schema: Schema, field: PartitionField, visitor: PartitionSpecVisitor[R]) -> R:
source_name = schema.find_column_name(field.source_id)
if not source_name:
raise ValueError(f"Could not find field with id {field.source_id}")
transform = field.transform
if isinstance(transform, IdentityTransform):
return visitor.identity(field.field_id, source_name, field.source_id)
elif isinstance(transform, BucketTransform):
return visitor.bucket(field.field_id, source_name, field.source_id, transform.num_buckets)
elif isinstance(transform, TruncateTransform):
return visitor.truncate(field.field_id, source_name, field.source_id, transform.width)
elif isinstance(transform, DayTransform):
return visitor.day(field.field_id, source_name, field.source_id)
elif isinstance(transform, HourTransform):
return visitor.hour(field.field_id, source_name, field.source_id)
elif isinstance(transform, YearTransform):
return visitor.year(field.field_id, source_name, field.source_id)
elif isinstance(transform, VoidTransform):
return visitor.always_null(field.field_id, source_name, field.source_id)
elif isinstance(transform, UnknownTransform):
return visitor.unknown(field.field_id, source_name, field.source_id, repr(transform))
else:
raise ValueError(f"Unknown transform {transform}")
amogh-jahagirdar
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers