rdblue commented on code in PR #9661: URL: https://github.com/apache/iceberg/pull/9661#discussion_r1501924946
########## format/spec.md: ########## @@ -1314,6 +1331,24 @@ Default values are added to struct fields in v3. Types `timestamp_ns` and `timestamptz_ns` are added in v3. +Writing V3 metadata: + +* Partition field JSON: + * `source-ids` was added and is required + * `source-id` is no longer required and should be omitted; always use `source-ids` instead +* Sort order JSON: + * `source-ids` was added and is required + * `source-id` is no longer required and should be omitted; always use `source-ids` instead + +Reading older version metadata for V3: + +* Partition field and sort order field `source-ids` must default to a single-value list of the value of `source-id` + +Writing older version metadata: + +* For single-arg transforms, partition field and sort order field `source-id` should be written; `source-ids` must be omitted Review Comment: I think the question is how to handle a case where a field has both `source-id` and `source-ids`. Here, I would simply state that it must be consistent: > For a single-arg transform, partition field and sort order field `source-id` must be written; if `source-ids` is also written it must be a list of one ID that matches the `source-id` field." We can also state above under "Reading v1 or v2 metadata" that for a single-arg transform, `source-id` takes precedence over `source-ids` although we may not want to specify this either. -- 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