pub struct ConstantLayout {
pub layers: Vec<i32>,
pub inline_value: Option<Bytes>,
pub rep_compression: Option<CompressiveEncoding>,
pub def_compression: Option<CompressiveEncoding>,
pub num_rep_values: u64,
pub num_def_values: u64,
}Expand description
A layout used for pages where all (visible) values are the same scalar value.
This generalizes the prior AllNullLayout semantics for file_version >= 2.2.
There may be buffers of repetition and definition information if required in order to interpret what kind of nulls are present / which items are visible.
Fields§
§layers: Vec<i32>The meaning of each repdef layer, used to interpret repdef buffers correctly
inline_value: Option<Bytes>Inline fixed-width scalar value bytes.
This MUST only be used for types where a single non-null element is represented by a single fixed-width Arrow value buffer (i.e. no offsets buffer, no child data).
Constraints:
- MUST be absent for an all-null page
- MUST be <= 32 bytes if present
rep_compression: Option<CompressiveEncoding>Optional compression algorithm used for the repetition buffer. If absent, repetition levels are stored as raw u16 values.
def_compression: Option<CompressiveEncoding>Optional compression algorithm used for the definition buffer. If absent, definition levels are stored as raw u16 values.
num_rep_values: u64Number of values in repetition buffer after decompression.
num_def_values: u64Number of values in definition buffer after decompression.
Implementations§
Source§impl ConstantLayout
impl ConstantLayout
Sourcepub fn layers(
&self,
) -> FilterMap<Cloned<Iter<'_, i32>>, fn(i32) -> Option<RepDefLayer>>
pub fn layers( &self, ) -> FilterMap<Cloned<Iter<'_, i32>>, fn(i32) -> Option<RepDefLayer>>
Returns an iterator which yields the valid enum values contained in layers.
Sourcepub fn push_layers(&mut self, value: RepDefLayer)
pub fn push_layers(&mut self, value: RepDefLayer)
Appends the provided enum value to layers.
Sourcepub fn inline_value(&self) -> &[u8] ⓘ
pub fn inline_value(&self) -> &[u8] ⓘ
Returns the value of inline_value, or the default value if inline_value is unset.
Trait Implementations§
Source§impl Clone for ConstantLayout
impl Clone for ConstantLayout
Source§fn clone(&self) -> ConstantLayout
fn clone(&self) -> ConstantLayout
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConstantLayout
impl Debug for ConstantLayout
Source§impl Default for ConstantLayout
impl Default for ConstantLayout
Source§impl Message for ConstantLayout
impl Message for ConstantLayout
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 ConstantLayout
impl Name for ConstantLayout
Source§const NAME: &'static str = "ConstantLayout"
const NAME: &'static str = "ConstantLayout"
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 ConstantLayout
impl PartialEq for ConstantLayout
impl StructuralPartialEq for ConstantLayout
Auto Trait Implementations§
impl !Freeze for ConstantLayout
impl RefUnwindSafe for ConstantLayout
impl Send for ConstantLayout
impl Sync for ConstantLayout
impl Unpin for ConstantLayout
impl UnsafeUnpin for ConstantLayout
impl UnwindSafe for ConstantLayout
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
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