small performance optimazition

This commit is contained in:
Lunny Xiao 2016-05-13 10:49:33 +08:00
parent a01eeeddbc
commit 0c3586bc28
1 changed files with 5 additions and 5 deletions

View File

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