From c2e412ad41e24460fa119e4de156b05a21e05433 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 2 Dec 2011 11:33:53 -0500 Subject: [PATCH] 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. --- doc/src/sgml/libpq.sgml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 702ad888f5e..04f0a5876e3 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -6607,8 +6607,12 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) - PGresult objects are read-only after creation, and so - can be passed around freely between threads. + PGresult objects are normally read-only after creation, + and so can be passed around freely between threads. However, if you use + any of the PGresult-modifying functions described in + or , it's up + to you to avoid concurrent operations on the same PGresult, + too.