Hi,

While implementing DROP CONVERSION [CASCADE|RESTRICT], I'm facing
a strange problem. When I tries to delete a tuple from pg_depened, I
got an assertion failure:

TRAP: Failed Assertion("!(!((tp.t_data)->t_infomask & (0x4000 |
0x8000))):", File: "heapam.c", Line: 1315)

This means that HEAP_MOVED_IN or HEAP_MOVED_OFF flag is set. Is this
normal? I noticed that DELETE, INSERT and VACUUM FULL has been
performed over pg_depend in initdb. Is this related to the problem?
--
Tatsuo Ishii

Thu, 18 Jul 2002 23:05:05 +0900 (JST)
Tatsuo Ishii <t-ishii@sra.co.jp>
HEAP_MOVED_IN or HEAP_MOVED_OFF?
Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> While implementing DROP CONVERSION [CASCADE|RESTRICT], I'm facing
> a strange problem. When I tries to delete a tuple from pg_depened, I
> got an assertion failure:

This is the bug I complained of in Manfred's HeapTupleHeader patches.
He's sent in a patch (not yet reviewed or applied) to fix it.  In the
meantime, I'd counsel avoiding VACUUM FULL.

			regards, tom lane

Thu, 18 Jul 2002 10:24:28 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: HEAP_MOVED_IN or HEAP_MOVED_OFF? 
On Thu, 18 Jul 2002 23:05:05 +0900 (JST), Tatsuo Ishii
<t-ishii@sra.co.jp> wrote:
>TRAP: Failed Assertion("!(!((tp.t_data)->t_infomask & (0x4000 |
>0x8000))):", File: "heapam.c", Line: 1315)

Tatsuo, this is unrelated to *your* work.  It is a bug introduced with
my heap tuple header changes.  Tom Lane has reported this bug  three
days ago: "[HACKERS] HeapTuple header changes cause core dumps in CVS
tip".

A workaround has been posted in reply to this message.  And a (IMHO)
better fix is waiting on -patches, making the workaround obsolete.  If
you try the fix:  any feedback is very appreciated.

Servus
 Manfred

Thu, 18 Jul 2002 16:56:35 +0200
Manfred Koizar <mkoi-pg@aon.at>
Re: HEAP_MOVED_IN or HEAP_MOVED_OFF?