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 more