Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Add some weasel wording about threaded usage of PGresults.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Dec 2011 16:33:53 +0000 (11:33 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Dec 2011 16:34:26 +0000 (11:34 -0500)
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.

doc/src/sgml/libpq.sgml

index 702ad888f5ebdd8947e8743551bdf375a2522bc4..04f0a5876e3f1cd7409795ba284babe9116bac08 100644 (file)
@@ -6607,8 +6607,12 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
   </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>