pvary commented on PR #13425:
URL: https://github.com/apache/iceberg/pull/13425#issuecomment-3022802729

   > > I went through the PR, but I'm not convinced that we need a different 
type for PartitionStatsV3.
   > > We don't have different type for TableMetadata for different spec 
versions. We just added the new optional fields which might not be filled, and 
kept the other fields optional.
   > 
   > Table metadata is JSON file and json can have optional fields and can omit 
during the write/read serialization. But this is schema based parquet or avro 
file. If we see the manifest, we do have like `V1Metadata.java`, 
`V2Metadata.java`, `V3Metadata.java` . Similarly I followed a new object.
   
   `V1Metadata.java`, `V2Metadata.java`, `V3Metadata.java` are package private 
classes. They are not exposed to the users.
   
   The corresponding public interface is `ManifestFile` which behaves as I have 
suggested for `PartitionStats`. The `ManifestFile` contains accessors for every 
fields from V1/V2/V3, and `V1Metadata.ManifestFileWrapper`,  implements 
`ManifestFile`.
   
   I think we should follow the same pattern here.
   


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