pub struct SparseLayout {
pub value_compression: Option<CompressiveEncoding>,
pub num_buffers: u64,
pub num_items: u64,
pub num_visible_items: u64,
pub has_large_chunk: bool,
pub structural_layers: Vec<SparseStructuralLayer>,
}Expand description
A layout used for sparse flat or nested pages where Arrow structure is represented directly in layer-local slot domains instead of as dense repetition / definition events.
Structural layers are ordered from outer-most to inner-most. Values remain mini-block compressed and are split into independently readable chunks.
Fields§
§value_compression: Option<CompressiveEncoding>Description of the compression of values.
num_buffers: u64Number of value buffers in each mini-block chunk. This does not include structural buffers.
num_items: u64Number of entries in the equivalent dense repetition / definition stream. This equals num_visible_items plus one structural placeholder for every list slot without children. Null leaf slots count as visible items because they still occupy positions in Arrow’s leaf value buffer. For example, a nullable primitive with 100 slots, 30 of them null, has num_items = num_visible_items = 100.
num_visible_items: u64Number of leaf value slots encoded in the value chunks, including null leaf slots.
has_large_chunk: boolIf true, chunk-local value buffer sizes use u32. Otherwise they use u16.
structural_layers: Vec<SparseStructuralLayer>Structural layers ordered from outer-most to inner-most. This may be empty for a flat, non-nullable leaf page whose scheduling domain equals num_visible_items.
Trait Implementations§
Source§impl Clone for SparseLayout
impl Clone for SparseLayout
Source§fn clone(&self) -> SparseLayout
fn clone(&self) -> SparseLayout
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SparseLayout
impl Debug for SparseLayout
Source§impl Default for SparseLayout
impl Default for SparseLayout
Source§impl Message for SparseLayout
impl Message for SparseLayout
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl Name for SparseLayout
impl Name for SparseLayout
Source§const NAME: &'static str = "SparseLayout"
const NAME: &'static str = "SparseLayout"
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§const PACKAGE: &'static str = "lance.encodings21"
const PACKAGE: &'static str = "lance.encodings21"
., e.g. google.protobuf.Source§fn full_name() -> String
fn full_name() -> String
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for SparseLayout
impl PartialEq for SparseLayout
impl StructuralPartialEq for SparseLayout
Auto Trait Implementations§
impl !Freeze for SparseLayout
impl RefUnwindSafe for SparseLayout
impl Send for SparseLayout
impl Sync for SparseLayout
impl Unpin for SparseLayout
impl UnsafeUnpin for SparseLayout
impl UnwindSafe for SparseLayout
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
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,
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> ⓘ
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> ⓘ
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