Re: Error: heap_mark4update: (am)invalid tid

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Steve Wolfe" <nw(at)codon(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Error: heap_mark4update: (am)invalid tid
Date: 2003-02-03 21:50:15
Message-ID: 8437.1044309015@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Steve Wolfe" <nw(at)codon(dot)com> writes:
> I'm receiving an error message that I'm not sure how to resolve:
> heap_mark4update: (am)invalid tid . The offending query is:

> "update a set active = 'f' where a.expires < 'now' and a.active = 't' and
> a.cart_id = b.cart_id"

Hmm ... a plain UPDATE doesn't invoke heap_mark4update. Do you have any
foreign keys involved here?

> The error is a bit inconsistent. Doing a select with the saem criteria
> will work fine - but the select gives a few more rows in the result than
> the update will when it works. Often (but not always), vacuuming both
> tables a and b will get the update to work - but again, not always.

So once the error happens, it's persistent? That's pretty interesting.
I'd have expected it to depend on concurrent activity ...

> If this is a
> known issue, I'd love to hear the workaround.

AFAIK there is no known cause for this in 7.3.*.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mikael Carneholm 2003-02-03 21:53:58 Re: What is the benefit of schemas?
Previous Message Patric Bechtel 2003-02-03 21:47:22 Re: 335 times faster (!) [Viruschecked]