in pkg/datasource/sql/xa_branch_xid.go [38:59]
func NewXABranchXid(opt ...Option) *XABranchXid {
xABranchXid := &XABranchXid{}
for _, fn := range opt {
fn(xABranchXid)
}
// encode
if (xABranchXid.xid != "" || xABranchXid.branchId != 0) &&
len(xABranchXid.globalTransactionId) == 0 &&
len(xABranchXid.branchQualifier) == 0 {
encode(xABranchXid)
}
// decode
if xABranchXid.xid == "" && xABranchXid.branchId == 0 &&
(len(xABranchXid.globalTransactionId) > 0 || len(xABranchXid.branchQualifier) > 0) {
decode(xABranchXid)
}
return xABranchXid
}