pub struct BinaryDecoder<'a, T: ByteArrayType> { /* private fields */ }
Expand description
Var-binary encoding decoder.
Implementations§
Source§impl<'a, T: ByteArrayType> BinaryDecoder<'a, T>
Var-length Binary Decoder
impl<'a, T: ByteArrayType> BinaryDecoder<'a, T>
Var-length Binary Decoder
Sourcepub fn new(
reader: &'a dyn Reader,
position: usize,
length: usize,
nullable: bool,
) -> Self
pub fn new( reader: &'a dyn Reader, position: usize, length: usize, nullable: bool, ) -> Self
Create a BinaryEncoder to decode one batch.
position
, file position where this batch starts.length
, the number of records in this batch.nullable
, whether this batch contains nullable value.
§Example
use arrow_array::types::Utf8Type;
use object_store::path::Path;
use lance_io::{local::LocalObjectReader, encodings::binary::BinaryDecoder, traits::Reader};
async {
let reader = LocalObjectReader::open_local_path("/tmp/foo.lance", 2048, None).await.unwrap();
let string_decoder = BinaryDecoder::<Utf8Type>::new(reader.as_ref(), 100, 1024, true);
};
Trait Implementations§
Source§impl<T: ByteArrayType> AsyncIndex<Range<usize>> for BinaryDecoder<'_, T>
impl<T: ByteArrayType> AsyncIndex<Range<usize>> for BinaryDecoder<'_, T>
Source§impl<T: ByteArrayType> AsyncIndex<RangeFrom<usize>> for BinaryDecoder<'_, T>
impl<T: ByteArrayType> AsyncIndex<RangeFrom<usize>> for BinaryDecoder<'_, T>
Source§impl<T: ByteArrayType> AsyncIndex<RangeFull> for BinaryDecoder<'_, T>
impl<T: ByteArrayType> AsyncIndex<RangeFull> for BinaryDecoder<'_, T>
Source§impl<T: ByteArrayType> AsyncIndex<RangeTo<usize>> for BinaryDecoder<'_, T>
impl<T: ByteArrayType> AsyncIndex<RangeTo<usize>> for BinaryDecoder<'_, T>
Source§impl<T: ByteArrayType> AsyncIndex<ReadBatchParams> for BinaryDecoder<'_, T>
impl<T: ByteArrayType> AsyncIndex<ReadBatchParams> for BinaryDecoder<'_, T>
Source§impl<T: ByteArrayType> AsyncIndex<usize> for BinaryDecoder<'_, T>
impl<T: ByteArrayType> AsyncIndex<usize> for BinaryDecoder<'_, T>
Source§impl<T: ByteArrayType> Decoder for BinaryDecoder<'_, T>
impl<T: ByteArrayType> Decoder for BinaryDecoder<'_, T>
Source§fn take<'life0, 'life1, 'async_trait>(
&'life0 self,
indices: &'life1 UInt32Array,
) -> Pin<Box<dyn Future<Output = Result<ArrayRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn take<'life0, 'life1, 'async_trait>(
&'life0 self,
indices: &'life1 UInt32Array,
) -> Pin<Box<dyn Future<Output = Result<ArrayRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Take the values at the given indices.
This function assumes indices are sorted.
fn decode<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ArrayRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl<'a, T> Freeze for BinaryDecoder<'a, T>
impl<'a, T> !RefUnwindSafe for BinaryDecoder<'a, T>
impl<'a, T> Send for BinaryDecoder<'a, T>
impl<'a, T> Sync for BinaryDecoder<'a, T>
impl<'a, T> Unpin for BinaryDecoder<'a, T>where
T: Unpin,
impl<'a, T> !UnwindSafe for BinaryDecoder<'a, T>
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 moreCreates a shared type from an unshared type.