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. 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: BoundaryOrderStores 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§
Source§impl 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
pub fn read_from_in_protocol( i_prot: &mut dyn TInputProtocol, ) -> Result<ColumnIndex>
pub fn write_to_out_protocol( &self, o_prot: &mut dyn TOutputProtocol, ) -> Result<()>
Trait Implementations§
Source§impl Clone for ColumnIndex
impl Clone for ColumnIndex
Source§fn clone(&self) -> ColumnIndex
fn clone(&self) -> ColumnIndex
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more