diff --git a/go/arrow/rle/rle_utils.go b/go/arrow/rle/rle_utils.go index da51d49262301..2c72c69ac5069 100644 --- a/go/arrow/rle/rle_utils.go +++ b/go/arrow/rle/rle_utils.go @@ -24,13 +24,13 @@ import ( ) func FindPhysicalOffset(arr arrow.ArrayData) int { - if arr.Len() == 0 { - return 0 - } - data := arr.Children()[0] logicalOffset := arr.Offset() + if data.Len() == 0 { + return 0 + } + switch data.DataType().ID() { case arrow.INT16: runEnds := arrow.Int16Traits.CastFromBytes(data.Buffers()[1].Bytes())