Skip to content

Commit df4078c

Browse files
committed
Remove dictionary_batch_extreme; use min_max_batch_generic
Refactor the code to eliminate the dictionary_batch_extreme. Directly pass dictionary arrays through min_max_batch_generic for improved clarity and efficiency.
1 parent 4795aa5 commit df4078c

File tree

1 file changed

+2
-12
lines changed
  • datafusion/functions-aggregate-common/src

1 file changed

+2
-12
lines changed

datafusion/functions-aggregate-common/src/min_max.rs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -465,14 +465,6 @@ fn scalar_extreme(values: &ArrayRef, ordering: Ordering) -> Result<Option<Scalar
465465
Ok(extreme)
466466
}
467467

468-
fn dictionary_batch_extreme(
469-
values: &ArrayRef,
470-
ordering: Ordering,
471-
) -> Result<ScalarValue> {
472-
scalar_extreme(values, ordering)?
473-
.map_or_else(|| ScalarValue::try_from(values.data_type()), Ok)
474-
}
475-
476468
fn wrap_dictionary_scalar(key_type: &DataType, value: ScalarValue) -> ScalarValue {
477469
ScalarValue::Dictionary(Box::new(key_type.clone()), Box::new(value))
478470
}
@@ -820,9 +812,7 @@ pub fn min_batch(values: &ArrayRef) -> Result<ScalarValue> {
820812
DataType::FixedSizeList(_, _) => {
821813
min_max_batch_generic(values, Ordering::Greater)?
822814
}
823-
DataType::Dictionary(_, _) => {
824-
dictionary_batch_extreme(values, Ordering::Greater)?
825-
}
815+
DataType::Dictionary(_, _) => min_max_batch_generic(values, Ordering::Greater)?,
826816
_ => min_max_batch!(values, min),
827817
})
828818
}
@@ -882,7 +872,7 @@ pub fn max_batch(values: &ArrayRef) -> Result<ScalarValue> {
882872
DataType::List(_) => min_max_batch_generic(values, Ordering::Less)?,
883873
DataType::LargeList(_) => min_max_batch_generic(values, Ordering::Less)?,
884874
DataType::FixedSizeList(_, _) => min_max_batch_generic(values, Ordering::Less)?,
885-
DataType::Dictionary(_, _) => dictionary_batch_extreme(values, Ordering::Less)?,
875+
DataType::Dictionary(_, _) => min_max_batch_generic(values, Ordering::Less)?,
886876
_ => min_max_batch!(values, max),
887877
})
888878
}

0 commit comments

Comments
 (0)