77 "github.com/cloudquery/plugin-sdk/v4/schema"
88 "github.com/cloudquery/plugin-sdk/v4/transformers"
99 cqtypes "github.com/cloudquery/plugin-sdk/v4/types"
10+ "google.golang.org/protobuf/proto"
1011 "google.golang.org/protobuf/reflect/protoreflect"
1112 "google.golang.org/protobuf/types/known/timestamppb"
1213 "google.golang.org/protobuf/types/known/wrapperspb"
@@ -17,11 +18,36 @@ func typeTransformer(field reflect.StructField) (arrow.DataType, error) {
1718 case * timestamppb.Timestamp ,
1819 timestamppb.Timestamp :
1920 return arrow .FixedWidthTypes .Timestamp_us , nil
21+ case * protoreflect.Enum ,
22+ protoreflect.Enum :
23+ return arrow .BinaryTypes .String , nil
2024 case * wrapperspb.DoubleValue ,
2125 wrapperspb.DoubleValue :
2226 return arrow .PrimitiveTypes .Float64 , nil
23- case protoreflect.Enum :
27+ case * wrapperspb.FloatValue ,
28+ wrapperspb.FloatValue :
29+ return arrow .PrimitiveTypes .Float32 , nil
30+ case * wrapperspb.StringValue ,
31+ wrapperspb.StringValue :
2432 return arrow .BinaryTypes .String , nil
33+ case * wrapperspb.Int64Value ,
34+ wrapperspb.Int64Value :
35+ return arrow .PrimitiveTypes .Int64 , nil
36+ case * wrapperspb.Int32Value ,
37+ wrapperspb.Int32Value :
38+ return arrow .PrimitiveTypes .Int32 , nil
39+ case * wrapperspb.UInt64Value ,
40+ wrapperspb.UInt64Value :
41+ return arrow .PrimitiveTypes .Uint64 , nil
42+ case * wrapperspb.UInt32Value ,
43+ wrapperspb.UInt32Value :
44+ return arrow .PrimitiveTypes .Uint32 , nil
45+ case * wrapperspb.BoolValue ,
46+ wrapperspb.BoolValue :
47+ return arrow .FixedWidthTypes .Boolean , nil
48+ case * wrapperspb.BytesValue ,
49+ wrapperspb.BytesValue :
50+ return arrow .BinaryTypes .Binary , nil
2551 case nil :
2652 return cqtypes .NewJSONType (), nil
2753 default :
@@ -34,11 +60,39 @@ func resolverTransformer(field reflect.StructField, path string) schema.ColumnRe
3460 case * timestamppb.Timestamp ,
3561 timestamppb.Timestamp :
3662 return ResolveProtoTimestamp (path )
63+ case * protoreflect.Enum ,
64+ protoreflect.Enum :
65+ return ResolveProtoEnum (path )
3766 case * wrapperspb.DoubleValue ,
3867 wrapperspb.DoubleValue :
39- return ResolveDouble (path )
40- case protoreflect.Enum :
41- return ResolveProtoEnum (path )
68+ return ResolveWrapperValue [float64 , * wrapperspb.DoubleValue ](path )
69+ case * wrapperspb.FloatValue ,
70+ wrapperspb.FloatValue :
71+ return ResolveWrapperValue [float32 , * wrapperspb.FloatValue ](path )
72+ case * wrapperspb.StringValue ,
73+ wrapperspb.StringValue :
74+ return ResolveWrapperValue [string , * wrapperspb.StringValue ](path )
75+ case * wrapperspb.Int64Value ,
76+ wrapperspb.Int64Value :
77+ return ResolveWrapperValue [int64 , * wrapperspb.Int64Value ](path )
78+ case * wrapperspb.Int32Value ,
79+ wrapperspb.Int32Value :
80+ return ResolveWrapperValue [int32 , * wrapperspb.Int32Value ](path )
81+ case * wrapperspb.UInt64Value ,
82+ wrapperspb.UInt64Value :
83+ return ResolveWrapperValue [uint64 , * wrapperspb.UInt64Value ](path )
84+ case * wrapperspb.UInt32Value ,
85+ wrapperspb.UInt32Value :
86+ return ResolveWrapperValue [uint32 , * wrapperspb.UInt32Value ](path )
87+ case * wrapperspb.BoolValue ,
88+ wrapperspb.BoolValue :
89+ return ResolveWrapperValue [bool , * wrapperspb.BoolValue ](path )
90+ case * wrapperspb.BytesValue ,
91+ wrapperspb.BytesValue :
92+ return ResolveWrapperValue [[]byte , * wrapperspb.BytesValue ](path )
93+ case * proto.Message ,
94+ proto.Message :
95+ return ResolveProtoMessage (path )
4296 default :
4397 return nil
4498 }
0 commit comments