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
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 |