Skip to content

Commit 6eba7f6

Browse files
committed
dedup
1 parent 3892499 commit 6eba7f6

File tree

1 file changed

+9
-1
lines changed
  • datafusion/expr/src/logical_plan

1 file changed

+9
-1
lines changed

datafusion/expr/src/logical_plan/plan.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2950,9 +2950,17 @@ impl Aggregate {
29502950
group_expr: Vec<Expr>,
29512951
aggr_expr: Vec<Expr>,
29522952
) -> Result<Self> {
2953-
let group_expr = enumerate_grouping_sets(group_expr)?;
2953+
let mut group_expr = enumerate_grouping_sets(group_expr)?;
29542954

29552955
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+
.into_iter()
2962+
.collect::<Vec<_>>();
2963+
}
29562964

29572965
let grouping_expr: Vec<&Expr> = grouping_set_to_exprlist(group_expr.as_slice())?;
29582966

0 commit comments

Comments
 (0)