- BatchUpdateEntityByKV中不用事务
This commit is contained in:
@@ -63,15 +63,16 @@ func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, c
|
||||
|
||||
func BatchUpdateEntityByKV(db *DaoDB, items []*KVUpdateItem) (num int64, err error) {
|
||||
if len(items) > 0 {
|
||||
Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil || err != nil {
|
||||
Rollback(db)
|
||||
if r != nil {
|
||||
panic(r)
|
||||
}
|
||||
}
|
||||
}()
|
||||
// 不用事务应该是OK的吧,用事务经常会导致死锁(不同平台在同步同一条数据)
|
||||
// Begin(db)
|
||||
// defer func() {
|
||||
// if r := recover(); r != nil || err != nil {
|
||||
// Rollback(db)
|
||||
// if r != nil {
|
||||
// panic(r)
|
||||
// }
|
||||
// }
|
||||
// }()
|
||||
for _, v := range items {
|
||||
num2, err2 := UpdateEntityByKV(db, v.Item, v.KVs, nil)
|
||||
if err = err2; err != nil {
|
||||
@@ -79,7 +80,7 @@ func BatchUpdateEntityByKV(db *DaoDB, items []*KVUpdateItem) (num int64, err err
|
||||
}
|
||||
num += num2
|
||||
}
|
||||
Commit(db)
|
||||
// Commit(db)
|
||||
}
|
||||
return num, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user