in datahub/record.go [214:236]
func (tr *TupleRecord) FillData(data interface{}) error {
datas, ok := data.([]interface{})
if !ok {
return fmt.Errorf("data must be array")
}
//else if fsize := tr.RecordSchema.Size(); len(datas) != fsize {
// return fmt.Errorf("data array size not match field size(field.size=%d, values.size=%d)", fsize, len(datas))
//}
for idx, v := range datas {
if v != nil {
s, ok := v.(string)
if !ok {
return fmt.Errorf("data value type[%T] illegal", v)
}
tv, err := castValueFromString(s, tr.RecordSchema.Fields[idx].Type)
if err != nil {
return err
}
tr.Values[idx] = tv
}
}
return nil
}