| From: | "Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at> |
|---|---|
| To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: So, do we want to remove the "triggered data change" code? |
| Date: | 2001-11-16 12:57:15 |
| Message-ID: | 46C15C39FEB2C44BA555E356FBCD6FA41EB417@m0114.s-mxs.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> It seemed like the discussion a couple days ago ended without any
> definitive agreement on what to do. Since we're about to push out
> 7.2beta3, we need to decide whether we're going to change the code
> now, or wait another release cycle before doing anything.
>
> I would like to formally propose removing the "triggered data change"
> error check (for details, see the patch I posted to pgsql-patches on
> Monday). My reasoning is that the present code is:
>
> 1. broken --- it doesn't implement the spec.
> 2. slow --- it causes a *major* performance hit when a long
transaction
> updates many rows more than once in a table having foreign keys.
> 3. not likely to be the basis for a correct solution --- AFAICT,
> the correct interpretation of "triggered data change" is not
> trigger-specific; it would be better handled as part of what we
> call time qual checking.
yes, to all above.
>
> Point #2 is affecting some real-world applications I know of, and so
> I'd rather not wait another release cycle or more to offer a fix.
I have tried hard to fully understand the issue, and think that your
proposed patch is correct.
The whole check was only done for tuples modified inside this
transaction,
thus while I have the feeling that Tatsuo's concerns and above point 3
are
valid, they are not affected by this patch.
I thus think you should apply the patch.
Andreas
| From | Date | Subject | |
|---|---|---|---|
| Next Message | mlw | 2001-11-16 13:45:27 | Super Optimizing Postgres |
| Previous Message | Klaus Reger | 2001-11-16 12:33:51 | Re: import/export of large objects on server-side |