File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed
Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -68,6 +68,8 @@ func reverseTransformArray(dt arrow.DataType, arr arrow.Array) arrow.Array {
6868 return reverseTransformTime64 (dt .(* arrow.Time64Type ), arr )
6969 case * array.Date32 :
7070 return reverseTransformFromDate32 (dt , arr )
71+ case * array.Uint32 :
72+ return reverseTransformFromUint32 (dt , arr )
7173 case * array.Struct :
7274 dt := dt .(* arrow.StructType )
7375 children := make ([]arrow.ArrayData , arr .NumField ())
@@ -100,6 +102,23 @@ func reverseTransformArray(dt arrow.DataType, arr arrow.Array) arrow.Array {
100102 }
101103}
102104
105+ func reverseTransformFromUint32 (dt arrow.DataType , arr * array.Uint32 ) arrow.Array {
106+ switch dt {
107+ case arrow .PrimitiveTypes .Uint64 :
108+ builder := array .NewUint64Builder (memory .DefaultAllocator )
109+ for i := 0 ; i < arr .Len (); i ++ {
110+ if arr .IsNull (i ) {
111+ builder .AppendNull ()
112+ continue
113+ }
114+ builder .Append (uint64 (arr .Value (i )))
115+ }
116+ return builder .NewArray ()
117+ default :
118+ panic (fmt .Errorf ("unsupported conversion from %s to %s" , arr .DataType (), dt ))
119+ }
120+ }
121+
103122func reverseTransformFromString (dt arrow.DataType , arr arrow.Array ) arrow.Array {
104123 builder := array .NewBuilder (memory .DefaultAllocator , dt )
105124 for i := 0 ; i < arr .Len (); i ++ {
You can’t perform that action at this time.
0 commit comments