Re: The suppress_redundant_updates_trigger() works incorrectly

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: The suppress_redundant_updates_trigger() works incorrectly
Date: 2008-11-05 18:31:31
Message-ID: 4911E683.3050703@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>
>> The attached patch sets the OID to InvalidOid for the duration of the
>> memcmp if the HEAP_HASOID flag is set, and restores it afterwards.
>>
>
> This method is utterly, utterly unacceptable; you're probably trashing
> the contents of a disk buffer there. Even assuming that there's zero
> risk of a failure between the set and the restore, what if someone is in
> process of writing the buffer to disk? Or even just examining the old
> tuple?
>
>
>

OK, I guess I assumed we had a private copy.

Next thought is to split the memcmp() into two to avoid the Oid field,
where it's present. I was hoping to avoid the kinda ugly arithmetic.

cheers

andrew

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2008-11-05 18:39:01 Re: The suppress_redundant_updates_trigger() works incorrectly
Previous Message Devrim GÜNDÜZ 2008-11-05 18:23:05 Multiple postmaster installation with RPMs