Re: Avoiding bad prepared-statement plans. - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Avoiding bad prepared-statement plans.
Date
Msg-id 201003022353.o22NruN14103@momjian.us
Whole thread Raw
In response to Re: Avoiding bad prepared-statement plans.  (Dimitri Fontaine <dfontaine@hi-media.com>)
List pgsql-hackers
Dimitri Fontaine wrote:
> Craig Ringer <craig@postnewspapers.com.au> writes:
> > 1) People preparing statements to save on parse+plan time; and
> > 2) People preparing statements to get convenenient param placement.
> >
> > I suspect that most of (1) also want (2), but many of (2) don't care much
> > about (1) and are just preparing statements for sql-injection safety (param
> > placement), because they've been told to by someone, because their library
> > does it for them, etc.
> >
> > So: Would it be easier to handle control of replan vs no-replan at PREPARE
> > time? Or would that have very much the same protocol/pl change issues?
> 
>   http://www.postgresql.org/docs/8.4/static/libpq-exec.html#LIBPQ-EXEC-MAIN
> 
>   PQexecParams
> 
>    Submits a command to the server and waits for the result, with the
>    ability to pass parameters separately from the SQL command text.
> 
> So I think what you're talking about is already in there.

There are three levels, SQL, libpq, and the wire protocol.  The wire
protocol offers this via unnamed statements.  libpq offers it via
PQexecParams().  SQL does not, as far as I can tell.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 PG East:  http://www.enterprisedb.com/community/nav-pg-east-2010.do


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Re: Hot Standby query cancellation and Streaming Replication integration
Next
From: Bruce Momjian
Date:
Subject: Re: Avoiding bad prepared-statement plans.