Re: [PATCH] V3: Idle in transaction cancellation

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Subject: Re: [PATCH] V3: Idle in transaction cancellation
Date: 2010-12-15 12:33:30
Message-ID: AANLkTin7M5_Lo9A=x6OtAQPV3w+be1KtP9-hX85T4b9C@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 15, 2010 at 7:13 AM, Andres Freund <andres(at)anarazel(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-12-15 12:36:03 Re: ALTER TABLE ... REPLACE WITH
Previous Message Andres Freund 2010-12-15 12:13:30 Re: [PATCH] V3: Idle in transaction cancellation