[][src]Trait parquet::decoding::Decoder

pub trait Decoder<T: DataType> {
    fn set_data(&mut self, data: ByteBufferPtr, num_values: usize) -> Result<()>;
fn get(&mut self, buffer: &mut [T::T]) -> Result<usize>;
fn values_left(&self) -> usize;
fn encoding(&self) -> Encoding; fn get_spaced(
        &mut self,
        buffer: &mut [T::T],
        null_count: usize,
        valid_bits: &[u8]
    ) -> Result<usize> { ... } }

A Parquet decoder for the data type T.

Required methods

fn set_data(&mut self, data: ByteBufferPtr, num_values: usize) -> Result<()>

Sets the data to decode to be data, which should contain num_values of values to decode.

fn get(&mut self, buffer: &mut [T::T]) -> Result<usize>

Consumes values from this decoder and write the results to buffer. This will try to fill up buffer.

Returns the actual number of values decoded, which should be equal to buffer.len() unless the remaining number of values is less than buffer.len().

fn values_left(&self) -> usize

Returns the number of values left in this decoder stream.

fn encoding(&self) -> Encoding

Returns the encoding for this decoder.

Loading content...

Provided methods

fn get_spaced(
    &mut self,
    buffer: &mut [T::T],
    null_count: usize,
    valid_bits: &[u8]
) -> Result<usize>

Consume values from this decoder and write the results to buffer, leaving "spaces" for null values.

null_count is the number of nulls we expect to see in buffer, after reading. valid_bits stores the valid bit for each value in the buffer. It should contain at least number of bits that equal to buffer.len().

Returns the actual number of values decoded.

Panics

Panics if null_count is greater than buffer.len().

Loading content...

Implementors

impl Decoder<BoolType> for PlainDecoder<BoolType>[src]

impl Decoder<BoolType> for RleValueDecoder<BoolType>[src]

impl Decoder<ByteArrayType> for DeltaByteArrayDecoder<ByteArrayType>[src]

impl Decoder<ByteArrayType> for DeltaLengthByteArrayDecoder<ByteArrayType>[src]

impl Decoder<ByteArrayType> for PlainDecoder<ByteArrayType>[src]

impl Decoder<FixedLenByteArrayType> for DeltaByteArrayDecoder<FixedLenByteArrayType>[src]

impl Decoder<FixedLenByteArrayType> for PlainDecoder<FixedLenByteArrayType>[src]

impl Decoder<Int96Type> for PlainDecoder<Int96Type>[src]

impl<'m, T: DataType> Decoder<T> for DeltaByteArrayDecoder<T>[src]

impl<T: DataType> Decoder<T> for DeltaBitPackDecoder<T>[src]

impl<T: DataType> Decoder<T> for DeltaLengthByteArrayDecoder<T>[src]

impl<T: DataType> Decoder<T> for DictDecoder<T>[src]

fn values_left(&self) -> usize[src]

Number of values left in this decoder stream

impl<T: DataType> Decoder<T> for PlainDecoder<T>[src]

impl<T: DataType> Decoder<T> for RleValueDecoder<T>[src]

Loading content...