@@ -553,42 +553,20 @@ impl<'a, L: ListLikeArray> ListArrowToVariantBuilder<'a, L> {
553553 }
554554}
555555
556- /// Trait for list-like arrays that can provide common helpers
556+ /// Trait for list-like arrays that can provide element ranges
557557pub ( crate ) trait ListLikeArray : Array {
558- type OffsetSize : OffsetSizeTrait ;
559-
560558 /// Get the values array
561559 fn values ( & self ) -> & ArrayRef ;
562560
563- /// Get the offsets backing the list values
564- #[ cfg( test) ]
565- fn value_offsets ( & self ) -> Option < & [ Self :: OffsetSize ] > ;
566-
567- /// Size (number of values) for the element at `index`
568- #[ cfg( test) ]
569- fn value_size ( & self , index : usize ) -> Self :: OffsetSize ;
570-
571561 /// Get the start and end indices for a list element
572562 fn element_range ( & self , index : usize ) -> Range < usize > ;
573563}
574564
575565impl < O : OffsetSizeTrait > ListLikeArray for GenericListArray < O > {
576- type OffsetSize = O ;
577-
578566 fn values ( & self ) -> & ArrayRef {
579567 self . values ( )
580568 }
581569
582- #[ cfg( test) ]
583- fn value_offsets ( & self ) -> Option < & [ Self :: OffsetSize ] > {
584- Some ( GenericListArray :: value_offsets ( self ) )
585- }
586-
587- #[ cfg( test) ]
588- fn value_size ( & self , index : usize ) -> Self :: OffsetSize {
589- GenericListArray :: value_length ( self , index)
590- }
591-
592570 fn element_range ( & self , index : usize ) -> Range < usize > {
593571 let offsets = self . offsets ( ) ;
594572 let start = offsets[ index] . as_usize ( ) ;
@@ -598,22 +576,10 @@ impl<O: OffsetSizeTrait> ListLikeArray for GenericListArray<O> {
598576}
599577
600578impl < O : OffsetSizeTrait > ListLikeArray for GenericListViewArray < O > {
601- type OffsetSize = O ;
602-
603579 fn values ( & self ) -> & ArrayRef {
604580 self . values ( )
605581 }
606582
607- #[ cfg( test) ]
608- fn value_offsets ( & self ) -> Option < & [ Self :: OffsetSize ] > {
609- Some ( GenericListViewArray :: value_offsets ( self ) )
610- }
611-
612- #[ cfg( test) ]
613- fn value_size ( & self , index : usize ) -> Self :: OffsetSize {
614- GenericListViewArray :: value_size ( self , index)
615- }
616-
617583 fn element_range ( & self , index : usize ) -> Range < usize > {
618584 let offsets = self . value_offsets ( ) ;
619585 let sizes = self . value_sizes ( ) ;
@@ -624,22 +590,10 @@ impl<O: OffsetSizeTrait> ListLikeArray for GenericListViewArray<O> {
624590}
625591
626592impl ListLikeArray for FixedSizeListArray {
627- type OffsetSize = i32 ;
628-
629593 fn values ( & self ) -> & ArrayRef {
630594 self . values ( )
631595 }
632596
633- #[ cfg( test) ]
634- fn value_offsets ( & self ) -> Option < & [ Self :: OffsetSize ] > {
635- None
636- }
637-
638- #[ cfg( test) ]
639- fn value_size ( & self , _index : usize ) -> Self :: OffsetSize {
640- self . value_length ( )
641- }
642-
643597 fn element_range ( & self , index : usize ) -> Range < usize > {
644598 let value_length = self . value_length ( ) . as_usize ( ) ;
645599 let offset = index * value_length;
0 commit comments