-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 push down agg distinct limit #55455
Conversation
...core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/SplitTwoPhaseAggRule.java
Outdated
Show resolved
Hide resolved
be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.cpp
Show resolved
Hide resolved
Signed-off-by: stdpain <[email protected]>
377708b
to
160d3b5
Compare
Signed-off-by: stdpain <[email protected]>
Quality Gate passedIssues Measures |
[Java-Extensions Incremental Coverage Report]✅ pass : 0 / 0 (0%) |
[FE Incremental Coverage Report]✅ pass : 8 / 8 (100.00%) file detail
|
[BE Incremental Coverage Report]✅ pass : 28 / 30 (93.33%) file detail
|
@Mergifyio backport branch-3.4 |
@Mergifyio backport branch-3.3 |
@Mergifyio backport branch-3.2 |
@Mergifyio backport branch-3.1 |
@Mergifyio backport branch-3.0 |
✅ Backports have been created
|
✅ Backports have been created
|
✅ Backports have been created
|
✅ Backports have been created
|
✅ Backports have been created
|
Signed-off-by: stdpain <[email protected]> (cherry picked from commit 4f45265) # Conflicts: # be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.cpp
Signed-off-by: stdpain <[email protected]> (cherry picked from commit 4f45265) # Conflicts: # be/src/exec/aggregate/agg_hash_set.h # be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.cpp
Signed-off-by: stdpain <[email protected]> (cherry picked from commit 4f45265) # Conflicts: # be/src/exec/aggregate/agg_hash_set.h # be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.cpp # fe/fe-core/src/main/java/com/starrocks/qe/SessionVariable.java
Signed-off-by: stdpain <[email protected]> (cherry picked from commit 4f45265) # Conflicts: # be/src/exec/aggregate/agg_hash_set.h # be/src/exec/aggregate/aggregate_blocking_node.cpp # be/src/exec/pipeline/aggregate/aggregate_blocking_sink_operator.h # be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.cpp # fe/fe-core/src/main/java/com/starrocks/qe/SessionVariable.java
Signed-off-by: stdpain <[email protected]> (cherry picked from commit 4f45265) # Conflicts: # be/src/exec/aggregate/agg_hash_set.h # be/src/exec/aggregate/agg_hash_variant.cpp # be/src/exec/aggregate/agg_hash_variant.h # be/src/exec/aggregate/aggregate_blocking_node.cpp # be/src/exec/pipeline/aggregate/aggregate_blocking_sink_operator.h # be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.cpp # be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.h # be/src/exec/pipeline/aggregate/spillable_aggregate_blocking_sink_operator.cpp # fe/fe-core/src/main/java/com/starrocks/qe/SessionVariable.java # fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/SplitTwoPhaseAggRule.java # fe/fe-core/src/test/java/com/starrocks/sql/plan/AggregateTest.java
Why I'm doing:
What I'm doing:
In this patch, we support pushing the distinct limit down to the streaming agg.
The streaming agg will force a preagg pattern for the pushed limit. (Otherwise the limit may lead to undesired results, e.g., a duplicate value in the streaming section reaches the limit limit).
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: