mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Fix an ancient oversight in libpq's handling of V3-protocol COPY OUT mode:
we need to be able to swallow NOTICE messages, and potentially also ParameterStatus messages (although the latter would be a bit weird), without exiting COPY OUT state. Fix it, and adjust the protocol documentation to emphasize the need for this. Per off-list report from Alexander Galler.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.47 2003/11/01 01:56:29 petere Exp $ -->
|
||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.47.2.1 2008/01/14 18:46:49 tgl Exp $ -->
|
||||
|
||||
<chapter id="protocol">
|
||||
<title>Frontend/Backend Protocol</title>
|
||||
@ -953,9 +953,16 @@
|
||||
<para>
|
||||
In the event of a backend-detected error during copy-out mode,
|
||||
the backend will issue an ErrorResponse message and revert to normal
|
||||
processing. The frontend should treat receipt of ErrorResponse (or
|
||||
indeed any message type other than CopyData or CopyDone) as terminating
|
||||
the copy-out mode.
|
||||
processing. The frontend should treat receipt of ErrorResponse as
|
||||
terminating the copy-out mode.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
It is possible for NoticeResponse messages to be interspersed between
|
||||
CopyData messages; frontends must handle this case, and should be
|
||||
prepared for other asynchronous message types as well (see <xref
|
||||
linkend="protocol-async">). Otherwise, any message type other than
|
||||
CopyData or CopyDone may be treated as terminating copy-out mode.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
Reference in New Issue
Block a user