rdblue commented on code in PR #16025:
URL: https://github.com/apache/iceberg/pull/16025#discussion_r4161588255


##########
format/spec.md:
##########
@@ -1043,19 +1182,21 @@ Notes:
 
 #### First Row ID Assignment
 
-The `first_row_id` for existing manifests must be preserved when writing a new 
manifest list. The value of `first_row_id` for delete manifests is always 
`null`. The `first_row_id` is only assigned for data manifests that do not have 
a `first_row_id`. Assignment must account for data files that will be assigned 
`first_row_id` values when the manifest is read.
+The `first_row_id` for existing manifests must be preserved when writing a new 
snapshot root. The value of `first_row_id` for delete manifests is always 
`null`. The `first_row_id` is only assigned for data manifests that do not have 
a `first_row_id`. Assignment must account for data files that will be assigned 
`first_row_id` values when the manifest is read. In v4, data files in the root 
manifest must also have a `first_row_id`: existing values must be preserved, 
and data files without one are assigned a `first_row_id` in the same way as 
data manifests.
 
-The first manifest without a `first_row_id` is assigned a value that is 
greater than or equal to the `first_row_id` of the snapshot. Subsequent 
manifests without a `first_row_id` are assigned one based on the previous 
manifest to be assigned a `first_row_id`. Each assigned `first_row_id` must 
increase by the row count of all files that will be assigned a `first_row_id` 
via inheritance in the last assigned manifest. That is, each `first_row_id` 
must be greater than or equal to the last assigned `first_row_id` plus the 
total record count of data files with a null `first_row_id` in the last 
assigned manifest.
+The first manifest without a `first_row_id` is assigned a value that is 
greater than or equal to the `first_row_id` of the snapshot. Subsequent 
manifests without a `first_row_id` are assigned one based on the previous 
manifest to be assigned a `first_row_id`. Each assigned `first_row_id` must 
increase by the row count of all files that will be assigned a `first_row_id` 
via inheritance in the last assigned manifest. That is, each `first_row_id` 
must be greater than or equal to the last assigned `first_row_id` plus the 
total record count of data files with a null `first_row_id` in the last 
assigned manifest. In v4, when the last assigned entry is a data file, each 
`first_row_id` must be greater than or equal to the last assigned 
`first_row_id` plus that data file's `record_count`.

Review Comment:
   This is talking about the root, so we should state that it is the first file 
without a `first_row_id`. Then "Subsequent files" are assigned based on the 
previous assigned file. Then go into how to base the next value on either a 
manifest or on a data file.



-- 
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]

Reply via email to