pub struct ValueStatistics<T> {
min: Option<T>,
max: Option<T>,
distinct_count: Option<u64>,
null_count: Option<u64>,
is_max_value_exact: bool,
is_min_value_exact: bool,
is_min_max_deprecated: bool,
is_min_max_backwards_compatible: bool,
}
Expand description
Typed statistics for one column chunk
See Statistics
for more details
Fields§
§min: Option<T>
§max: Option<T>
§distinct_count: Option<u64>
§null_count: Option<u64>
§is_max_value_exact: bool
§is_min_value_exact: bool
§is_min_max_deprecated: bool
If true
populate the deprecated min
and max
fields instead of
min_value
and max_value
is_min_max_backwards_compatible: bool
If true
the statistics are compatible with the deprecated min
and
max
fields. See ValueStatistics::is_min_max_backwards_compatible
Implementations§
Source§impl<T: ParquetValueType> ValueStatistics<T>
impl<T: ParquetValueType> ValueStatistics<T>
Sourcepub fn new(
min: Option<T>,
max: Option<T>,
distinct_count: Option<u64>,
null_count: Option<u64>,
is_min_max_deprecated: bool,
) -> Self
pub fn new( min: Option<T>, max: Option<T>, distinct_count: Option<u64>, null_count: Option<u64>, is_min_max_deprecated: bool, ) -> Self
Creates new typed statistics.
Sourcepub fn with_min_is_exact(self, is_min_value_exact: bool) -> Self
pub fn with_min_is_exact(self, is_min_value_exact: bool) -> Self
Set whether the stored min
field represents the exact
minimum, or just a bound on the minimum value.
Sourcepub fn with_max_is_exact(self, is_max_value_exact: bool) -> Self
pub fn with_max_is_exact(self, is_max_value_exact: bool) -> Self
Set whether the stored max
field represents the exact
maximum, or just a bound on the maximum value.
Sourcepub fn with_backwards_compatible_min_max(
self,
backwards_compatible: bool,
) -> Self
pub fn with_backwards_compatible_min_max( self, backwards_compatible: bool, ) -> Self
Set whether to write the deprecated min
and max
fields
for compatibility with older parquet writers
This should only be enabled if the field is signed,
see Self::is_min_max_backwards_compatible
Sourcepub fn min(&self) -> &T
👎Deprecated since 53.0.0: Use min_opt
instead
pub fn min(&self) -> &T
min_opt
insteadReturns min value of the statistics.
Panics if min value is not set, e.g. all values are null
.
Use has_min_max_set
method to check that.
Sourcepub fn max(&self) -> &T
👎Deprecated since 53.0.0: Use max_opt
instead
pub fn max(&self) -> &T
max_opt
insteadReturns max value of the statistics.
Panics if max value is not set, e.g. all values are null
.
Use has_min_max_set
method to check that.
Sourcepub fn min_bytes_opt(&self) -> Option<&[u8]>
pub fn min_bytes_opt(&self) -> Option<&[u8]>
Returns min value as bytes of the statistics, if min value is known.
Sourcepub fn min_bytes(&self) -> &[u8] ⓘ
👎Deprecated since 53.0.0: Use min_bytes_opt
instead
pub fn min_bytes(&self) -> &[u8] ⓘ
min_bytes_opt
insteadReturns min value as bytes of the statistics.
Panics if min value is not set, use has_min_max_set
method to check
if values are set.
Sourcepub fn max_bytes_opt(&self) -> Option<&[u8]>
pub fn max_bytes_opt(&self) -> Option<&[u8]>
Returns max value as bytes of the statistics, if max value is known.
Sourcepub fn max_bytes(&self) -> &[u8] ⓘ
👎Deprecated since 53.0.0: Use max_bytes_opt
instead
pub fn max_bytes(&self) -> &[u8] ⓘ
max_bytes_opt
insteadReturns max value as bytes of the statistics.
Panics if max value is not set, use has_min_max_set
method to check
if values are set.
Sourcepub fn has_min_max_set(&self) -> bool
👎Deprecated since 53.0.0: Use min_opt
and max_opt
methods instead
pub fn has_min_max_set(&self) -> bool
min_opt
and max_opt
methods insteadWhether or not min and max values are set.
Normally both min/max values will be set to Some(value)
or None
.
Sourcepub(crate) fn _internal_has_min_max_set(&self) -> bool
pub(crate) fn _internal_has_min_max_set(&self) -> bool
Whether or not min and max values are set.
Normally both min/max values will be set to Some(value)
or None
.
Sourcepub fn max_is_exact(&self) -> bool
pub fn max_is_exact(&self) -> bool
Whether or not max value is set, and is an exact value.
Sourcepub fn min_is_exact(&self) -> bool
pub fn min_is_exact(&self) -> bool
Whether or not min value is set, and is an exact value.
Sourcepub fn distinct_count(&self) -> Option<u64>
pub fn distinct_count(&self) -> Option<u64>
Returns optional value of number of distinct values occurring.
Sourcepub fn null_count(&self) -> u64
👎Deprecated since 53.0.0: Use null_count_opt
method instead
pub fn null_count(&self) -> u64
null_count_opt
method insteadReturns number of null values for the column. Note that this includes all nulls when column is part of the complex type.
Sourcepub fn null_count_opt(&self) -> Option<u64>
pub fn null_count_opt(&self) -> Option<u64>
Returns null count.
Sourcefn is_min_max_deprecated(&self) -> bool
fn is_min_max_deprecated(&self) -> bool
Returns true
if statistics were created using old min/max fields.
Sourcepub fn is_min_max_backwards_compatible(&self) -> bool
pub fn is_min_max_backwards_compatible(&self) -> bool
Old versions of parquet stored statistics in min
and max
fields, ordered
using signed comparison. This resulted in an undefined ordering for unsigned
quantities, such as booleans and unsigned integers.
These fields were therefore deprecated in favour of min_value
and max_value
,
which have a type-defined sort order.
However, not all readers have been updated. For backwards compatibility, this method
returns true
if the statistics within this have a signed sort order, that is
compatible with being stored in the deprecated min
and max
fields
Trait Implementations§
Source§impl<T: Clone> Clone for ValueStatistics<T>
impl<T: Clone> Clone for ValueStatistics<T>
Source§fn clone(&self) -> ValueStatistics<T>
fn clone(&self) -> ValueStatistics<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<T: ParquetValueType> Debug for ValueStatistics<T>
impl<T: ParquetValueType> Debug for ValueStatistics<T>
Source§impl<T: ParquetValueType> Display for ValueStatistics<T>
impl<T: ParquetValueType> Display for ValueStatistics<T>
Source§impl<T: ParquetValueType> From<ValueStatistics<T>> for Statistics
impl<T: ParquetValueType> From<ValueStatistics<T>> for Statistics
Source§fn from(t: ValueStatistics<T>) -> Self
fn from(t: ValueStatistics<T>) -> Self
Source§impl<T: ParquetValueType> HeapSize for ValueStatistics<T>
impl<T: ParquetValueType> HeapSize for ValueStatistics<T>
Source§impl<T: PartialEq> PartialEq for ValueStatistics<T>
impl<T: PartialEq> PartialEq for ValueStatistics<T>
impl<T: Eq> Eq for ValueStatistics<T>
impl<T> StructuralPartialEq for ValueStatistics<T>
Auto Trait Implementations§
impl<T> Freeze for ValueStatistics<T>where
T: Freeze,
impl<T> RefUnwindSafe for ValueStatistics<T>where
T: RefUnwindSafe,
impl<T> Send for ValueStatistics<T>where
T: Send,
impl<T> Sync for ValueStatistics<T>where
T: Sync,
impl<T> Unpin for ValueStatistics<T>where
T: Unpin,
impl<T> UnwindSafe for ValueStatistics<T>where
T: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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>
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>
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