Re: ecpg threading vs win32

From: Michael Meskes <meskes(at)postgresql(dot)org>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, PGSQL-Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: ecpg threading vs win32
Date: 2007-03-29 09:18:02
Message-ID: 20070329091802.GA15578@feivel.credativ.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

On Mon, Mar 19, 2007 at 09:48:19AM +0100, Magnus Hagander wrote:
> > Q2. Do we need to use PQescapeStringConn() instead of PQescapeString()?
> > PQescapeString() is used to escape literals, and the documentation says
> > PQescapeStringConn() should be used in multi-threaded client programs.
> > http://momjian.us/main/writings/pgsql/sgml/libpq-exec.html#LIBPQ-EXEC-ESCAPE-STRING
> > | PQescapeString can be used safely in single-threaded client programs
> > | that work with only one PostgreSQL connection at a time
>
> Seems so, but that's unrelated to this patch ;-) I'll leave the final
> comment on that up to Michael.

Looking at the source code it seems to me that the connection argument
is only used once in PQescapeStringInternal which both functions call.
Here's the snippet:

if (conn)
printfPQExpBuffer(&conn->errorMessage,
libpq_gettext("incomplete multibyte character\n"));

So this essantially is only to get an error message into the connection
structure. However, having an empty connection makes PQescapeStringConn
return an error and an empty string which I consider a problem. I have
to check that in detail but we may run into a usage of
PQescapeString without an open connection which then would fail.

Michael
--
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes(at)jabber(dot)org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Simon Riggs 2007-03-29 10:07:12 Re: [PATCHES] Full page writes improvement, code update
Previous Message Koichi Suzuki 2007-03-29 08:50:03 Re: [PATCHES] Full page writes improvement, code update