PL/pgSQL return value in after triggers

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: PL/pgSQL return value in after triggers
Date: 2011-02-28 17:07:16
Message-ID: 1298912836.26119.9.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

PL/pgSQL trigger functions currently require a value to be returned,
even though that value is not used for anything in case of a trigger
fired AFTER. I was wondering if we could relax that. It would make
things a bit more robust and produce clearer PL/pgSQL code. The
specific case I'm concerned about is that a trigger function could
accidentally be run in a BEFORE trigger even though it was not meant for
that. It is common practice that trigger functions for AFTER triggers
return NULL, which would have unpleasant effects if used in a BEFORE
trigger.

I think it is very uncommon to have the same function usable for BEFORE
and AFTER triggers, so it would be valuable to have coding support
specifically for AFTER triggers. We could just allow RETURN without
argument, or perhaps no RETURN at all.

Comments?

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-02-28 17:08:48 Re: pl/python custom exceptions for SPI
Previous Message Robert Haas 2011-02-28 17:01:31 Re: knngist - 0.8