This commit is contained in:
Lunny Xiao 2015-12-03 16:11:27 +08:00
parent 829677bc38
commit a8fba4d3d9
3 changed files with 13 additions and 8 deletions

View File

@ -1 +1 @@
xorm v0.4.4.1126 xorm v0.4.4.1203

View File

@ -3537,7 +3537,9 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
// -- // --
var err error var err error
if t.Kind() == reflect.Struct { var isMap = t.Kind() == reflect.Map
var isStruct = t.Kind() == reflect.Struct
if isStruct {
table = session.Engine.TableInfo(bean) table = session.Engine.TableInfo(bean)
session.Statement.RefTable = table session.Statement.RefTable = table
@ -3552,7 +3554,7 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
return 0, err return 0, err
} }
} }
} else if t.Kind() == reflect.Map { } else if isMap {
if session.Statement.RefTable == nil { if session.Statement.RefTable == nil {
return 0, ErrTableNotFound return 0, ErrTableNotFound
} }
@ -3576,10 +3578,12 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
args = append(args, val) args = append(args, val)
var colName = col.Name var colName = col.Name
session.afterClosures = append(session.afterClosures, func(bean interface{}) { if isStruct {
col := table.GetColumn(colName) session.afterClosures = append(session.afterClosures, func(bean interface{}) {
setColumnTime(bean, col, t) col := table.GetColumn(colName)
}) setColumnTime(bean, col, t)
})
}
} }
//for update action to like "column = column + ?" //for update action to like "column = column + ?"
@ -3723,6 +3727,7 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
} else { } else {
afterClosures := make([]func(interface{}), lenAfterClosures) afterClosures := make([]func(interface{}), lenAfterClosures)
copy(afterClosures, session.afterClosures) copy(afterClosures, session.afterClosures)
// FIXME: if bean is a map type, it will panic because map cannot be as map key
session.afterUpdateBeans[bean] = &afterClosures session.afterUpdateBeans[bean] = &afterClosures
} }

View File

@ -17,7 +17,7 @@ import (
) )
const ( const (
Version string = "0.4.4.1126" Version string = "0.4.4.1203"
) )
func regDrvsNDialects() bool { func regDrvsNDialects() bool {