mirror of https://github.com/jackc/pgx.git
CancelRequest: don't try to read the reply
Postgres will just process the request and close the connectionpull/1631/head
parent
46d91255b0
commit
c861bce438
|
@ -896,17 +896,11 @@ func (pgConn *PgConn) CancelRequest(ctx context.Context) error {
|
||||||
binary.BigEndian.PutUint32(buf[4:8], 80877102)
|
binary.BigEndian.PutUint32(buf[4:8], 80877102)
|
||||||
binary.BigEndian.PutUint32(buf[8:12], uint32(pgConn.pid))
|
binary.BigEndian.PutUint32(buf[8:12], uint32(pgConn.pid))
|
||||||
binary.BigEndian.PutUint32(buf[12:16], uint32(pgConn.secretKey))
|
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)
|
_, err = cancelConn.Write(buf)
|
||||||
if err != nil {
|
return err
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err = cancelConn.Read(buf)
|
|
||||||
if err != io.EOF {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// WaitForNotification waits for a LISTON/NOTIFY message to be received. It returns an error if a notification was not
|
// WaitForNotification waits for a LISTON/NOTIFY message to be received. It returns an error if a notification was not
|
||||||
|
|
Loading…
Reference in New Issue