danielcweeks commented on code in PR #17822:
URL: https://github.com/apache/iceberg/pull/17822#discussion_r4288988443
##########
format/spec.md:
##########
@@ -1112,13 +1219,14 @@ A snapshot consists of the following fields:
| _required_ | **`first-row-id`** | The first `_row_id` assigned
to the first row in the first data file in the first manifest, see [Row
Lineage](#row-lineage) |
| _required_ | **`added-rows`** | The upper bound of the
number of rows with assigned row IDs, see [Row Lineage](#row-lineage) |
| _optional_ | **`key-id`** | ID of the encryption key
that encrypts the root manifest key metadata |
+ | _optional_ | **`constraint-statuses`** | A struct that records the
status of the table's constraints for the snapshot, see [Constraint
Validation](#constraint-validation) |
When committed while the table is at version 4 or higher, a snapshot's
`timestamp-ms` must be strictly greater than its parent snapshot's
`timestamp-ms` on the same branch. Snapshots with no parent, and snapshots that
were committed before a table was upgraded to v4 or higher, do not have this
requirement.
The snapshot summary's `operation` field is used by some operations, like
snapshot expiration, to skip processing certain snapshots. Possible `operation`
values are:
* `append` -- Only data files were added and no files were removed.
-* `replace` -- Data and delete files were added and removed without changing
table data; i.e., compaction, changing the data file format, or relocating data
files.
+* `replace` -- Data and delete files were added and removed without changing
table data; i.e., compaction, changing the data file format, or relocating data
files. A snapshot that only records [constraint
statuses](#constraint-validation) and does not add or remove files also uses
`replace`.
Review Comment:
Could we simplify this with:
`replace` -- Metadata, Data, and delete files . . .
We already use replace for metadata rewrites. I don't know tha twe need to
then call out a second time that constraint status updates also use replace.
--
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]