Fix: close conn on read failure in pipeline
Suggested by @jameshartig in https://github.com/jackc/pgx/issues/1847
This commit is contained in:
+2
-1
@@ -2117,7 +2117,8 @@ func (p *Pipeline) getResults() (results any, err error) {
|
|||||||
case *pgproto3.ParseComplete:
|
case *pgproto3.ParseComplete:
|
||||||
peekedMsg, err := p.conn.peekMessage()
|
peekedMsg, err := p.conn.peekMessage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
p.conn.asyncClose()
|
||||||
|
return nil, normalizeTimeoutError(p.ctx, err)
|
||||||
}
|
}
|
||||||
if _, ok := peekedMsg.(*pgproto3.ParameterDescription); ok {
|
if _, ok := peekedMsg.(*pgproto3.ParameterDescription); ok {
|
||||||
return p.getResultsPrepare()
|
return p.getResultsPrepare()
|
||||||
|
|||||||
Reference in New Issue
Block a user