pub struct ColumnValueDecoderImpl<T: DataType> {
descr: ColumnDescPtr,
current_encoding: Option<Encoding>,
decoder_mask: EncodingMask,
decoders: [Option<Box<dyn Decoder<T>>>; 10],
}Expand description
An implementation of ColumnValueDecoder for [T::T]
Fields§
§descr: ColumnDescPtr§current_encoding: Option<Encoding>§decoder_mask: EncodingMaskCache of decoders for existing encodings.
Uses EncodingMask and dense storage keyed by encoding discriminant.
decoders: [Option<Box<dyn Decoder<T>>>; 10]Trait Implementations§
Source§impl<T: DataType> ColumnValueDecoder for ColumnValueDecoderImpl<T>
impl<T: DataType> ColumnValueDecoder for ColumnValueDecoderImpl<T>
type Buffer = Vec<<T as DataType>::T>
Source§fn new(descr: &ColumnDescPtr) -> Self
fn new(descr: &ColumnDescPtr) -> Self
Create a new
ColumnValueDecoderSource§fn set_dict(
&mut self,
buf: Bytes,
num_values: u32,
encoding: Encoding,
_is_sorted: bool,
) -> Result<()>
fn set_dict( &mut self, buf: Bytes, num_values: u32, encoding: Encoding, _is_sorted: bool, ) -> Result<()>
Set the current dictionary page
Source§fn set_data(
&mut self,
encoding: Encoding,
data: Bytes,
num_levels: usize,
num_values: Option<usize>,
) -> Result<()>
fn set_data( &mut self, encoding: Encoding, data: Bytes, num_levels: usize, num_values: Option<usize>, ) -> Result<()>
Set the current data page Read more
Auto Trait Implementations§
impl<T> Freeze for ColumnValueDecoderImpl<T>
impl<T> !RefUnwindSafe for ColumnValueDecoderImpl<T>
impl<T> Send for ColumnValueDecoderImpl<T>
impl<T> !Sync for ColumnValueDecoderImpl<T>
impl<T> Unpin for ColumnValueDecoderImpl<T>
impl<T> !UnwindSafe for ColumnValueDecoderImpl<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> 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 more