@@ -27,15 +27,16 @@ use arrow::array::{
2727 Int16Array , Int8Array , LargeBinaryArray , LargeListViewArray , LargeStringArray ,
2828 ListViewArray , StringViewArray , UInt16Array ,
2929} ;
30+ use arrow:: datatypes:: RunEndIndexType ;
3031use arrow:: {
3132 array:: {
3233 Array , BinaryArray , BooleanArray , Date32Array , Date64Array , Decimal128Array ,
3334 Decimal256Array , DictionaryArray , FixedSizeBinaryArray , FixedSizeListArray ,
3435 Float32Array , Float64Array , GenericBinaryArray , GenericListArray ,
3536 GenericStringArray , Int32Array , Int64Array , IntervalDayTimeArray ,
3637 IntervalMonthDayNanoArray , IntervalYearMonthArray , LargeListArray , ListArray ,
37- MapArray , NullArray , OffsetSizeTrait , PrimitiveArray , StringArray , StructArray ,
38- Time32MillisecondArray , Time32SecondArray , Time64MicrosecondArray ,
38+ MapArray , NullArray , OffsetSizeTrait , PrimitiveArray , RunArray , StringArray ,
39+ StructArray , Time32MillisecondArray , Time32SecondArray , Time64MicrosecondArray ,
3940 Time64NanosecondArray , TimestampMicrosecondArray , TimestampMillisecondArray ,
4041 TimestampNanosecondArray , TimestampSecondArray , UInt32Array , UInt64Array ,
4142 UInt8Array , UnionArray ,
@@ -334,3 +335,8 @@ pub fn as_list_view_array(array: &dyn Array) -> Result<&ListViewArray> {
334335pub fn as_large_list_view_array ( array : & dyn Array ) -> Result < & LargeListViewArray > {
335336 Ok ( downcast_value ! ( array, LargeListViewArray ) )
336337}
338+
339+ // Downcast ArrayRef to RunArray
340+ pub fn as_run_array < R : RunEndIndexType > ( array : & dyn Array ) -> Result < & RunArray < R > > {
341+ Ok ( downcast_value ! ( array, RunArray , R ) )
342+ }
0 commit comments