Re: [PHP-DEV] Re: Re: PostgreSQL and PHP persistent connections - Mailing list pgsql-interfaces

From Jouni Ahto
Subject Re: [PHP-DEV] Re: Re: PostgreSQL and PHP persistent connections
Date
Msg-id Pine.LNX.4.10.10102130105170.6518-100000@morpheus.mork.net
Whole thread Raw
In response to Re: Re: PostgreSQL and PHP persistent connections  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-interfaces
Any reasons there could't be either more statuses for a connection besides
CONNECTION_BAD, CONNECTION_OK, or alternativetely, a new libpq function
that could tell us READY_TO_RECEIVE_MORE_SQL_COMMANDS,
PREVIOUS_TRANSACTION_ABORTED_UNTIL_..., etc. (Sorry that I'm shouting... I
just write constant names that way like everyone else.)

-- Jouni

On Mon, 12 Feb 2001, Bruce Momjian wrote:

> > > 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@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
> 
> -- 
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net
> For additional commands, e-mail: php-dev-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net
> 



pgsql-interfaces by date:

Previous
From: Dave Page
Date:
Subject: RE: [ODBC] RE: 7.1 beta 3 Linux ODBC BEGINBehaviour
Next
From: Tom Lane
Date:
Subject: Re: [ODBC] RE: 7.1 beta 3 Linux ODBC BEGINBehaviour