mirror of https://github.com/jackc/pgx.git
DRY ConnPool Begin and BeginIso
parent
6ac98ef613
commit
bc4742b80a
20
conn_pool.go
20
conn_pool.go
|
@ -214,25 +214,7 @@ func (p *ConnPool) QueryRow(sql string, args ...interface{}) *Row {
|
|||
// Begin acquires a connection and begins a transaction on it. When the
|
||||
// transaction is closed the connection will be automatically released.
|
||||
func (p *ConnPool) Begin() (*Tx, error) {
|
||||
for {
|
||||
c, err := p.Acquire()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
tx, err := c.Begin()
|
||||
if err == ErrDeadConn {
|
||||
p.Release(c)
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
p.Release(c)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
tx.pool = p
|
||||
return tx, nil
|
||||
}
|
||||
return p.BeginIso("")
|
||||
}
|
||||
|
||||
// BeginIso acquires a connection and begins a transaction in isolation mode iso
|
||||
|
|
Loading…
Reference in New Issue