Re: [PATCH] V3: Idle in transaction cancellation
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org, Kevin Grittner <Kevin.Grittner@wicourts.gov>
Date: 2010-12-15T12:33:30Z
Lists: pgsql-hackers
On Wed, Dec 15, 2010 at 7:13 AM, Andres Freund <andres@anarazel.de> wrote: >> It sort of looks to me like the LOG_NO_CLIENT error flag and the >> silent_error_while_idle flag are trying to cooperate to get the effect >> of throwing an error without actually throwing an error. I'm >> wondering if it would be at all sensible to do that more directly by >> making ProcessInterrupts() call AbortCurrentTransaction() in this >> case. > Hm. I think you want the normal server-side error logging continuing to work. I was thinking we could get around that by doing elog(LOG), but I guess that doesn't quite work either since we don't know what client_min_messages is. Hrm... >> I'm not sure if this would work, or if it's better. I'm just throwing >> it out there, because the current approach looks a little grotty to >> me. > I with you on the grotty aspect... On the other hand the whole code is not > exactly nice... Yeah. I'll try to find some time to think about this some more. It would sure be nice if we could find a solution that's a bit conceptually cleaner, even if it basically works the same way as what you've done here. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company