Received: from mail.postgresql.org (webmail.postgresql.org [216.126.85.28]) by mail.postgresql.org (8.11.1/8.11.1) with SMTP id f1CFDhx10760 for ; Mon, 12 Feb 2001 10:13:43 -0500 (EST) (envelope-from pgsql-interfaces-owner@postgresql.org) Received: from schnuffel.thieso.net (p3E9EAA04.dip.t-dialin.net [62.158.170.4]) by mail.postgresql.org (8.11.1/8.11.1) with ESMTP id f19Fdfx39877 for ; Fri, 9 Feb 2001 10:39:41 -0500 (EST) (envelope-from thies@thieso.net) Received: by schnuffel.thieso.net (Postfix, from userid 1000) id DA5BCCFBA; Fri, 9 Feb 2001 16:39:35 +0100 (CET) Date: Fri, 9 Feb 2001 16:39:35 +0100 From: "Thies C. Arntzen" To: Bruce Momjian Cc: "Thies C. Arntzen" , rasmus@php.net, PostgreSQL-interfaces Subject: Re: PostgreSQL and PHP persistent connections Message-ID: <20010209163935.A23742@schnuffel.thieso.net> References: <20010209144154.A23220@schnuffel.thieso.net> <200102091519.KAA02853@candle.pha.pa.us> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200102091519.KAA02853@candle.pha.pa.us>; from pgman@candle.pha.pa.us on Fri, Feb 09, 2001 at 10:19:51AM -0500 X-Archive-Number: 200102/94 X-Sequence-Number: 1049 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.