in encoder/avro.go [260:295]
func fixAvroFieldType(i interface{}, dtype string, ftype string) (interface{}, error) {
var err error
var v interface{}
/*if row == nil {
v = s.Columns[i].Type
} else { */
switch b := i.(type) {
case int8:
if ftype == types.MySQLBoolean {
v = false
if b != 0 {
v = true
}
} else {
v = int32(b)
}
case uint8:
v = int32(b)
case int16:
v = int32(b)
case uint16:
v = int32(b)
case time.Time:
v = b.UnixNano() / 1000000 //milliseconds
case string:
v, err = convertTime(b, dtype)
if err != nil {
return nil, err
}
case []byte:
v = convertText(b, dtype)
default:
v = b
}
return v, nil
}