@@ -772,13 +772,19 @@ impl RequiredColumns {
772
772
column_expr : & Arc < dyn PhysicalExpr > ,
773
773
field : & Field ,
774
774
stat_type : StatisticsType ,
775
- suffix : & str ,
776
775
) -> Result < Arc < dyn PhysicalExpr > > {
777
776
let ( idx, need_to_insert) = match self . find_stat_column ( column, stat_type) {
778
777
Some ( idx) => ( idx, false ) ,
779
778
None => ( self . columns . len ( ) , true ) ,
780
779
} ;
781
780
781
+ let suffix = match stat_type {
782
+ StatisticsType :: Min => "min" ,
783
+ StatisticsType :: Max => "max" ,
784
+ StatisticsType :: NullCount => "null_count" ,
785
+ StatisticsType :: RowCount => "row_count" ,
786
+ } ;
787
+
782
788
let stat_column =
783
789
phys_expr:: Column :: new ( & format ! ( "{}_{}" , column. name( ) , suffix) , idx) ;
784
790
@@ -800,7 +806,7 @@ impl RequiredColumns {
800
806
column_expr : & Arc < dyn PhysicalExpr > ,
801
807
field : & Field ,
802
808
) -> Result < Arc < dyn PhysicalExpr > > {
803
- self . stat_column_expr ( column, column_expr, field, StatisticsType :: Min , "min" )
809
+ self . stat_column_expr ( column, column_expr, field, StatisticsType :: Min )
804
810
}
805
811
806
812
/// rewrite col --> col_max
@@ -810,7 +816,7 @@ impl RequiredColumns {
810
816
column_expr : & Arc < dyn PhysicalExpr > ,
811
817
field : & Field ,
812
818
) -> Result < Arc < dyn PhysicalExpr > > {
813
- self . stat_column_expr ( column, column_expr, field, StatisticsType :: Max , "max" )
819
+ self . stat_column_expr ( column, column_expr, field, StatisticsType :: Max )
814
820
}
815
821
816
822
/// rewrite col --> col_null_count
@@ -820,13 +826,7 @@ impl RequiredColumns {
820
826
column_expr : & Arc < dyn PhysicalExpr > ,
821
827
field : & Field ,
822
828
) -> Result < Arc < dyn PhysicalExpr > > {
823
- self . stat_column_expr (
824
- column,
825
- column_expr,
826
- field,
827
- StatisticsType :: NullCount ,
828
- "null_count" ,
829
- )
829
+ self . stat_column_expr ( column, column_expr, field, StatisticsType :: NullCount )
830
830
}
831
831
832
832
/// rewrite col --> col_row_count
@@ -836,13 +836,7 @@ impl RequiredColumns {
836
836
column_expr : & Arc < dyn PhysicalExpr > ,
837
837
field : & Field ,
838
838
) -> Result < Arc < dyn PhysicalExpr > > {
839
- self . stat_column_expr (
840
- column,
841
- column_expr,
842
- field,
843
- StatisticsType :: RowCount ,
844
- "row_count" ,
845
- )
839
+ self . stat_column_expr ( column, column_expr, field, StatisticsType :: RowCount )
846
840
}
847
841
}
848
842
0 commit comments