🔥A cross-language distributed transaction manager. Support xa, tcc, saga, transactional messages. 跨语言分布式事务管理器
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

15 lines
419 B

package dtmsvr
import "fmt"
func svcSubmit(t *TransGlobal, waitResult bool) (interface{}, error) {
db := dbGet()
dbt := TransFromDb(db, t.Gid)
if dbt != nil && dbt.Status != "prepared" && dbt.Status != "submitted" {
return M{"dtm_result": "FAILURE", "message": fmt.Sprintf("current status %s, cannot sumbmit", dbt.Status)}, nil
}
t.Status = "submitted"
t.saveNew(db)
return t.Process(db, waitResult), nil
}