@@ -390,8 +390,10 @@ impl TryFrom<&FFI_ArrowSchema> for DataType {
390
390
"e" => DataType :: Float16 ,
391
391
"f" => DataType :: Float32 ,
392
392
"g" => DataType :: Float64 ,
393
+ "vz" => DataType :: BinaryView ,
393
394
"z" => DataType :: Binary ,
394
395
"Z" => DataType :: LargeBinary ,
396
+ "vu" => DataType :: Utf8View ,
395
397
"u" => DataType :: Utf8 ,
396
398
"U" => DataType :: LargeUtf8 ,
397
399
"tdD" => DataType :: Date32 ,
@@ -660,8 +662,10 @@ fn get_format_string(dtype: &DataType) -> Result<String, ArrowError> {
660
662
DataType :: Float16 => Ok ( "e" . to_string ( ) ) ,
661
663
DataType :: Float32 => Ok ( "f" . to_string ( ) ) ,
662
664
DataType :: Float64 => Ok ( "g" . to_string ( ) ) ,
665
+ DataType :: BinaryView => Ok ( "vz" . to_string ( ) ) ,
663
666
DataType :: Binary => Ok ( "z" . to_string ( ) ) ,
664
667
DataType :: LargeBinary => Ok ( "Z" . to_string ( ) ) ,
668
+ DataType :: Utf8View => Ok ( "vu" . to_string ( ) ) ,
665
669
DataType :: Utf8 => Ok ( "u" . to_string ( ) ) ,
666
670
DataType :: LargeUtf8 => Ok ( "U" . to_string ( ) ) ,
667
671
DataType :: FixedSizeBinary ( num_bytes) => Ok ( format ! ( "w:{num_bytes}" ) ) ,
@@ -810,6 +814,10 @@ mod tests {
810
814
5 ,
811
815
) ) ;
812
816
round_trip_type ( DataType :: Utf8 ) ;
817
+ round_trip_type ( DataType :: Utf8View ) ;
818
+ round_trip_type ( DataType :: BinaryView ) ;
819
+ round_trip_type ( DataType :: Binary ) ;
820
+ round_trip_type ( DataType :: LargeBinary ) ;
813
821
round_trip_type ( DataType :: List ( Arc :: new ( Field :: new (
814
822
"a" ,
815
823
DataType :: Int16 ,
0 commit comments