MCPcopy Create free account
hub / github.com/cloudspannerecosystem/spanner-cli / formatTypeVerbose

Function formatTypeVerbose

decoder.go:390–413  ·  view source on GitHub ↗
(typ *sppb.Type)

Source from the content-addressed store, hash-verified

388}
389
390func formatTypeVerbose(typ *sppb.Type) string {
391 switch code := typ.GetCode(); code {
392 case sppb.TypeCode_ARRAY:
393 return fmt.Sprintf("ARRAY<%v>", formatTypeVerbose(typ.GetArrayElementType()))
394 case sppb.TypeCode_ENUM, sppb.TypeCode_PROTO:
395 return typ.GetProtoTypeFqn()
396 case sppb.TypeCode_STRUCT:
397 var structTypeStrs []string
398 for _, v := range typ.GetStructType().GetFields() {
399 if v.GetName() != "" {
400 structTypeStrs = append(structTypeStrs, fmt.Sprintf("%v %v", v.GetName(), formatTypeVerbose(v.GetType())))
401 } else {
402 structTypeStrs = append(structTypeStrs, fmt.Sprintf("%v", formatTypeVerbose(v.GetType())))
403 }
404 }
405 return fmt.Sprintf("STRUCT<%v>", strings.Join(structTypeStrs, ", "))
406 default:
407 if name, ok := sppb.TypeCode_name[int32(code)]; ok {
408 return name
409 } else {
410 return "UNKNOWN"
411 }
412 }
413}

Callers 1

ExecuteMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected