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

Re: Re: PostgreSQL and PHP persistent connections

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: "Thies C(dot) Arntzen" <thies(at)thieso(dot)net>
Cc: "Thies C(dot) Arntzen" <thies(at)digicol(dot)de>, Rasmus(at)candle(dot)pha(dot)pa(dot)us, Lerdorf <rasmus(at)php(dot)net>, PostgreSQL-interfaces <pgsql-interfaces(at)postgresql(dot)org>, php-dev(at)lists(dot)php(dot)net
Subject: Re: Re: PostgreSQL and PHP persistent connections
Date: 2001-02-12 17:25:37
Message-ID: 200102121725.MAA04316@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-interfacespgsql-jdbc
> > We discussed using 'ROLLBACK' before passing a connection to a new user,
> > but the problem was that ROLLBACK with no open transaction causes a
> > server log error message.  We discussed adding 'ROLLBACK SILENT' to fix
> > this, but I believe a better, more portable solution is a simple "BEGIN
> > WORK;ROLLBACK".  This will do nothing if there is no open transaction,
> > and will ROLLBACK any open transaction.  I propose this be sent by PHP
> > as the first query when passing persistent connections.
> 
>     i'll have a look at that tomorrow (if my family allows;-). if
>     "BEGIN WORK;ROLLBACK" does not stack transactions i think you
>     might have found the solution to the php-postgres problem! do

If we every get nested transactions, this will no longer work, but we
don't have them, and will not for a while.

>     you know how other script-interfaces (perl) to postgres
>     handle the very same thing?

They don't handle them, but our Java interface just added this feature.


> > As far as SET changes, does anyone on the PostgreSQL interfaces list
> > have a suggestion on how to RESET all session parameters?  Seems we may
> > need to add this feature in to the backend.
> 
>     with the oracle driver (i wrote) there is a neat thing in the
>     oci-libs: you have a server-handle _and_ a session handle.
>     the session handle sits "on" the server-handle and keeps
>     _all_ session specific data, the server handle "only" carries
>     the pure connection to oracle. so i keep the server handle
>     persistent and allocate/free session handles on it for each
>     request to PHP. that way the sessions are always clean. but i
>     also do a forces rollback on the session handle before i free
>     it on request-end so that in case of a script error all
>     outstanding transactions are rolled-back.

Yes, it would be nice if we had that feature.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

In response to

Responses

pgsql-interfaces by date

Next:From: Hiroshi InoueDate: 2001-02-12 23:16:32
Subject: Re: [ODBC] RE: 7.1 beta 3 Linux ODBC BEGINBehaviour
Previous:From: Steve WranovskyDate: 2001-02-12 16:37:00
Subject: Re: [ODBC] RE: 7.1 beta 3 Linux ODBC BEGIN Behaviour

pgsql-jdbc by date

Next:From: Brice RuthDate: 2001-02-12 19:37:10
Subject: (Update) Implicit smallint to boolean conversion?
Previous:From: Peter T MountDate: 2001-02-12 14:25:31
Subject: Re:

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