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]
