scovich opened a new pull request, #7704:
URL: https://github.com/apache/arrow-rs/pull/7704

   # Which issue does this PR close?
   
   Closes https://github.com/apache/arrow-rs/issues/7684
   Closes https://github.com/apache/arrow-rs/issues/7685
   Part of https://github.com/apache/arrow-rs/issues/6736 
https://github.com/apache/arrow-rs/issues/6736
   
   # Rationale for this change
   
   Infallible iteration is _much_ easier to work with, vs. Iterator of Result 
or Result of Iterator. Iteration and validation are strongly correlated, 
because the iterator can only be infallible if the constructor previously 
validated everything the iterator depends on. 
   
   # What changes are included in this PR?
   
   In all three of `VariantMetadata,` `VariantList,` and `VariantObject`:
   * The header object is cleaned up to _only_ consider actual header state. 
Other state is moved to the object itself.
   * Constructors fully validate the object by consuming a fallible iterator
   * The externally visible iterator does a `map(Result::unwrap)` on the same 
fallible iterator, relying on the constructor to prove the unwrap is safe.
   
   In addition:
   * `VariantObject` methods no longer materialize the whole offset+field array
   * `first_byte_from_slice` now returns `u8` instead of `&u8`
   
   # Are there any user-facing changes?
   
   Visibility and signatures of some methods changed.


-- 
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: github-unsubscr...@arrow.apache.org

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

Reply via email to