Kurtiscwright opened a new pull request, #1579:
URL: https://github.com/apache/iceberg-rust/pull/1579
## Which issue does this PR close?
- Closes #1576
## What changes are included in this PR?
This PR implements `Default` trait implementations for `DataContentType` and
`ManifestContentType` to enable proper V1→V2 manifest projection as specified
in the Apache Iceberg format specification. As part of solving ManifestList
projection, I did a full audit of ManifestData, ManifestList, ManifestEntry and
Snapshot files. All five file types are now covered for V1 to V2 projection.
## Changes Made
- Added `Default` for `DataContentType`**: Returns `DataContentType::Data`
(value 0) for V1 compatibility
- Added `Default` for `ManifestContentType`**: Returns
`ManifestContentType::Data` (value 0) for V1 compatibility
## Are these changes tested?
- ManifestFile V1→V2 projection test**: Validates
`ManifestFileV1::try_into()` properly sets defaults for missing V2 fields
- ManifestEntry V1→V2 projection test**: Validates
`ManifestEntryV1::try_into()` correctly applies sequence number defaults
- DataFile V1→V2 projection test**: Validates `DataFileSerde::try_into()`
handles V1 field defaults correctly
- Snapshot V1→V2 projection tests**: Two tests covering both scenarios
(with/without optional summary field)
--
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]