We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3892499 commit 6eba7f6Copy full SHA for 6eba7f6
datafusion/expr/src/logical_plan/plan.rs
@@ -2950,9 +2950,17 @@ impl Aggregate {
2950
group_expr: Vec<Expr>,
2951
aggr_expr: Vec<Expr>,
2952
) -> Result<Self> {
2953
- let group_expr = enumerate_grouping_sets(group_expr)?;
+ let mut group_expr = enumerate_grouping_sets(group_expr)?;
2954
2955
let is_grouping_set = matches!(group_expr.as_slice(), [Expr::GroupingSet(_)]);
2956
+ // Deduplicate group expressions.
2957
+ if !is_grouping_set {
2958
+ group_expr = group_expr
2959
+ .into_iter()
2960
+ .collect::<IndexSet<_>>()
2961
2962
+ .collect::<Vec<_>>();
2963
+ }
2964
2965
let grouping_expr: Vec<&Expr> = grouping_set_to_exprlist(group_expr.as_slice())?;
2966
0 commit comments