| 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: | Whole Thread | Raw Message | 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
| 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 |