On Fri, Feb 09, 2001 at 10:19:51AM -0500, 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.
> >
> > was there a conclusion made yet (that i missed somehow) on
> > this subject? i'd like to implement *something* in the PHP
> > core for this soon.
>
> One person objected that BEGIN;ROLLBACK will throw an error to the log
> file if there was an open transaction, but I think that is fine as this
> is a rare occurance, and an argument can be made that leaving an open
> transaction on session close in a pooled connection environment should
> throw some kind of error anyway. Also, this fix will work for all
> versions of PostgreSQL, so it can be implemented right away with no
> backend changes or version checks.
ok, i'll start playing around with this solution soon. i'll commit it to the PHP 4 cvs as soon as i'm happy with
it.
thies
>
> We still need a global RESET, but I don't think that can be done until
> 7.2. I will add that to our project TODO list.