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 }