Skip to content

Commit

Permalink
CancelRequest: don't try to read the reply
Browse files Browse the repository at this point in the history
Postgres will just process the request and close the connection
  • Loading branch information
drakkan authored and jackc committed Jun 3, 2023
1 parent 46d9125 commit c861bce
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions pgconn/pgconn.go
Original file line number Diff line number Diff line change
Expand Up @@ -896,17 +896,11 @@ func (pgConn *PgConn) CancelRequest(ctx context.Context) error {
binary.BigEndian.PutUint32(buf[4:8], 80877102)
binary.BigEndian.PutUint32(buf[8:12], uint32(pgConn.pid))
binary.BigEndian.PutUint32(buf[12:16], uint32(pgConn.secretKey))
// Postgres will process the request and close the connection
// so when don't need to read the reply
// https://www.postgresql.org/docs/current/protocol-flow.html#id-1.10.6.7.10
_, err = cancelConn.Write(buf)
if err != nil {
return err
}

_, err = cancelConn.Read(buf)
if err != io.EOF {
return err
}

return nil
return err
}

// WaitForNotification waits for a LISTON/NOTIFY message to be received. It returns an error if a notification was not
Expand Down

0 comments on commit c861bce

Please sign in to comment.