rdblue commented on code in PR #15630: URL: https://github.com/apache/iceberg/pull/15630#discussion_r3024950520
########## format/spec.md: ########## @@ -1637,6 +1683,31 @@ The binary single-value serialization can be used to store the lower and upper b ## Appendix E: Format version changes +### Version 4 + +Relative path support is added in v4. + +Reading v3 metadata for v4: + +* All path fields are treated as absolute paths +* Table metadata field `location` is always present + +Writing v4 metadata: + +* Table metadata JSON: + * `location` is now optional + * When present, `location` must be an absolute path + * When not present, the table location must be managed externally and provided when loading the metadata +* Path fields in all metadata structures may contain relative paths +* Writers should produce relative paths by default for files that reside under the table location +* Absolute paths must be used for files that do not share a common prefix with the table location + +Reading v4 metadata: + +* Readers must check whether path fields contain a URI scheme to determine if a path is absolute or relative +* Relative paths must be resolved against the table location before use (see [Path Resolution](#path-resolution)) +* When `location` is omitted, the table location must be provided (see [Table Location Specification](#table-location-specification) Review Comment: Of the clause beginning with "(see ...". -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
