pub struct MappedTable {
pub batches: Vec<RecordBatch>,
mapping: Range<usize>,
}Expand description
A table read straight out of its mapping.
The RecordBatch buffers point into the mmap; the mapping is kept alive by
the Arc that every Buffer holds, so MappedTable can be dropped while
batches derived from it are still in use.
Fields§
§batches: Vec<RecordBatch>§mapping: Range<usize>Address range of the mapping, so the zero-copy property can be asserted rather than assumed.
Implementations§
Source§impl MappedTable
impl MappedTable
Sourcepub fn zero_copy_ratio(&self) -> (usize, usize)
pub fn zero_copy_ratio(&self) -> (usize, usize)
(buffers_pointing_into_the_mapping, buffers_total).
Walks every buffer of every column including child data, so a partially
copied nested array shows up. require_alignment(true) should already
make a copy impossible; this is the assertion that says so out loud.
A cold block (see compact) reports 0/n on purpose: decompression has
to allocate. Only the hot tier is held to inside == total.
Auto Trait Implementations§
impl !RefUnwindSafe for MappedTable
impl !UnwindSafe for MappedTable
impl Freeze for MappedTable
impl Send for MappedTable
impl Sync for MappedTable
impl Unpin for MappedTable
impl UnsafeUnpin for MappedTable
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].