Skip to content

Commit eda7090

Browse files
committed
Fix memory size accounting for grouped median and avg
1 parent 0365d3c commit eda7090

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

datafusion/functions-aggregate/src/average.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -970,6 +970,7 @@ where
970970
}
971971

972972
fn size(&self) -> usize {
973-
self.counts.capacity() * size_of::<u64>() + self.sums.capacity() * size_of::<T>()
973+
self.counts.capacity() * size_of::<u64>()
974+
+ self.sums.capacity() * size_of::<T::Native>()
974975
}
975976
}

datafusion/functions-aggregate/src/median.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -543,10 +543,10 @@ impl<T: ArrowNumericType + Send> GroupsAccumulator for MedianGroupsAccumulator<T
543543
fn size(&self) -> usize {
544544
self.group_values
545545
.iter()
546-
.map(|values| values.capacity() * size_of::<T>())
546+
.map(|values| values.capacity() * size_of::<T::Native>())
547547
.sum::<usize>()
548-
// account for size of self.grou_values too
549-
+ self.group_values.capacity() * size_of::<Vec<T>>()
548+
// account for size of self.group_values too
549+
+ self.group_values.capacity() * size_of::<Vec<T::Native>>()
550550
}
551551
}
552552

0 commit comments

Comments
 (0)