From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 2 Dec 2011 16:33:53 +0000 (-0500)
Subject: Add some weasel wording about threaded usage of PGresults.
X-Git-Tag: REL9_0_7~44
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8af71fc56d0103e7bc0ebb12af152ed3b6ab0250;p=postgresql

Add some weasel wording about threaded usage of PGresults.

PGresults used to be read-only from the application's viewpoint, but now
that we've exposed various functions that allow modification of a PGresult,
that sweeping statement is no longer accurate.  Noted by Dmitriy Igrishin.
---

diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 318cb554ef..c3a9142803 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -6938,8 +6938,12 @@ int PQisthreadsafe();
   </para>
 
   <para>
-   <structname>PGresult</> objects are read-only after creation, and so
-   can be passed around freely between threads.
+   <structname>PGresult</> objects are normally read-only after creation,
+   and so can be passed around freely between threads.  However, if you use
+   any of the <structname>PGresult</>-modifying functions described in
+   <xref linkend="libpq-misc"> or <xref linkend="libpq-events">, it's up
+   to you to avoid concurrent operations on the same <structname>PGresult</>,
+   too.
   </para>
 
   <para>