-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[Enhancement] Support aggregate function map_agg. #51967
base: main
Are you sure you want to change the base?
Conversation
be/src/exprs/agg/map_agg.h
Outdated
using KeyType = typename SliceHashSet::key_type; | ||
|
||
MyHashMap hash_map; | ||
void update(MemPool* mem_pool, |
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.
It seems other system implement has a max limit for map_agg
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.
I'm not sure. It seems that the map_agg of Trino does not have a limit, all my implement is simulating the one in Trino.
@stdpain Thanks for the review again! I have changed the code according to your review. Could you please help me review again? |
@stdpain Thanks for all the reviews! |
@stdpain Hi, I'm sorry that I forgot to commit a part of FE codes. Could you please review this again? |
https://github.com/Mergifyio rebase main |
❌ Unable to rebase: user
|
https://github.com/Mergifyio rebase main |
✅ Branch has been successfully rebased |
8879316
to
82f913f
Compare
[FE Incremental Coverage Report]✅ pass : 18 / 19 (94.74%) file detail
|
Signed-off-by: Song Jiacheng <[email protected]>
Quality Gate passedIssues Measures |
[Java-Extensions Incremental Coverage Report]✅ pass : 0 / 0 (0%) |
[BE Incremental Coverage Report]❌ fail : 10 / 83 (12.05%) file detail
|
Why I'm doing:
Map_agg is an aggregate function to generate map value, which is frequently used in Trino. To support migrate from Trino to Starrocks, develop the same function in Starrocks.
Related issue #40894
What I'm doing:
I tried 3 ways to develop this function:
I think the 3rd one will be the best one, and the behavior is just like Trino.
What type of PR is this:
Does this PR entail a change in behavior?
If yes, please specify the type of change:
Checklist:
Bugfix cherry-pick branch check: