fixed time struct conversion error

This commit is contained in:
Nash Tsai 2014-01-02 12:49:02 +08:00
parent bf3f8ffc2f
commit e95b3bc807
1 changed files with 4 additions and 3 deletions

View File

@ -1477,12 +1477,12 @@ func (session *Session) row2Bean(rows *sql.Rows, fields []string, fieldsCount in
hasAssigned = true hasAssigned = true
fieldValue.SetUint(uint64(vv.Int())) fieldValue.SetUint(uint64(vv.Int()))
} }
//Currently only support Time type
case reflect.Struct: case reflect.Struct:
if fieldType == reflect.TypeOf(c_TIME_DEFAULT) { if fieldType == reflect.TypeOf(c_TIME_DEFAULT) {
if rawValueType == reflect.TypeOf(c_TIME_DEFAULT) { if rawValueType == reflect.TypeOf(c_TIME_DEFAULT) {
hasAssigned = true hasAssigned = true
fieldValue.Set(rawValue) session.Engine.LogDebug("fieldValue:", fieldValue, "|rawValue:", rawValue, "|vv:", vv)
fieldValue.Set(vv)
} }
} else if session.Statement.UseCascade { } else if session.Statement.UseCascade {
table := session.Engine.autoMapType(fieldValue.Type()) table := session.Engine.autoMapType(fieldValue.Type())
@ -1533,7 +1533,8 @@ func (session *Session) row2Bean(rows *sql.Rows, fields []string, fieldsCount in
case reflect.TypeOf(&c_TIME_DEFAULT): case reflect.TypeOf(&c_TIME_DEFAULT):
if rawValueType == reflect.TypeOf(c_TIME_DEFAULT) { if rawValueType == reflect.TypeOf(c_TIME_DEFAULT) {
hasAssigned = true hasAssigned = true
fieldValue.Set(reflect.ValueOf(&rawValue)) var x time.Time = rawValue.Interface().(time.Time)
fieldValue.Set(reflect.ValueOf(&x))
} }
case reflect.TypeOf(&c_FLOAT64_DEFAULT): case reflect.TypeOf(&c_FLOAT64_DEFAULT):
if rawValueType.Kind() == reflect.Float64 { if rawValueType.Kind() == reflect.Float64 {