pub struct NativeIndex<T: ParquetValueType> {
pub indexes: Vec<PageIndex<T>>,
pub boundary_order: BoundaryOrder,
}
Expand description
Strongly typed statistics for data pages in a column chunk.
This structure is a natively typed, in memory representation of the
ColumnIndex
structure in a parquet file footer, as described in the
Parquet PageIndex documentation. The statistics stored in this structure
can be used by query engines to skip decoding pages while reading parquet
data.
§Differences with Row Group Level Statistics
One significant difference between NativeIndex
and row group level
Statistics
is that page level statistics may not store actual column
values as min and max (e.g. they may store truncated strings to save space)
Fields§
§indexes: Vec<PageIndex<T>>
The actual column indexes, one item per page
boundary_order: BoundaryOrder
If the min/max elements are ordered, and if so in which direction. See source for details.
Implementations§
Source§impl<T: ParquetValueType> NativeIndex<T>
impl<T: ParquetValueType> NativeIndex<T>
Sourcepub const PHYSICAL_TYPE: Type = T::PHYSICAL_TYPE
pub const PHYSICAL_TYPE: Type = T::PHYSICAL_TYPE
The physical data type of the column
Sourcepub(crate) fn try_new(index: ColumnIndex) -> Result<Self, ParquetError>
pub(crate) fn try_new(index: ColumnIndex) -> Result<Self, ParquetError>
Creates a new NativeIndex
pub(crate) fn to_thrift(&self) -> ColumnIndex
Trait Implementations§
Source§impl<T: Clone + ParquetValueType> Clone for NativeIndex<T>
impl<T: Clone + ParquetValueType> Clone for NativeIndex<T>
Source§fn clone(&self) -> NativeIndex<T>
fn clone(&self) -> NativeIndex<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<T: Debug + ParquetValueType> Debug for NativeIndex<T>
impl<T: Debug + ParquetValueType> Debug for NativeIndex<T>
Source§impl<T: Hash + ParquetValueType> Hash for NativeIndex<T>
impl<T: Hash + ParquetValueType> Hash for NativeIndex<T>
Source§impl<T: ParquetValueType> HeapSize for NativeIndex<T>
impl<T: ParquetValueType> HeapSize for NativeIndex<T>
Source§impl<T: PartialEq + ParquetValueType> PartialEq for NativeIndex<T>
impl<T: PartialEq + ParquetValueType> PartialEq for NativeIndex<T>
impl<T: Eq + ParquetValueType> Eq for NativeIndex<T>
impl<T: ParquetValueType> StructuralPartialEq for NativeIndex<T>
Auto Trait Implementations§
impl<T> Freeze for NativeIndex<T>
impl<T> RefUnwindSafe for NativeIndex<T>where
T: RefUnwindSafe,
impl<T> Send for NativeIndex<T>
impl<T> Sync for NativeIndex<T>where
T: Sync,
impl<T> Unpin for NativeIndex<T>where
T: Unpin,
impl<T> UnwindSafe for NativeIndex<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,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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