wgtmac opened a new pull request, #947:
URL: https://github.com/apache/iceberg-cpp/pull/947

   ## Purpose
   
   C++ converted an unassigned manifest snapshot ID from `null` to `-1`.
   This made inheritance-ready manifests indistinguishable from manifests
   containing a literal `-1`.
   
   As a result, `FastAppend` and `MergeAppend` could directly reuse a manifest
   with explicit `-1` entry snapshot IDs instead of rewriting those entries
   with the new commit snapshot ID.
   
   ## Changes
   
   - Change `ManifestFile::added_snapshot_id` to `std::optional<int64_t>`.
   - Preserve `null` from `ManifestWriter::ToManifestFile`.
   - Directly reuse manifests only when `added_snapshot_id` is null.
   - Copy manifests with an explicit `-1` and assign the commit snapshot ID.
   - Continue requiring `added_snapshot_id` when writing manifest lists.
   - Update committed-manifest consumers to handle the optional in-memory field.
   - Add FastAppend and MergeAppend coverage for null inheritance and explicit 
`-1`.


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