From 0c3586bc286c1b10a4ca4743f556f24bb7511ad6 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 13 May 2016 10:49:33 +0800 Subject: [PATCH] small performance optimazition --- session.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/session.go b/session.go index 27ebf2da..1497c145 100644 --- a/session.go +++ b/session.go @@ -1635,10 +1635,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 @@ -1646,14 +1646,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()) @@ -1668,7 +1668,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() }