diff --git a/client/dtmcli/dtmimp/trans_xa_base.go b/client/dtmcli/dtmimp/trans_xa_base.go index 6eedb31..d936b6a 100644 --- a/client/dtmcli/dtmimp/trans_xa_base.go +++ b/client/dtmcli/dtmimp/trans_xa_base.go @@ -37,7 +37,7 @@ func XaHandleLocalTrans(xa *TransBase, dbConf DBConf, cb func(*sql.DB) error) (r if rerr != nil { return } - defer func() { _ = db.Close() }() + defer XaClose(db) defer DeferDo(&rerr, func() error { _, err := DBExec(dbConf.Driver, db, GetDBSpecial(dbConf.Driver).GetXaSQL("prepare", xaBranch)) return err diff --git a/client/dtmcli/dtmimp/utils.go b/client/dtmcli/dtmimp/utils.go index b193ea9..154e2bf 100644 --- a/client/dtmcli/dtmimp/utils.go +++ b/client/dtmcli/dtmimp/utils.go @@ -181,10 +181,16 @@ func XaDB(conf DBConf) (*sql.DB, error) { if conf.Driver == DBTypeMysql { dsn += "&autocommit=0" } - logger.Infof("opening standalone %s: %s", conf.Driver, strings.Replace(dsn, conf.Password, "****", 1)) + logger.Infof("opening xa standalone %s: %s", conf.Driver, strings.Replace(dsn, conf.Password, "****", 1)) return sql.Open(conf.Driver, dsn) } +// XaClose +func XaClose(db *sql.DB) { + logger.Infof("closing xa db") + _ = db.Close() +} + // DBExec use raw db to exec func DBExec(dbType string, db DB, sql string, values ...interface{}) (affected int64, rerr error) { if sql == "" {