-
Notifications
You must be signed in to change notification settings - Fork 916
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vectorized grouping by multiple column #7754
base: main
Are you sure you want to change the base?
Conversation
Paste the values together and use the umash hash of the resulting value for grouping, like we do for the text keys.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7754 +/- ##
==========================================
+ Coverage 80.06% 81.96% +1.89%
==========================================
Files 190 248 +58
Lines 37181 45622 +8441
Branches 9450 11404 +1954
==========================================
+ Hits 29770 37392 +7622
- Misses 2997 3744 +747
- Partials 4414 4486 +72 ☔ View full report in Codecov by Sentry. |
@@ -225,7 +227,7 @@ add_one_range(GroupingPolicyHash *policy, TupleTableSlot *vector_slot, const int | |||
* Remember which aggregation states have already existed, and which we | |||
* have to initialize. State index zero is invalid. | |||
*/ | |||
const uint32 last_initialized_key_index = policy->last_used_key_index; | |||
const uint32 last_initialized_key_index = policy->hashing.last_used_key_index; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did some mechanical refactoring to move more hashing-related data into the hashing strategy struct.
Paste the values together and use the umash hash of the resulting value for grouping, like we do for the text keys.
Up to 150% improvement on some tsbench queries.