Merge branch 'small_performance'

This commit is contained in:
Lunny Xiao 2016-05-13 10:57:13 +08:00
commit dccd82286c
1 changed files with 5 additions and 5 deletions

View File

@ -1613,10 +1613,10 @@ func (session *Session) _row2Bean(rows *core.Rows, fields []string, fieldsCount
var bs []byte
if rawValueType.Kind() == reflect.String {
bs = []byte(vv.String())
} else if rawValueType.ConvertibleTo(reflect.SliceOf(reflect.TypeOf(uint8(1)))) {
} else if rawValueType.ConvertibleTo(core.BytesType) {
bs = vv.Bytes()
} else {
return errors.New("unsupported database data type")
return fmt.Errorf("unsupported database data type: %s %v", key, rawValueType.Kind())
}
hasAssigned = true
@ -1624,14 +1624,14 @@ func (session *Session) _row2Bean(rows *core.Rows, fields []string, fieldsCount
if fieldValue.CanAddr() {
err := json.Unmarshal(bs, fieldValue.Addr().Interface())
if err != nil {
session.Engine.logger.Error(err)
session.Engine.logger.Error(key, err)
return err
}
} else {
x := reflect.New(fieldType)
err := json.Unmarshal(bs, x.Interface())
if err != nil {
session.Engine.logger.Error(err)
session.Engine.logger.Error(key, err)
return err
}
fieldValue.Set(x.Elem())
@ -1646,7 +1646,7 @@ func (session *Session) _row2Bean(rows *core.Rows, fields []string, fieldsCount
var bs []byte
if rawValueType.Kind() == reflect.String {
bs = []byte(vv.String())
} else if rawValueType.Kind() == reflect.Slice {
} else if rawValueType.ConvertibleTo(core.BytesType) {
bs = vv.Bytes()
}