@@ -284,22 +284,22 @@ mod tests {
284284 } ;
285285
286286 trait TestExt {
287- fn as_int64_arr ( & self ) -> & Int64Array ;
288- fn as_float64_arr ( & self ) -> & Float64Array ;
289- fn as_utf8_arr ( & self ) -> & StringArray ;
287+ fn as_int64_arr ( & self ) -> Option < & Int64Array > ;
288+ fn as_float64_arr ( & self ) -> Option < & Float64Array > ;
289+ fn as_utf8_arr ( & self ) -> Option < & StringArray > ;
290290 }
291291
292292 impl TestExt for ArrayRef {
293- fn as_int64_arr ( & self ) -> & Int64Array {
294- self . as_any ( ) . downcast_ref ( ) . unwrap ( )
293+ fn as_int64_arr ( & self ) -> Option < & Int64Array > {
294+ self . as_any ( ) . downcast_ref ( )
295295 }
296296
297- fn as_float64_arr ( & self ) -> & Float64Array {
298- self . as_any ( ) . downcast_ref ( ) . unwrap ( )
297+ fn as_float64_arr ( & self ) -> Option < & Float64Array > {
298+ self . as_any ( ) . downcast_ref ( )
299299 }
300300
301- fn as_utf8_arr ( & self ) -> & StringArray {
302- self . as_any ( ) . downcast_ref ( ) . unwrap ( )
301+ fn as_utf8_arr ( & self ) -> Option < & StringArray > {
302+ self . as_any ( ) . downcast_ref ( )
303303 }
304304 }
305305
@@ -333,27 +333,29 @@ mod tests {
333333 assert_eq ! ( rb. num_rows( ) , 1 ) ;
334334 assert_eq ! ( rb. num_columns( ) , 6 ) ;
335335 assert_eq ! (
336- rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) ,
336+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
337337 & Int64Array :: from_iter( [ 1 ] )
338338 ) ;
339339 assert_eq ! (
340- rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
340+ rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) . unwrap ( ) ,
341341 & StringArray :: from_iter_values( [ "hello" ] )
342342 ) ;
343343 assert_eq ! (
344- rb. column_by_name( "c" ) . unwrap( ) . as_float64_arr( ) ,
344+ rb. column_by_name( "c" ) . unwrap( ) . as_float64_arr( ) . unwrap ( ) ,
345345 & Float64Array :: from_iter( [ 4.23 ] )
346346 ) ;
347347 assert_eq ! (
348348 rb. column_by_name( event:: DEFAULT_TAGS_KEY )
349349 . unwrap( )
350- . as_utf8_arr( ) ,
350+ . as_utf8_arr( )
351+ . unwrap( ) ,
351352 & StringArray :: from_iter_values( [ "a=tag1" ] )
352353 ) ;
353354 assert_eq ! (
354355 rb. column_by_name( event:: DEFAULT_METADATA_KEY )
355356 . unwrap( )
356- . as_utf8_arr( ) ,
357+ . as_utf8_arr( )
358+ . unwrap( ) ,
357359 & StringArray :: from_iter_values( [ "c=meta1" ] )
358360 ) ;
359361 }
@@ -381,11 +383,11 @@ mod tests {
381383 assert_eq ! ( rb. num_rows( ) , 1 ) ;
382384 assert_eq ! ( rb. num_columns( ) , 5 ) ;
383385 assert_eq ! (
384- rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) ,
386+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
385387 & Int64Array :: from_iter( [ 1 ] )
386388 ) ;
387389 assert_eq ! (
388- rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
390+ rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) . unwrap ( ) ,
389391 & StringArray :: from_iter_values( [ "hello" ] )
390392 ) ;
391393 }
@@ -413,11 +415,11 @@ mod tests {
413415 assert_eq ! ( rb. num_rows( ) , 1 ) ;
414416 assert_eq ! ( rb. num_columns( ) , 5 ) ;
415417 assert_eq ! (
416- rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) ,
418+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
417419 & Int64Array :: from_iter( [ 1 ] )
418420 ) ;
419421 assert_eq ! (
420- rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
422+ rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) . unwrap ( ) ,
421423 & StringArray :: from_iter_values( [ "hello" ] )
422424 ) ;
423425 }
@@ -522,15 +524,15 @@ mod tests {
522524 assert_eq ! ( & * fields[ 3 ] , & Field :: new( "c" , DataType :: Int64 , true ) ) ;
523525
524526 assert_eq ! (
525- rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) ,
527+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
526528 & Int64Array :: from( vec![ None , Some ( 1 ) , Some ( 1 ) ] )
527529 ) ;
528530 assert_eq ! (
529- rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
531+ rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) . unwrap ( ) ,
530532 & StringArray :: from( vec![ Some ( "hello" ) , Some ( "hello" ) , Some ( "hello" ) , ] )
531533 ) ;
532534 assert_eq ! (
533- rb. column_by_name( "c" ) . unwrap( ) . as_int64_arr( ) ,
535+ rb. column_by_name( "c" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
534536 & Int64Array :: from( vec![ None , Some ( 1 ) , None ] )
535537 ) ;
536538 }
@@ -570,15 +572,15 @@ mod tests {
570572 assert_eq ! ( rb. num_rows( ) , 3 ) ;
571573 assert_eq ! ( rb. num_columns( ) , 6 ) ;
572574 assert_eq ! (
573- rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) ,
575+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
574576 & Int64Array :: from( vec![ None , Some ( 1 ) , Some ( 1 ) ] )
575577 ) ;
576578 assert_eq ! (
577- rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
579+ rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) . unwrap ( ) ,
578580 & StringArray :: from( vec![ Some ( "hello" ) , Some ( "hello" ) , Some ( "hello" ) , ] )
579581 ) ;
580582 assert_eq ! (
581- rb. column_by_name( "c" ) . unwrap( ) . as_float64_arr( ) ,
583+ rb. column_by_name( "c" ) . unwrap( ) . as_float64_arr( ) . unwrap ( ) ,
582584 & Float64Array :: from( vec![ None , Some ( 1.22 ) , None , ] )
583585 ) ;
584586 }
@@ -618,15 +620,15 @@ mod tests {
618620 assert_eq ! ( rb. num_rows( ) , 3 ) ;
619621 assert_eq ! ( rb. num_columns( ) , 6 ) ;
620622 assert_eq ! (
621- rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) ,
623+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
622624 & Int64Array :: from( vec![ None , Some ( 1 ) , Some ( 1 ) ] )
623625 ) ;
624626 assert_eq ! (
625- rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
627+ rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) . unwrap ( ) ,
626628 & StringArray :: from( vec![ Some ( "hello" ) , Some ( "hello" ) , Some ( "hello" ) , ] )
627629 ) ;
628630 assert_eq ! (
629- rb. column_by_name( "c" ) . unwrap( ) . as_float64_arr( ) ,
631+ rb. column_by_name( "c" ) . unwrap( ) . as_float64_arr( ) . unwrap ( ) ,
630632 & Float64Array :: from( vec![ None , Some ( 1.22 ) , None , ] )
631633 ) ;
632634 }
@@ -703,11 +705,11 @@ mod tests {
703705 assert_eq ! ( rb. num_rows( ) , 4 ) ;
704706 assert_eq ! ( rb. num_columns( ) , 7 ) ;
705707 assert_eq ! (
706- rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) ,
708+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
707709 & Int64Array :: from( vec![ Some ( 1 ) , Some ( 1 ) , Some ( 1 ) , Some ( 1 ) ] )
708710 ) ;
709711 assert_eq ! (
710- rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
712+ rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) . unwrap ( ) ,
711713 & StringArray :: from( vec![
712714 Some ( "hello" ) ,
713715 Some ( "hello" ) ,
@@ -717,12 +719,12 @@ mod tests {
717719 ) ;
718720
719721 assert_eq ! (
720- rb. column_by_name( "c_a" ) . unwrap( ) . as_int64_arr( ) ,
722+ rb. column_by_name( "c_a" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
721723 & Int64Array :: from( vec![ None , None , Some ( 1 ) , Some ( 1 ) ] )
722724 ) ;
723725
724726 assert_eq ! (
725- rb. column_by_name( "c_b" ) . unwrap( ) . as_int64_arr( ) ,
727+ rb. column_by_name( "c_b" ) . unwrap( ) . as_int64_arr( ) . unwrap ( ) ,
726728 & Int64Array :: from( vec![ None , None , None , Some ( 2 ) ] )
727729 ) ;
728730 }
0 commit comments