Re: [HACKERS] update_pg_pwd trigger does not work very well

Jan Wieck <wieck@debis.com>

From: wieck@debis.com (Jan Wieck)
To: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: Peter Eisentraut <peter_e@gmx.net>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Development <pgsql-hackers@postgreSQL.org>
Date: 2000-02-28T07:47:21Z
Lists: pgsql-hackers
> [Charset ISO-8859-1 unsupported, filtering to ASCII...]
> > Tom Lane writes:
> >
> > > 1. Since the trigger is executed as soon as a tuple is inserted/
> > > updated/deleted, it will write pg_pwd before the transaction is
> > > committed.  If you then abort the transaction, pg_pwd contains wrong
> > > data.
> >
> > Wow, that implies that every trigger that contains non-database
> > side-effects is potentially bogus. That never occured to me. Perhaps (as a
> > future plan), it would be a good idea to have deferred triggers as well?
> > Now that I think of it, wasn't that the very reason Jan had to invent the
> > separate constraint triggers?
>
> Yes!  I remember him talking about this.  I bet you can just modify your
> trigger to be of that type.

    He  could make the trigger look like a by default deferred RI
    trigger in pg_trigger, of course. Then it will  go  onto  the
    queue.

    But as soon as someone does

        SET CONSTRAINTS ALL IMMEDIATE;

    it  will be fired if queued or as soon as it appears. So it's
    not the final solution.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #