diff --git a/datafusion/core/src/physical_optimizer/pruning.rs b/datafusion/core/src/physical_optimizer/pruning.rs index 605ef9f9023f..4dd62a894518 100644 --- a/datafusion/core/src/physical_optimizer/pruning.rs +++ b/datafusion/core/src/physical_optimizer/pruning.rs @@ -772,13 +772,19 @@ impl RequiredColumns { column_expr: &Arc, field: &Field, stat_type: StatisticsType, - suffix: &str, ) -> Result> { let (idx, need_to_insert) = match self.find_stat_column(column, stat_type) { Some(idx) => (idx, false), None => (self.columns.len(), true), }; + let suffix = match stat_type { + StatisticsType::Min => "min", + StatisticsType::Max => "max", + StatisticsType::NullCount => "null_count", + StatisticsType::RowCount => "row_count", + }; + let stat_column = phys_expr::Column::new(&format!("{}_{}", column.name(), suffix), idx); @@ -800,7 +806,7 @@ impl RequiredColumns { column_expr: &Arc, field: &Field, ) -> Result> { - self.stat_column_expr(column, column_expr, field, StatisticsType::Min, "min") + self.stat_column_expr(column, column_expr, field, StatisticsType::Min) } /// rewrite col --> col_max @@ -810,7 +816,7 @@ impl RequiredColumns { column_expr: &Arc, field: &Field, ) -> Result> { - self.stat_column_expr(column, column_expr, field, StatisticsType::Max, "max") + self.stat_column_expr(column, column_expr, field, StatisticsType::Max) } /// rewrite col --> col_null_count @@ -820,13 +826,7 @@ impl RequiredColumns { column_expr: &Arc, field: &Field, ) -> Result> { - self.stat_column_expr( - column, - column_expr, - field, - StatisticsType::NullCount, - "null_count", - ) + self.stat_column_expr(column, column_expr, field, StatisticsType::NullCount) } /// rewrite col --> col_row_count @@ -836,13 +836,7 @@ impl RequiredColumns { column_expr: &Arc, field: &Field, ) -> Result> { - self.stat_column_expr( - column, - column_expr, - field, - StatisticsType::RowCount, - "row_count", - ) + self.stat_column_expr(column, column_expr, field, StatisticsType::RowCount) } }