Re: After Trigger assignment to NEW

From: Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: After Trigger assignment to NEW
Date: 2006-02-24 19:51:24
Message-ID: Pine.LNX.4.44.0602242150390.20246-100000@matrix.gatewaynet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

O Tom Lane έγραψε στις Feb 24, 2006 :

> Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> > Tom Lane wrote:
> >> Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com> writes:
> >>> Is there a reason that the NEW values should remain unchanged in AFTER
> >>> row triggers?
> >>
> >> By definition, an AFTER trigger is too late to change what was stored.
> >> Use a BEFORE trigger.
>
> > But a BEFORE trigger would alter the stored tuple, which is not what
> > Achilleus wants AFAIU.
>
> Oh, I misunderstood what he wanted ... and now that I do understand,
> I think it's a really terrible idea :-(. A large part of the point
> of using an AFTER trigger is to be certain you know exactly what got
> stored. (BEFORE triggers can never know this with certainty because
> there might be another BEFORE trigger that runs after them and edits the
> tuple some more.) If one AFTER trigger could falsify the data seen by
> the next, then that guarantee crumbles. For instance, a minor
> programming error in a user-written trigger could break foreign-key
> checking. No thanks.

Alvaro, Tom,
thanx a lot,
i'll have to incorporate that into dbmirror.

>
> > I think the desired effect can be had by having DBMirror check the
> > source relation of the inserted tuple (There is a hidden attributa
> > called tableoid IIRC that can be used for that, I think).
>
> I agree --- the correct solution is to change the DBMirror triggers to
> incorporate the desired filtering logic.
>
> regards, tom lane
>

--
-Achilleus

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Judith 2006-02-24 22:17:14 Can't connect to the db
Previous Message Achilleus Mantzios 2006-02-24 19:47:51 Re: After Trigger assignment to NEW