File tree Expand file tree Collapse file tree 1 file changed +4
-6
lines changed
datafusion/physical-expr/src Expand file tree Collapse file tree 1 file changed +4
-6
lines changed Original file line number Diff line number Diff line change @@ -2003,17 +2003,15 @@ pub fn general_array_distinct<OffsetSize: OffsetSizeTrait>(
20032003 field : & FieldRef ,
20042004) -> Result < ArrayRef > {
20052005 let dt = array. value_type ( ) ;
2006- let mut offsets = vec ! [ OffsetSize :: usize_as( 0 ) ] ;
2007- let mut new_arrays = vec ! [ ] ;
2006+ let mut offsets = Vec :: with_capacity ( array. len ( ) ) ;
2007+ offsets. push ( OffsetSize :: usize_as ( 0 ) ) ;
2008+ let mut new_arrays = Vec :: with_capacity ( array. len ( ) ) ;
20082009 let converter = RowConverter :: new ( vec ! [ SortField :: new( dt. clone( ) ) ] ) ?;
20092010 // distinct for each list in ListArray
20102011 for arr in array. iter ( ) . flatten ( ) {
20112012 let values = converter. convert_columns ( & [ arr] ) ?;
2012- let mut rows = Vec :: with_capacity ( values. num_rows ( ) ) ;
20132013 // sort elements in list and remove duplicates
2014- for val in values. iter ( ) . sorted ( ) . dedup ( ) {
2015- rows. push ( val) ;
2016- }
2014+ let rows = values. iter ( ) . sorted ( ) . dedup ( ) . collect :: < Vec < _ > > ( ) ;
20172015 let last_offset: OffsetSize = match offsets. last ( ) . copied ( ) {
20182016 Some ( offset) => offset,
20192017 None => return internal_err ! ( "offsets should not be empty" ) ,
You can’t perform that action at this time.
0 commit comments