pub(crate) struct MinMaxStatistics {
min_by_sort_order: Rows,
max_by_sort_order: Rows,
sort_order: LexOrdering,
}Expand description
A normalized representation of file min/max statistics that allows for efficient sorting & comparison.
The min/max values are ordered by Self::sort_order.
Furthermore, any columns that are reversed in the sort order have their min/max values swapped.
Fields§
§min_by_sort_order: Rows§max_by_sort_order: Rows§sort_order: LexOrderingImplementations§
Source§impl MinMaxStatistics
impl MinMaxStatistics
Sourcepub fn sort_order(&self) -> &LexOrdering
pub fn sort_order(&self) -> &LexOrdering
Sort order used to sort the statistics
pub fn new_from_files<'a>( projected_sort_order: &LexOrdering, projected_schema: &SchemaRef, projection: Option<&[usize]>, files: impl IntoIterator<Item = &'a PartitionedFile>, ) -> Result<Self>
pub fn new( sort_order: &LexOrdering, schema: &SchemaRef, min_values: RecordBatch, max_values: RecordBatch, ) -> Result<Self>
Sourcepub fn min_values_sorted(&self) -> Vec<(usize, Row<'_>)>
pub fn min_values_sorted(&self) -> Vec<(usize, Row<'_>)>
Return a sorted list of the min statistics together with the original indices
Auto Trait Implementations§
impl Freeze for MinMaxStatistics
impl !RefUnwindSafe for MinMaxStatistics
impl Send for MinMaxStatistics
impl Sync for MinMaxStatistics
impl Unpin for MinMaxStatistics
impl !UnwindSafe for MinMaxStatistics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more