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§impl PartialEq for FixedLenByteArray
impl PartialEq for FixedLenByteArray
source§impl PartialOrd<ByteArray> for FixedLenByteArray
impl PartialOrd<ByteArray> for FixedLenByteArray
source§impl PartialOrd<FixedLenByteArray> for ByteArray
impl PartialOrd<FixedLenByteArray> for ByteArray
source§impl PartialOrd for FixedLenByteArray
impl PartialOrd for FixedLenByteArray
source§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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)