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

Re: Prepared Statements vs. pgbouncer

From: Paul Lindner <lindner(at)inuus(dot)com>
To: Oliver Jowett <oliver(at)opencloud(dot)com>
Cc: Paul Lindner <lindner(at)inuus(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Heikki Linnakangas <heikki(at)enterprisedb(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Prepared Statements vs. pgbouncer
Date: 2007-10-01 21:55:11
Message-ID: 20071001215511.GS3140@inuus.com (view raw or flat)
Thread:
Lists: pgsql-jdbc
On Tue, Oct 02, 2007 at 10:19:56AM +1300, Oliver Jowett wrote:
> Oliver Jowett wrote:
> >Paul Lindner wrote:
> >
> >>Why doesn't the Postgres JDBC driver use cursors for ResultSets
> >>instead of creating prepared statements?  Is this not supported in the
> >>v3 protocol?  (I'd answer this question myself, but no time to read
> >>code at the moment...)
> >
> >It uses portals which are the v3 equivalent of cursors.
> 
> To elaborate a bit more: you need a statement before you can create a 
> portal, and the unnamed statement is no use for this particular case as 
> we need the portal to live despite reuse of the unnamed statement, and 
> the implicit close of the unnamed statement on reuse also causes any 
> dependant portal to close. So we must use a named statement so that we 
> can control the lifetime of the portal correctly.

Okay, Okay, I have read much of 

  http://www.postgresql.org/docs/current/static/protocol.html

and much of

  src/backend/tcop/postgres.c

and much of 

  src/backend/commands/portalcmds.c

I'm a newbie here, but it appears that PerformCursorOpen() is callable
from the SQL grammar, not directly via the protocol.

My apologies for mixing up PL/PGSQL and V3 protocol.


-- 
Paul Lindner        ||||| | | | |  |  |  |   |   |
lindner(at)inuus(dot)com

In response to

pgsql-jdbc by date

Next:From: hubert depesz lubaczewskiDate: 2007-10-02 12:38:38
Subject: Re: Prepared Statements vs. pgbouncer
Previous:From: Oliver JowettDate: 2007-10-01 21:46:44
Subject: Re: Prepared Statements vs. pgbouncer

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