pub struct ZoneMapsFieldScheduler { /* private fields */ }
Expand description
A top level scheduler that refines the requested range based on pushdown filtering with zone maps
Implementations§
source§impl ZoneMapsFieldScheduler
impl ZoneMapsFieldScheduler
pub fn new( inner: Arc<dyn FieldScheduler>, schema: Arc<Schema>, pushdown_buffers: Vec<UnloadedPushdown>, rows_per_zone: u32, num_rows: u64, ) -> Self
sourcepub fn initialize<'a>(
&'a mut self,
io: &dyn EncodingsIo,
) -> BoxFuture<'a, Result<()>>
pub fn initialize<'a>( &'a mut self, io: &dyn EncodingsIo, ) -> BoxFuture<'a, Result<()>>
Load the zone maps from the file
TODO: only load zone maps for columns used in the filter
Trait Implementations§
source§impl Debug for ZoneMapsFieldScheduler
impl Debug for ZoneMapsFieldScheduler
source§impl FieldScheduler for ZoneMapsFieldScheduler
impl FieldScheduler for ZoneMapsFieldScheduler
source§fn schedule_ranges<'a>(
&'a self,
ranges: &[Range<u64>],
filter: &FilterExpression,
) -> Result<Box<dyn SchedulingJob + 'a>>
fn schedule_ranges<'a>( &'a self, ranges: &[Range<u64>], filter: &FilterExpression, ) -> Result<Box<dyn SchedulingJob + 'a>>
Schedules I/O for the requested portions of the field. Read more
Auto Trait Implementations§
impl Freeze for ZoneMapsFieldScheduler
impl !RefUnwindSafe for ZoneMapsFieldScheduler
impl Send for ZoneMapsFieldScheduler
impl Sync for ZoneMapsFieldScheduler
impl Unpin for ZoneMapsFieldScheduler
impl !UnwindSafe for ZoneMapsFieldScheduler
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 moreCreates a shared type from an unshared type.