On Wed, 2008-10-08 at 20:56 +0200, A. Kretschmer wrote:
> am  Wed, dem 08.10.2008, um 14:29:23 -0400 mailte Alvaro Herrera folgendes:
> > Hi,
> > 
> > Trigger functions are supposed to be able to be called only as triggers,
> > but apparently the check is not working in CVS HEAD:
> > 
> > alvherre=# create or replace function foo () returns trigger as $$ begin perform 1; return new; end; $$ language
plpgsql;
> > CREATE FUNCTION
> > alvherre=# select foo();
> >  foo 
> > -----
> >  
> > (1 fila)
> 
> 
> And?
> 
> The function returns a TRIGGER, not a value.
Can you do anything with this TRIGGER value ?
pl/python's approach seems saner to me:
hannu=# create or replace function foo () returns trigger as        $$ return $$        language plpythonu;
CREATE FUNCTION
hannu=# select foo ();
ERROR:  trigger functions can only be called as triggers
-------------------
Hannu