Re: So, do we want to remove the "triggered data change" code?

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

Browse pgsql-hackers by date

  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