summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane2008-01-14 18:46:33 +0000
committerTom Lane2008-01-14 18:46:33 +0000
commit78f53d5a004c9202b9f33b3f7d6fc8bcd174ca39 (patch)
treefbee5d52595ac399753be641b28269abc4d28dc1 /doc/src
parent307a67787393d2de76b73a6b8632ad801a2c8406 (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 07c9c642c75..487f416adae 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.62 2005/08/14 22:19:49 petere Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/protocol.sgml,v 1.62.2.1 2008/01/14 18:46:33 tgl Exp $ -->
<chapter id="protocol">
<title>Frontend/Backend Protocol</title>
@@ -1001,9 +1001,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>