Skip site navigation (1) Skip section navigation (2)

Re: Avoiding bad prepared-statement plans.

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Cc: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Jeroen Vermeulen <jtv(at)xs4all(dot)nl>, Greg Stark <gsstark(at)mit(dot)edu>, Bart Samwel <bart(at)samwel(dot)tk>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Avoiding bad prepared-statement plans.
Date: 2010-03-02 23:53:56
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
Dimitri Fontaine wrote:
> Craig Ringer <craig(at)postnewspapers(dot)com(dot)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?
>   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(at)momjian(dot)us>

  PG East:

In response to

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2010-03-02 23:54:28
Subject: Re: Avoiding bad prepared-statement plans.
Previous:From: Bruce MomjianDate: 2010-03-02 23:44:16
Subject: Re: Re: Hot Standby query cancellation and Streaming Replication integration

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group