Rich-T-kid opened a new pull request, #26826:
URL: https://github.com/apache/datafusion/pull/26826

   ## Which issue does this PR close?
   
   Closes #26812.
   Closes #26813.
   
   Depends on #26817.
   
   ## Rationale for this change
   
   Partial and final hash aggregation currently hash dictionary values for the 
outer group lookup and again inside `DictionaryGroupValuesColumn`. Batches that 
share a values array also repeat the outer work for every new set of keys.
   
   ## What changes are included in this PR?
   
   Keep one dictionary hash cache per group column. A matching values `Arc` 
reuses the hashes and scatters them through the current keys; a different 
pointer replaces the cache.
   
   The same hashes are passed to `DictionaryGroupValuesColumn`, so its value 
lookup does not hash the dictionary a second time. Partial and final 
aggregation both use this path. Non-dictionary and mixed composite keys keep 
the existing behavior.
   
   ## What is the testing strategy for this PR?
   
   Tests cover shared and changed values arrays, null keys and null values, and 
a mixed composite group key. The multi-group-by tests and forced-collision 
build pass.
   
   ## Are there any user-facing changes?
   
   No.
   


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

Reply via email to