Skip to main content

RowGroupContext

Struct RowGroupContext 

Source
struct RowGroupContext {
    row_group_idx: usize,
    row_count: usize,
    first_row: u64,
    rows: SelectedRows,
    selection: Option<RowSelection>,
    expanded_selection: Option<RowSelection>,
    stages: Arc<StageSchedule>,
    metadata: Arc<ParquetMetaData>,
    page_index: Option<Arc<dyn PageIndexProvider>>,
}
Expand description

What the ranges of one row group are computed from.

Fields§

§row_group_idx: usize§row_count: usize§first_row: u64

Planned rows before this row group.

§rows: SelectedRows§selection: Option<RowSelection>

The selection the decoder uses to choose pages.

§expanded_selection: Option<RowSelection>

The selection expanded to batch boundaries, for cached predicate columns.

§stages: Arc<StageSchedule>

What each decoding stage fetches.

§metadata: Arc<ParquetMetaData>

The file metadata, for the byte ranges of the column chunks.

§page_index: Option<Arc<dyn PageIndexProvider>>

The file’s page index, if it has offset indexes.

Implementations§

Source§

impl RowGroupContext

Source

fn locations(&self, column_idx: usize) -> Option<&[PageLocation]>

Source

fn chunk(&self, column_idx: usize) -> Range<u64> ⓘ

Byte range of the whole column chunk.

Source

fn row_group_rows(&self) -> Range<u64> ⓘ

Planned rows of the whole row group.

Source

fn page_rows(&self, locations: &[PageLocation], idx: usize) -> Range<u64> ⓘ

Planned rows of the data page at idx in locations.

Source

fn data_page( &self, locations: &[PageLocation], pages: PageSet<'_>, position: usize, ) -> Option<(u64, Reverse<u64>, u64)>

The sort key of the data page at position in pages, if any.

Source

fn first_range( &self, column_idx: usize, stage: ScanStage, ) -> (Option<((u64, Reverse<u64>, u64), u32)>, Option<Vec<usize>>)

The first range of one column chunk: its sort key and position, or None if the column chunk has no range. Also returns the data pages that the decoder reads, if the selection removes pages.

The ranges are the same bytes that InMemoryRowGroup::fetch_ranges requests, split at page boundaries when page locations are known.

Trait Implementations§

Source§

impl Clone for RowGroupContext

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RowGroupContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Ungil for T
where T: Send,