(a *v1.KeyValue, p *Attribute)
| 294 | } |
| 295 | |
| 296 | func attrToParquet(a *v1.KeyValue, p *Attribute) { |
| 297 | p.Key = a.Key |
| 298 | p.IsArray = false |
| 299 | p.Value = p.Value[:0] |
| 300 | p.ValueInt = p.ValueInt[:0] |
| 301 | p.ValueDouble = p.ValueDouble[:0] |
| 302 | p.ValueBool = p.ValueBool[:0] |
| 303 | p.ValueUnsupported = nil |
| 304 | |
| 305 | switch v := a.GetValue().Value.(type) { |
| 306 | case *v1.AnyValue_StringValue: |
| 307 | p.Value = append(p.Value, v.StringValue) |
| 308 | case *v1.AnyValue_IntValue: |
| 309 | p.ValueInt = append(p.ValueInt, v.IntValue) |
| 310 | case *v1.AnyValue_DoubleValue: |
| 311 | p.ValueDouble = append(p.ValueDouble, v.DoubleValue) |
| 312 | case *v1.AnyValue_BoolValue: |
| 313 | p.ValueBool = append(p.ValueBool, v.BoolValue) |
| 314 | case *v1.AnyValue_ArrayValue: |
| 315 | p.IsArray = true |
| 316 | if v.ArrayValue == nil || len(v.ArrayValue.Values) == 0 { |
| 317 | return |
| 318 | } |
| 319 | switch v.ArrayValue.Values[0].Value.(type) { |
| 320 | case *v1.AnyValue_StringValue: |
| 321 | for _, e := range v.ArrayValue.Values { |
| 322 | ev, ok := e.Value.(*v1.AnyValue_StringValue) |
| 323 | if !ok { |
| 324 | p.Value = p.Value[:0] |
| 325 | attrToParquetTypeUnsupported(a, p) |
| 326 | return |
| 327 | } |
| 328 | |
| 329 | p.Value = append(p.Value, ev.StringValue) |
| 330 | } |
| 331 | case *v1.AnyValue_IntValue: |
| 332 | for _, e := range v.ArrayValue.Values { |
| 333 | ev, ok := e.Value.(*v1.AnyValue_IntValue) |
| 334 | if !ok { |
| 335 | p.ValueInt = p.ValueInt[:0] |
| 336 | attrToParquetTypeUnsupported(a, p) |
| 337 | return |
| 338 | } |
| 339 | |
| 340 | p.ValueInt = append(p.ValueInt, ev.IntValue) |
| 341 | } |
| 342 | case *v1.AnyValue_DoubleValue: |
| 343 | for _, e := range v.ArrayValue.Values { |
| 344 | ev, ok := e.Value.(*v1.AnyValue_DoubleValue) |
| 345 | if !ok { |
| 346 | p.ValueDouble = p.ValueDouble[:0] |
| 347 | attrToParquetTypeUnsupported(a, p) |
| 348 | return |
| 349 | } |
| 350 | |
| 351 | p.ValueDouble = append(p.ValueDouble, ev.DoubleValue) |
| 352 | } |
| 353 | case *v1.AnyValue_BoolValue: |
no test coverage detected