Struct lance::encodings::binary::BinaryDecoder
source · pub struct BinaryDecoder<'a, T>where
T: ByteArrayType,{ /* private fields */ }Expand description
Var-binary encoding decoder.
Implementations§
source§impl<'a, T> BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> BinaryDecoder<'a, T>where
T: ByteArrayType,
Var-length Binary Decoder
sourcepub fn new(
reader: &'a dyn Reader,
position: usize,
length: usize,
nullable: bool
) -> BinaryDecoder<'a, T>
pub fn new( reader: &'a dyn Reader, position: usize, length: usize, nullable: bool ) -> BinaryDecoder<'a, T>
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_core::{io::local::LocalObjectReader, encodings::binary::BinaryDecoder, io::Reader};
async {
let reader = LocalObjectReader::open_local_path("/tmp/foo.lance", 2048).await.unwrap();
let string_decoder = BinaryDecoder::<Utf8Type>::new(reader.as_ref(), 100, 1024, true);
};Trait Implementations§
source§impl<'a, T> AsyncIndex<Range<usize>> for BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> AsyncIndex<Range<usize>> for BinaryDecoder<'a, T>where
T: ByteArrayType,
source§impl<'a, T> AsyncIndex<RangeFrom<usize>> for BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> AsyncIndex<RangeFrom<usize>> for BinaryDecoder<'a, T>where
T: ByteArrayType,
type Output = Result<Arc<dyn Array>, Error>
fn get<'life0, 'async_trait>(
&'life0 self,
index: RangeFrom<usize>
) -> Pin<Box<dyn Future<Output = <BinaryDecoder<'a, T> as AsyncIndex<RangeFrom<usize>>>::Output> + Send + 'async_trait>>where
'life0: 'async_trait,
BinaryDecoder<'a, T>: 'async_trait,
source§impl<'a, T> AsyncIndex<RangeFull> for BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> AsyncIndex<RangeFull> for BinaryDecoder<'a, T>where
T: ByteArrayType,
source§impl<'a, T> AsyncIndex<RangeTo<usize>> for BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> AsyncIndex<RangeTo<usize>> for BinaryDecoder<'a, T>where
T: ByteArrayType,
source§impl<'a, T> AsyncIndex<ReadBatchParams> for BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> AsyncIndex<ReadBatchParams> for BinaryDecoder<'a, T>where
T: ByteArrayType,
type Output = Result<Arc<dyn Array>, Error>
fn get<'life0, 'async_trait>(
&'life0 self,
params: ReadBatchParams
) -> Pin<Box<dyn Future<Output = <BinaryDecoder<'a, T> as AsyncIndex<ReadBatchParams>>::Output> + Send + 'async_trait>>where
'life0: 'async_trait,
BinaryDecoder<'a, T>: 'async_trait,
source§impl<'a, T> AsyncIndex<usize> for BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> AsyncIndex<usize> for BinaryDecoder<'a, T>where
T: ByteArrayType,
source§impl<'a, T> Decoder for BinaryDecoder<'a, T>where
T: ByteArrayType,
impl<'a, T> Decoder for BinaryDecoder<'a, T>where
T: ByteArrayType,
source§fn take<'life0, 'life1, 'async_trait>(
&'life0 self,
indices: &'life1 PrimitiveArray<UInt32Type>
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn Array>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
BinaryDecoder<'a, T>: 'async_trait,
fn take<'life0, 'life1, 'async_trait>(
&'life0 self,
indices: &'life1 PrimitiveArray<UInt32Type>
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn Array>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
BinaryDecoder<'a, T>: '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<Arc<dyn Array>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
BinaryDecoder<'a, T>: 'async_trait,
Auto Trait Implementations§
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