github.com/wawandco/oxpecker@v1.5.7-0.20210910201653-5958d4afdd89/tools/soda/fizz/column_type.go (about)

     1  package fizz
     2  
     3  import "strings"
     4  
     5  func columnType(s string) string {
     6  	switch strings.ToLower(s) {
     7  	case "int":
     8  		return "integer"
     9  	case "time.time", "time", "datetime":
    10  		return "timestamp"
    11  	case "uuid.uuid", "uuid":
    12  		return "uuid"
    13  	case "nulls.float32", "nulls.float64":
    14  		return "float"
    15  	case "slices.string", "slices.uuid", "[]string":
    16  		return "varchar[]"
    17  	case "slices.float", "[]float", "[]float32", "[]float64":
    18  		return "numeric[]"
    19  	case "slices.int":
    20  		return "int[]"
    21  	case "slices.map":
    22  		return "jsonb"
    23  	case "float32", "float64", "float":
    24  		return "decimal"
    25  	case "blob", "[]byte":
    26  		return "blob"
    27  	default:
    28  		if strings.HasPrefix(s, "nulls.") {
    29  			return columnType(strings.Replace(s, "nulls.", "", -1))
    30  		}
    31  		return strings.ToLower(s)
    32  	}
    33  }