Adding a note to protocol.sgml regarding CopyData - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Adding a note to protocol.sgml regarding CopyData
Date
Msg-id 20180730.080748.1152436144966943439.t-ishii@sraoss.co.jp
Whole thread Raw
Responses Re: Adding a note to protocol.sgml regarding CopyData  (Fabien COELHO <coelho@cri.ensmp.fr>)
List pgsql-hackers
In libpq.sgml following is stated:

        Before <productname>PostgreSQL</productname> protocol 3.0, it was necessary
        for the application to explicitly send the two characters
        <literal>\.</literal> as a final line to indicate to the server that it had
        finished sending <command>COPY</command> data.  While this still works, it is deprecated and the
        special meaning of <literal>\.</literal> can be expected to be removed in a
        future release.  It is sufficient to call <function>PQendcopy</function> after
        having sent the actual data.

I think this should be mentioned in protocol.sgml as well. Developers
who wish to develop programs that understand frontend/backend protocol
should be able to focus on protocol.sgml. Attached is a patch for
this.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jpdiff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 46d7e19..a98e4af 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -1154,6 +1154,20 @@ SELCT 1/0;
     (if successful) or ErrorResponse (if not).
    </para>
 
+   <note>
+     <para>
+       Before <productname>PostgreSQL</productname> protocol 3.0, it was necessary
+       for the application to explicitly send the two characters
+       <literal>\.</literal> as a final line to indicate to the server that it
+       had finished sending <command>COPY</command> data.  Programs
+       implementing <command>COPY</command> in protocol 3.0
+       including <productname>PostgreSQL</productname> need to check and
+       ignore
+       <literal>\.</literal> just before COPYDone message for backward
+       compatibility sake. This requirement may be removed in the future.
+     </para>
+   </note>
+
    <para>
     In the event of a backend-detected error during copy-in mode (including
     receipt of a CopyFail message), the backend will issue an ErrorResponse

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Covering GiST indexes
Next
From: Tatsuo Ishii
Date:
Subject: Re: Would like to help with documentation for Postgres 11