Struct parquet::data_type::FixedLenByteArray
source · pub struct FixedLenByteArray(/* private fields */);
Expand description
Wrapper type for performance reasons, this represents FIXED_LEN_BYTE_ARRAY
but in all other
considerations behaves the same as ByteArray
§Performance notes:
This type is a little unfortunate, without it the compiler generates code that takes quite a
big hit on the CPU pipeline. Essentially the previous version stalls awaiting the result of
T::get_physical_type() == Type::FIXED_LEN_BYTE_ARRAY
.
Its debatable if this is wanted, it is out of spec for what parquet documents as its base types, although there are code paths in the Rust (and potentially the C++) versions that warrant this.
With this wrapper type the compiler generates more targeted code paths matching the higher level logical types, removing the data-hazard from all decoding and encoding paths.
Methods from Deref<Target = ByteArray>§
sourcepub fn slice(&self, start: usize, len: usize) -> Self
pub fn slice(&self, start: usize, len: usize) -> Self
Returns ByteArray
instance with slice of values for a data.
pub fn as_utf8(&self) -> Result<&str>
Trait Implementations§
source§impl AsBytes for FixedLenByteArray
impl AsBytes for FixedLenByteArray
source§impl AsRef<[u8]> for FixedLenByteArray
impl AsRef<[u8]> for FixedLenByteArray
source§impl Clone for FixedLenByteArray
impl Clone for FixedLenByteArray
source§fn clone(&self) -> FixedLenByteArray
fn clone(&self) -> FixedLenByteArray
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FixedLenByteArray
impl Debug for FixedLenByteArray
source§impl Default for FixedLenByteArray
impl Default for FixedLenByteArray
source§fn default() -> FixedLenByteArray
fn default() -> FixedLenByteArray
source§impl Deref for FixedLenByteArray
impl Deref for FixedLenByteArray
source§impl DerefMut for FixedLenByteArray
impl DerefMut for FixedLenByteArray
source§impl Display for FixedLenByteArray
impl Display for FixedLenByteArray
source§impl From<ByteArray> for FixedLenByteArray
impl From<ByteArray> for FixedLenByteArray
source§impl From<FixedLenByteArray> for ByteArray
impl From<FixedLenByteArray> for ByteArray
source§fn from(other: FixedLenByteArray) -> Self
fn from(other: FixedLenByteArray) -> Self
source§impl PartialEq<ByteArray> for FixedLenByteArray
impl PartialEq<ByteArray> for FixedLenByteArray
source§impl PartialEq<FixedLenByteArray> for ByteArray
impl PartialEq<FixedLenByteArray> for ByteArray
source§fn eq(&self, other: &FixedLenByteArray) -> bool
fn eq(&self, other: &FixedLenByteArray) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq for FixedLenByteArray
impl PartialEq for FixedLenByteArray
source§fn eq(&self, other: &FixedLenByteArray) -> bool
fn eq(&self, other: &FixedLenByteArray) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<ByteArray> for FixedLenByteArray
impl PartialOrd<ByteArray> for FixedLenByteArray
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl PartialOrd<FixedLenByteArray> for ByteArray
impl PartialOrd<FixedLenByteArray> for ByteArray
source§fn partial_cmp(&self, other: &FixedLenByteArray) -> Option<Ordering>
fn partial_cmp(&self, other: &FixedLenByteArray) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl PartialOrd for FixedLenByteArray
impl PartialOrd for FixedLenByteArray
source§fn partial_cmp(&self, other: &FixedLenByteArray) -> Option<Ordering>
fn partial_cmp(&self, other: &FixedLenByteArray) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl SliceAsBytes for FixedLenByteArray
impl SliceAsBytes for FixedLenByteArray
Auto Trait Implementations§
impl !Freeze for FixedLenByteArray
impl RefUnwindSafe for FixedLenByteArray
impl Send for FixedLenByteArray
impl Sync for FixedLenByteArray
impl Unpin for FixedLenByteArray
impl UnwindSafe for FixedLenByteArray
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> 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