sungwy commented on code in PR #1083: URL: https://github.com/apache/iceberg-python/pull/1083#discussion_r1729934598
########## pyiceberg/table/__init__.py: ########## @@ -2492,21 +2492,26 @@ def update_column( except ResolveError as e: raise ValidationError(f"Cannot change column type: {full_name}: {field.field_type} -> {field_type}") from e + # if other updates for the same field exist in one transaction: if updated := self._updates.get(field.field_id): self._updates[field.field_id] = NestedField( field_id=updated.field_id, name=updated.name, field_type=field_type or updated.field_type, - doc=doc or updated.doc, - required=updated.required, + doc=doc if doc is not None else updated.doc, + # will raise ValidatorError + # if trying to change an identifier field from required to optional upon commit + required=required or updated.required, Review Comment: > Hi @TiansuYu , I left a comment up there but reposting here as well. While reviewing below test case that updates the required flag I noticed that this is already being handled: https://github.com/apache/iceberg-python/blob/0e6ce1dc8fee21c3b45381961a8902d1ca1ed933/pyiceberg/table/__init__.py#L2513 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org