summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane2008-01-14 18:46:40 +0000
committerTom Lane2008-01-14 18:46:40 +0000
commitaff5af7dad9bbefa015d4c3c2d2d36726798797b (patch)
tree6a63c74b2cc9d8448428ef8c61289c2804c8bbd4 /doc/src
parent1cedae562b78d3ee22df2dd46467c446858ae777 (diff)
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.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/protocol.sgml15
1 files changed, 11 insertions, 4 deletions
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 0ed09c71d0d..121f43c5e2d 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/protocol.sgml,v 1.57.4.1 2005/01/23 00:37:12 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/protocol.sgml,v 1.57.4.2 2008/01/14 18:46:40 tgl Exp $ -->
<chapter id="protocol">
<title>Frontend/Backend Protocol</title>
@@ -994,9 +994,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>