Re: AFTER triggers & RETURN

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: AFTER triggers & RETURN
Date: 2009-11-05 21:46:10
Message-ID: 4AF347A2.1060306@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas wrote:
> Tom's recent work to fix the (TG_OP = 'INSERT' and NEW.foo ...)
> problem reminded me of another PL/pgsql annoyance:
>
> create table foo (a integer);
> create or replace function broken() returns trigger as $$begin perform
> 1; end$$ language plpgsql;
> create trigger bar after insert on foo for each row execute procedure broken();
> insert into foo values (1);
> ERROR: control reached end of trigger procedure without RETURN
> CONTEXT: PL/pgSQL function "broken"
>
> Since the return value is ignored anyway, why do we have to complain
> if it's left out altogether? Granted, it's easy to work around, but
> still.
>
>

Isn't is a requirement of plpgsql that you not fall off the end of a
function unless it is declared to return void? The function doesn't know
if it will be called before or after.

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Merlin Moncure 2009-11-05 21:55:43 Re: Typed tables
Previous Message Robert Haas 2009-11-05 21:34:59 AFTER triggers & RETURN