Struct parquet_format_safe::ColumnIndex
source · [−]pub struct ColumnIndex {
pub null_pages: Vec<bool>,
pub min_values: Vec<Vec<u8>>,
pub max_values: Vec<Vec<u8>>,
pub boundary_order: BoundaryOrder,
pub null_counts: Option<Vec<i64>>,
}
Expand description
Description for ColumnIndex.
Each
Fields
null_pages: Vec<bool>
A list of Boolean values to determine the validity of the corresponding min and max values. If true, a page contains only null values, and writers have to set the corresponding entries in min_values and max_values to byte[0], so that all lists have the same length. If false, the corresponding entries in min_values and max_values must be valid.
min_values: Vec<Vec<u8>>
Two lists containing lower and upper bounds for the values of each page determined by the ColumnOrder of the column. These may be the actual minimum and maximum values found on a page, but can also be (more compact) values that do not exist on a page. For example, instead of storing ““Blart Versenwald III”, a writer may set min_values[i]=“B”, max_values[i]=“C”. Such more compact values must still be valid values within the column’s logical type. Readers must make sure that list entries are populated before using them by inspecting null_pages.
max_values: Vec<Vec<u8>>
boundary_order: BoundaryOrder
Stores whether both min_values and max_values are orderd and if so, in which direction. This allows readers to perform binary searches in both lists. Readers cannot assume that max_values[i] <= min_values[i+1], even if the lists are ordered.
null_counts: Option<Vec<i64>>
A list containing the number of null values for each page *
Implementations
sourceimpl ColumnIndex
impl ColumnIndex
pub fn new<F5>(
null_pages: Vec<bool>,
min_values: Vec<Vec<u8>>,
max_values: Vec<Vec<u8>>,
boundary_order: BoundaryOrder,
null_counts: F5
) -> ColumnIndex where
F5: Into<Option<Vec<i64>>>,
pub fn read_from_in_protocol<T: TInputProtocol>(
i_prot: &mut T
) -> Result<ColumnIndex>
pub fn write_to_out_protocol<T: TOutputProtocol>(
&self,
o_prot: &mut T
) -> Result<usize>
Trait Implementations
sourceimpl Clone for ColumnIndex
impl Clone for ColumnIndex
sourcefn clone(&self) -> ColumnIndex
fn clone(&self) -> ColumnIndex
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ColumnIndex
impl Debug for ColumnIndex
sourceimpl Hash for ColumnIndex
impl Hash for ColumnIndex
sourceimpl Ord for ColumnIndex
impl Ord for ColumnIndex
sourcefn cmp(&self, other: &ColumnIndex) -> Ordering
fn cmp(&self, other: &ColumnIndex) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialEq<ColumnIndex> for ColumnIndex
impl PartialEq<ColumnIndex> for ColumnIndex
sourcefn eq(&self, other: &ColumnIndex) -> bool
fn eq(&self, other: &ColumnIndex) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ColumnIndex) -> bool
fn ne(&self, other: &ColumnIndex) -> bool
This method tests for !=
.
sourceimpl PartialOrd<ColumnIndex> for ColumnIndex
impl PartialOrd<ColumnIndex> for ColumnIndex
sourcefn partial_cmp(&self, other: &ColumnIndex) -> Option<Ordering>
fn partial_cmp(&self, other: &ColumnIndex) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl ReadThrift for ColumnIndex
impl ReadThrift for ColumnIndex
fn read_from_in_protocol<T: TInputProtocol>(
i_prot: &mut T
) -> Result<ColumnIndex>
impl Eq for ColumnIndex
impl StructuralEq for ColumnIndex
impl StructuralPartialEq for ColumnIndex
Auto Trait Implementations
impl RefUnwindSafe for ColumnIndex
impl Send for ColumnIndex
impl Sync for ColumnIndex
impl Unpin for ColumnIndex
impl UnwindSafe for ColumnIndex
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more