pub(crate) enum ColumnFetch<'a> {
Chunk {
range: Range<u64>,
},
Pages {
dictionary: Option<Range<u64>>,
locations: &'a [PageLocation],
pages: Vec<usize>,
},
}Expand description
What InMemoryRowGroup::fetch_ranges fetches for one column chunk.
This is the one place that decides which bytes of a column chunk are requested, so other users of this rule cannot differ from the decoder.
Variants§
Chunk
The whole column chunk, as one range. This is the case if there is no selection or the column has no offset index.
Pages
The dictionary page, if any, and the data pages that contain a selected row.
Implementations§
Source§impl<'a> ColumnFetch<'a>
impl<'a> ColumnFetch<'a>
Sourcepub(crate) fn new(
chunk: Range<u64>,
locations: Option<&'a [PageLocation]>,
selection: Option<&RowSelection>,
) -> Self
pub(crate) fn new( chunk: Range<u64>, locations: Option<&'a [PageLocation]>, selection: Option<&RowSelection>, ) -> Self
The fetch of the column chunk at byte range chunk, with page
locations locations from its offset index, if any, and row
selection selection, if any.
Trait Implementations§
Source§impl<'a> Clone for ColumnFetch<'a>
impl<'a> Clone for ColumnFetch<'a>
Source§impl<'a> Debug for ColumnFetch<'a>
impl<'a> Debug for ColumnFetch<'a>
impl<'a> Eq for ColumnFetch<'a>
Source§impl<'a> PartialEq for ColumnFetch<'a>
impl<'a> PartialEq for ColumnFetch<'a>
impl<'a> StructuralPartialEq for ColumnFetch<'a>
Auto Trait Implementations§
impl<'a> Freeze for ColumnFetch<'a>
impl<'a> RefUnwindSafe for ColumnFetch<'a>
impl<'a> Send for ColumnFetch<'a>
impl<'a> Sync for ColumnFetch<'a>
impl<'a> Unpin for ColumnFetch<'a>
impl<'a> UnsafeUnpin for ColumnFetch<'a>
impl<'a> UnwindSafe for ColumnFetch<'a>
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key and return true if they are equal.