adutra commented on code in PR #12841: URL: https://github.com/apache/iceberg/pull/12841#discussion_r2053586421
########## format/spec.md: ########## @@ -315,7 +317,7 @@ Struct evolution requires the following rules for default values: * The `write-default` must be set when a field is added and may change * When a required field is added, both defaults must be set to a non-null value * When an optional field is added, the defaults may be null and should be explicitly set -* When a new field is added to a struct with a default value, updating the struct's default is optional +* When a field that is a struct type is added, its default may only be null or non-null. Default values for fields must be stored in field metadata. Review Comment: It might be just me, but as it stands, this sentence sounds odd: > its default may only be null or non-null I read this as: "this assertion may only be true or false". Which is necessarily true :-) Imo we should define what we mean by `non-null` here. It seems that it denotes a non-null struct instantiated with default values for all its fields. The Go language as the term "zero-value" for that. -- 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