rluvaton opened a new pull request, #25877: URL: https://github.com/apache/datafusion/pull/25877
Difference with my other PR: - https://github.com/apache/datafusion/pull/25707 That PR goes `BlockedGroupsAccumulator` first which means that it only interact with blocked and any non blocked are wrapped in adapters the reason for that is: - Easier deprecation since there are no usages of the GroupsAccumulator in the API - Cleaner code since you only support one api - It have performance problems until the migration is complete since most of the code will use the slow adapter this PR however does not go that way, it support both blocked and flat without adapter, the reason for that is to keep good performance for unsupported cases while also use blocked when possible ## Which issue does this PR close? Part of: - #24704 ## Rationale for this change See issue ## What changes are included in this PR? It contain `BlockedGroupsAccumulator` trait, helper `BlockedVec`, support `count` in blocked so you see the example usage, change the non-ordered aggregate (skipped ordered to make this pr smaller) to work with either blocked or flat, implement BlockedGroupValues for primitive so you will see how it is being used ## What is the testing strategy for this PR? added tests + existing ## Are there any user-facing changes? yes, but not breaking ones -- 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]
