bug fixed for go1.3beta
This commit is contained in:
parent
a29eb5a21e
commit
56967f80c8
19
helpers.go
19
helpers.go
|
@ -3,6 +3,7 @@ package xorm
|
|||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
@ -56,24 +57,20 @@ func structName(v reflect.Type) string {
|
|||
}
|
||||
|
||||
func sliceEq(left, right []string) bool {
|
||||
for _, l := range left {
|
||||
var find bool
|
||||
for _, r := range right {
|
||||
if l == r {
|
||||
find = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !find {
|
||||
if len(left) != len(right) {
|
||||
return false
|
||||
}
|
||||
sort.Sort(sort.StringSlice(left))
|
||||
sort.Sort(sort.StringSlice(right))
|
||||
for i := 0; i < len(left); i++ {
|
||||
if left[i] != right[i] {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func value2Bytes(rawValue *reflect.Value) (data []byte, err error) {
|
||||
|
||||
aa := reflect.TypeOf((*rawValue).Interface())
|
||||
vv := reflect.ValueOf((*rawValue).Interface())
|
||||
|
||||
|
|
14
session.go
14
session.go
|
@ -1442,13 +1442,13 @@ func (session *Session) row2Bean(rows *core.Rows, fields []string, fieldsCount i
|
|||
return err
|
||||
}
|
||||
|
||||
b, hasBeforeSet := bean.(BeforeSetProcessor)
|
||||
if b, hasBeforeSet := bean.(BeforeSetProcessor); hasBeforeSet {
|
||||
for ii, key := range fields {
|
||||
b.BeforeSet(key, Cell(scanResults[ii].(*interface{})))
|
||||
}
|
||||
}
|
||||
|
||||
for ii, key := range fields {
|
||||
if hasBeforeSet {
|
||||
b.BeforeSet(fields[ii], Cell(scanResults[ii].(*interface{})))
|
||||
}
|
||||
|
||||
if fieldValue := session.getField(&dataStruct, key, table); fieldValue != nil {
|
||||
rawValue := reflect.Indirect(reflect.ValueOf(scanResults[ii]))
|
||||
|
||||
|
@ -2061,6 +2061,10 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value,
|
|||
return structConvert.FromDB(data)
|
||||
}
|
||||
|
||||
if structConvert, ok := fieldValue.Interface().(core.Conversion); ok {
|
||||
return structConvert.FromDB(data)
|
||||
}
|
||||
|
||||
var v interface{}
|
||||
key := col.Name
|
||||
fieldType := fieldValue.Type()
|
||||
|
|
Loading…
Reference in New Issue