Struct lance_encoding::encodings::physical::basic::BasicPageScheduler
source · pub struct BasicPageScheduler { /* private fields */ }Expand description
A physical scheduler for “basic” fields. These are fields that have an optional validity bitmap and some kind of values buffer.
No actual decoding happens here, we are simply aggregating the two buffers.
If everything is null then there are no data buffers at all.
Implementations§
source§impl BasicPageScheduler
impl BasicPageScheduler
sourcepub fn new_nullable(
validity_decoder: Box<dyn PhysicalPageScheduler>,
values_decoder: Box<dyn PhysicalPageScheduler>
) -> Self
pub fn new_nullable( validity_decoder: Box<dyn PhysicalPageScheduler>, values_decoder: Box<dyn PhysicalPageScheduler> ) -> Self
Creates a new instance that expects a validity bitmap
sourcepub fn new_non_nullable(values_decoder: Box<dyn PhysicalPageScheduler>) -> Self
pub fn new_non_nullable(values_decoder: Box<dyn PhysicalPageScheduler>) -> Self
Create a new instance that does not need a validity bitmap because no item is null
sourcepub fn new_all_null() -> Self
pub fn new_all_null() -> Self
Create a new instance where all values are null
It may seem strange we need values_decoder here but Arrow requires that value
buffers still be allocated / sized even if everything is null. So we need the value
decoder to calculate the capcity of the garbage buffer.
Trait Implementations§
source§impl Debug for BasicPageScheduler
impl Debug for BasicPageScheduler
source§impl PhysicalPageScheduler for BasicPageScheduler
impl PhysicalPageScheduler for BasicPageScheduler
source§fn schedule_ranges(
&self,
ranges: &[Range<u32>],
scheduler: &dyn EncodingsIo,
top_level_row: u64
) -> BoxFuture<'static, Result<Box<dyn PhysicalPageDecoder>>>
fn schedule_ranges( &self, ranges: &[Range<u32>], scheduler: &dyn EncodingsIo, top_level_row: u64 ) -> BoxFuture<'static, Result<Box<dyn PhysicalPageDecoder>>>
Schedules a batch of I/O to load the data needed for the requested ranges Read more
Auto Trait Implementations§
impl Freeze for BasicPageScheduler
impl !RefUnwindSafe for BasicPageScheduler
impl Send for BasicPageScheduler
impl Sync for BasicPageScheduler
impl Unpin for BasicPageScheduler
impl !UnwindSafe for BasicPageScheduler
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
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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