amogh-jahagirdar commented on code in PR #17198:
URL: https://github.com/apache/iceberg/pull/17198#discussion_r3588602716


##########
format/spec.md:
##########
@@ -662,6 +662,10 @@ A manifest may store either data files or delete files, 
but not both because man
 
 A manifest stores files for a single partition spec. When a table’s partition 
spec changes, old files remain in the older manifest and newer files are 
written to a new manifest. This is required because a manifest file’s schema is 
based on its partition spec (see below). The partition spec of each manifest is 
also used to transform predicates on the table's data rows into predicates on 
partition values that are used during job planning to select files from a 
manifest.
 
+#### Content file uniqueness
+
+Within a snapshot, each content file must be referenced by at most one live 
entry across all manifests. A snapshot in which more than one live entry 
references the same content file has undefined behavior. Writers are not 
required to validate uniqueness at commit time.

Review Comment:
   To clarify what I mean, from a scan planning perspective sure we just pick 
the live file in the ADDED + DELETED case (the added one) but clearly from a 
change detection and cleanup perspective it's ambiguous and basically nobody 
intends to produce both in the same snapshot. 



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