Re: PL/pgSQL return value in after triggers
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-02-28T17:12:12Z
Lists: pgsql-hackers
On Mon, Feb 28, 2011 at 12:07 PM, Peter Eisentraut <peter_e@gmx.net> wrote: > 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? It has bugged me for years that after triggers need to contain a useless RETURN statement, but I'm not sure now is the time to go fix it. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company