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

   Efficient implementations:
   * min & max work directly on the values child array.
   * sum folds over run lengths & values, without decompressing the array.
   
   In particular, those implementations takes care of the logical offset & len 
of the run-end-encoded arrays. This is non-trivial:
   * We get the physical start & end indices in O(log(#runs)), but those are 
incorrect for empty arrays.
   * Slicing can happen in the middle of a run. For sum, we need to track the 
logical start & end and reduce the run length accordingly.
   
   Finally, one caveat: the aggregation functions only work when the child 
values array is a primitive array. That's fine ~always, but some client might 
store the values in an unexpected type. They'll either get None or an Error, 
depending on the aggregation function used.
   
   This feature is tracked in https://github.com/apache/arrow-rs/issues/3520.


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

Reply via email to