Skip to content

Commit 9f6b4a4

Browse files
committed
fix test
1 parent f354928 commit 9f6b4a4

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

datafusion/sql/src/unparser/utils.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ fn find_agg_expr<'a>(agg: &'a Aggregate, column: &Column) -> Result<Option<&'a E
239239
if matches!(agg.group_expr.as_slice(), [Expr::GroupingSet(_)]) {
240240
// For grouping set expr, we must operate by expression list from the grouping set
241241
let grouping_expr = grouping_set_to_exprlist(agg.group_expr.as_slice())?;
242+
let internal_grouping_columns = 2;
242243
match index.cmp(&grouping_expr.len()) {
243244
Ordering::Less => Ok(grouping_expr.into_iter().nth(index)),
244245
Ordering::Equal => {
@@ -247,7 +248,14 @@ fn find_agg_expr<'a>(agg: &'a Aggregate, column: &Column) -> Result<Option<&'a E
247248
)
248249
}
249250
Ordering::Greater => {
250-
Ok(agg.aggr_expr.get(index - grouping_expr.len() - 1))
251+
if index < grouping_expr.len() + internal_grouping_columns {
252+
return internal_err!(
253+
"Tried to unproject column referring to internal grouping column"
254+
);
255+
}
256+
Ok(agg
257+
.aggr_expr
258+
.get(index - grouping_expr.len() - internal_grouping_columns))
251259
}
252260
}
253261
} else {

0 commit comments

Comments
 (0)