pub fn read_dictionary<T: DictionaryKey, R: Read + Seek>(
    field_nodes: &mut VecDeque<Node>,
    buffers: &mut VecDeque<&gen::Schema::Buffer>,
    reader: &mut R,
    block_offset: u64,
    is_little_endian: bool,
) -> Result<Arc<dyn Array>>
where
    Vec<u8>: TryInto<T::Bytes>,
{
    let values = field_nodes.front().unwrap().1.as_ref().unwrap();

    let keys = read_primitive(
        field_nodes,
        T::DATA_TYPE,
        buffers,
        reader,
        block_offset,
        is_little_endian,
        None,
    )?;

    Ok(Arc::new(DictionaryArray::<T>::from_data(
        keys,
        values.clone(),
    )))
}
/// Reads the correct number of buffers based on list type and null_count, and creates a
/// list array ref
Reads the correct number of buffers based on list type and null_count, and creates a
list array ref
Reads the correct number of buffers based on list type and null_count and creates a list array ref
pub fn read_dictionary<T: DictionaryKey, R: Read + Seek>(
    field_nodes: &mut VecDeque<Node>,
    buffers: &mut VecDeque<&gen::Schema::Buffer>,
    reader: &mut R,
    block_offset: u64,
    is_little_endian: bool,
) -> Result<Arc<dyn Array>>
where
    Vec<u8>: TryInto<T::Bytes>,
{
    let values = field_nodes.front().unwrap().1.as_ref().unwrap();
    let keys = read_primitive(
        field_nodes,
        T::DATA_TYPE,
        buffers,
        reader,
        block_offset,
        is_little_endian,
        None,
    )?;
    Ok(Arc::new(DictionaryArray::<T>::from_data(
        keys,
        values.clone(),
    )))
}
pub fn read_dictionary < T : DictionaryKey , R : Read + Seek > ( field_nodes : & mut VecDeque < Node > , buffers : & mut VecDeque < & gen :: Schema :: Buffer > , reader : & mut R , block_offset : u64 , is_little_endian : bool , ) -> Result < Arc < dyn Array > > where Vec < u8 > : TryInto < T :: Bytes > , { let values = field_nodes . front ( ) . unwrap ( ) . 1 . as_ref ( ) . unwrap ( ) ; let keys = read_primitive ( field_nodes , T :: DATA_TYPE , buffers , reader , block_offset , is_little_endian , None , ) ? ; Ok ( Arc :: new ( DictionaryArray :: < T > :: from_data ( keys , values . clone ( ) , ) ) ) }
Reads the correct number of buffers based on list type and null_count, and creates a
list array ref
Reads the correct number of buffers based on list type and null_count and creates a list array ref
field_nodes
&mut VecDeque<Node>
buffers
&mut VecDeque<&gen::Schema::Buffer>
reader
&mut R
block_offset
u64
is_little_endian
bool