apache / iceberg-go

Apache Iceberg - Go
https://iceberg.apache.org/
Apache License 2.0
142 stars 34 forks source link

feat: more builders and writing manifests #177

Closed dwilson1988 closed 1 week ago

dwilson1988 commented 1 month ago

172

This PR adds Builders for v1/2 ManifestEntry and for DataFile as well as helper funcs to write ManifestLists and Manifest files.

Bonus: fixes a max recursion depth panic in dataFile.EqualityFieldIDs()

One thing I'm not super happy with is manifestEntryV1/2.Data's type has been changed from dataFile to DataFile (the interface type). This was the best way I could come up with to make the builders for both work, but I also feel like it diverges from the pattern a little bit. This may not be a huge deal, but something to consider. You can see how the effects rippled out a little bit in the tests.

nastra commented 1 week ago

@dwilson1988 can you please rebase/fix the merge conflicts?

dwilson1988 commented 1 week ago

@dwilson1988 can you please rebase/fix the merge conflicts?

@nastra done!