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