liurenjie1024 commented on PR #645:
URL: https://github.com/apache/iceberg-rust/pull/645#issuecomment-2434716448

   Hi, @c-thiel 
   
   > Regarding 1) they are not identical (see also my argument from the start. 
FieldId is optional for unbound spec, but it is not for "previously bound" 
partition specs which are present in TableMetadata. This is a very important 
field which is why I don't like using the unbound spec in place of the 
schemaless spec. It would lead to unnecessary error handling in various places 
where the field is needed. We also can't make the unbound field required.
   
   This makes sense to me. Typically I don't want to introduce data structures 
that don't exists in java/python library, since it would be quite confusing for 
java/python community members to understand and review. But this maybe a 
special case, and I think java implementation's use of `buildUnchecked` maybe 
unsafe either.
   
   > I think we are OK to neither expose enum nor trait now. Would you be ok 
with using the trait internally (pub crate) for now so that I don't have to 
duplicate logic?
   
   I'm fine with limiting trait to crate only without exposing them to user, 
but the `XXInterface` doesn't sound to follow rust's naming convention. There 
are also other methods for removing duplication logics, such as macro. I think 
macro maybe a better tool 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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to