From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Thies C. Arntzen <thies@thieso.net>
Cc: Thies C. Arntzen <thies@digicol.de>
Cc: Rasmus@candle.pha.pa.us, Lerdorf <rasmus@php.net>
Cc: PostgreSQL-interfaces <pgsql-interfaces@postgresql.org>
Cc: php-dev@lists.php.net
Subject: Re: Re: PostgreSQL and PHP persistent connections
Date: Mon, 12 Feb 2001 12:25:37 -0500 (EST)
Message-ID: <200102121725.MAA04316@candle.pha.pa.us> (raw)
In-Reply-To: <20010207205611.A11560@schnuffel.thieso.net>
> > 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: pgman@candle.pha.pa.us, thies@thieso.net, thies@digicol.de, rasmus@php.net, php-dev@lists.php.net
Subject: Re: Re: PostgreSQL and PHP persistent connections
In-Reply-To: <200102121725.MAA04316@candle.pha.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox