@@ -31,29 +31,22 @@ pub(crate) fn varbin_to_arrow(varbin_array: &VarBinArray) -> VortexResult<ArrayR
3131 . to_null_buffer ( )
3232 . map_err ( |err| err. with_context ( "Failed to get null buffer from logical validity" ) ) ?;
3333
34- let data = varbin_array
35- . bytes ( )
36- . into_primitive ( )
37- . map_err ( |err| err. with_context ( "Failed to canonicalize bytes" ) ) ?;
38- if data. dtype ( ) != & DType :: BYTES {
39- vortex_bail ! ( "Expected bytes to be of type U8, got {}" , data. ptype( ) ) ;
40- }
41- let data = data. byte_buffer ( ) ;
34+ let data = varbin_array. bytes ( ) ;
4235
4336 // Switch on Arrow DType.
4437 Ok ( match varbin_array. dtype ( ) {
4538 DType :: Binary ( _) => match offsets. ptype ( ) {
4639 PType :: I32 => Arc :: new ( unsafe {
4740 BinaryArray :: new_unchecked (
4841 offsets. buffer :: < i32 > ( ) . into_arrow_offset_buffer ( ) ,
49- data. clone ( ) . into_arrow_buffer ( ) ,
42+ data. into_arrow_buffer ( ) ,
5043 nulls,
5144 )
5245 } ) ,
5346 PType :: I64 => Arc :: new ( unsafe {
5447 LargeBinaryArray :: new_unchecked (
5548 offsets. buffer :: < i64 > ( ) . into_arrow_offset_buffer ( ) ,
56- data. clone ( ) . into_arrow_buffer ( ) ,
49+ data. into_arrow_buffer ( ) ,
5750 nulls,
5851 )
5952 } ) ,
@@ -63,14 +56,14 @@ pub(crate) fn varbin_to_arrow(varbin_array: &VarBinArray) -> VortexResult<ArrayR
6356 PType :: I32 => Arc :: new ( unsafe {
6457 StringArray :: new_unchecked (
6558 offsets. buffer :: < i32 > ( ) . into_arrow_offset_buffer ( ) ,
66- data. clone ( ) . into_arrow_buffer ( ) ,
59+ data. into_arrow_buffer ( ) ,
6760 nulls,
6861 )
6962 } ) ,
7063 PType :: I64 => Arc :: new ( unsafe {
7164 LargeStringArray :: new_unchecked (
7265 offsets. buffer :: < i64 > ( ) . into_arrow_offset_buffer ( ) ,
73- data. clone ( ) . into_arrow_buffer ( ) ,
66+ data. into_arrow_buffer ( ) ,
7467 nulls,
7568 )
7669 } ) ,
0 commit comments