Re: ecpg threading vs win32 - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: ecpg threading vs win32
Date
Msg-id 200704030106.l3316HL09204@momjian.us
Whole thread Raw
In response to Re: ecpg threading vs win32  (Michael Meskes <meskes@postgresql.org>)
Responses Re: ecpg threading vs win32
List pgsql-patches
Michael, is there any progress on this?

---------------------------------------------------------------------------

Michael Meskes wrote:
> 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@jabber.org
> Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
>                 http://www.postgresql.org/about/donate

--
  Bruce Momjian  <bruce@momjian.us>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Arrays of Complex Types
Next
From: Bruce Momjian
Date:
Subject: Re: Make CLUSTER MVCC-safe