Re: trigger functions with arguments - Mailing list pgsql-general

From Kevin Field
Subject Re: trigger functions with arguments
Date
Msg-id 3e35d67c-8b04-4bae-aacf-6b7914e0c7b4@q14g2000vbn.googlegroups.com
Whole thread Raw
In response to trigger functions with arguments  (Kev <kevinjamesfield@gmail.com>)
List pgsql-general
On Jun 8, 5:18 am, laurenz.a...@wien.gv.at ("Albe Laurenz") wrote:
> Kev wrote:
> > I came across this curious behaviour today, at least in the 2009-03-24
> > beta (I can't run a newer beta), that I couldn't find in the docs,
> > although maybe I missed it.
>
> [...]
>
> > So while that is the way to create the trigger itself, the
> > trigger procedure must be created like this:
>
> >   CREATE OR REPLACE FUNCTION test() RETURNS trigger AS $BODY$
> >   my ($a, $b) = @{$_TD->{args}}; # $a and/or $b may be null, depending on how CREATE TRIGGER was used
> >   ...
>
> Maybe it is hidden too well, but the documentation states
inhttp://www.postgresql.org/docs/current/static/plpgsql-trigger.html
>
>    A trigger procedure is created with the CREATE FUNCTION command, declaring it
>    as a function with no arguments and a return type of trigger. Note that the function
>    must be declared with no arguments even if it expects to receive arguments
>    specified in CREATE TRIGGER - trigger arguments are passed via TG_ARGV,
>    as described below.
>
> Yours,
> Laurenz Albe

Thanks, Laurenz, I had missed that.  However, I don't think it's in
the best spot: since I was writing a plperl trigger function, it makes
sense for me to read the plperl trigger function docs, and the general
trigger and trigger function docs, but not necessarily the plpgsql
trigger function docs.  IMO it should either be in the trigger
function docs for each language, or it should be in the general
trigger function docs, like maybe http://www.postgresql.org/docs/8.3/static/trigger-definition.html
since it talks about return values and such there.  That is, if it
actually applies to every language...

Kev

pgsql-general by date:

Previous
From: BlackMage
Date:
Subject: Entering time into postgresql
Next
From: "Preeti Khurana"
Date:
Subject: Postgres's Performance degrades after heavy db operation