Hi Fabien,
Thank you for the comment.
> Hello Tatsuo-san,
>
> Minor suggestions, although I'm not a native English speaker.
>
>> 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
>
> ISTM That "it" may refer to the server... Put "the application"
> instead?
>
>> 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.
>
> Maybe be more assertive, "will be removed"?
>
>> It is sufficient to call <function>PQendcopy</function> after
>
> "It is now sufficient ..."?
Well, I did not intend to enhance libpq.sgml but maybe your points is
valid (I cannot judge because I am not an native English speaker).
So I am include your point to the patch and wait for feed back from
(possibly) native English speakers.
I also added to September commit fest, including you as a reviewer.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index d67212b..844d4a9 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -5754,11 +5754,12 @@ int PQputline(PGconn *conn,
<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. 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.
+ <literal>\.</literal> as a final line to indicate to the server that
+ the application had finished sending <command>COPY</command> data.
+ While this still works, it is deprecated and the special meaning
+ of <literal>\.</literal> will be removed in a future release. It is
+ sufficient to call <function>PQendcopy</function> after having sent
+ the actual data.
</para>
</note>
</listitem>
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 46d7e19..fda989b 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
+ the application 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 will 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