Re: invalid tid errors in latest 7.3.4 stable.

From: Shridhar Daithankar <shridhar_daithankar(at)persistent(dot)co(dot)in>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: invalid tid errors in latest 7.3.4 stable.
Date: 2003-09-26 14:32:50
Message-ID: 200309262002.50323.shridhar_daithankar@persistent.co.in
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Friday 26 September 2003 19:50, Tom Lane wrote:
> Anyway, on to Chris' example. Load the attached script into a database
> that has plpgsql already created, and then do
> DELETE FROM Activity WHERE ActivityID = 16739;
> You'll get
> ERROR: attempted to mark4update invisible tuple
> (or the equivalent 7.3 message). This is reproducible so long as you
> start a fresh session each time you attempt the DELETE. If you try the
> DELETE again in the same session, it will succeed, because the trigger
> function is already compiled and so no CommandCounterIncrement occurs at
> the critical instant. (It might be possible to make the behavior stable
> by adding some non-SELECT query inside the trigger function to force
> a CommandCounterIncrement to occur anyway. I haven't tried though.)

I didn't understand exactly the explanation but this last paragraph is bit
interesting.

If the trigger function is precompiled, the error would not be reproducible
and it will work correctly, right?

Can we precompile such RI triggers on postmaster startup? Could that be a
workaround?

Just a thought..

Shridhar

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2003-09-26 14:43:22 Re: [HACKERS] Threads vs Processes
Previous Message Tom Lane 2003-09-26 14:32:33 Re: feature request: show pgsql version when running initdb