Re: Changes to functions and triggers

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: darcy(at)druid(dot)net (D'Arcy J(dot)M(dot) Cain)
Cc: hackers(at)PostgreSQL(dot)org
Subject: Re: Changes to functions and triggers
Date: 2000-06-17 17:03:35
Message-ID: 19222.961261415@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

darcy(at)druid(dot)net (D'Arcy J.M. Cain) writes:
>>>> I looked and the docs and it seems that this should work instead.
>>
>>>> CREATE FUNCTION make_date(date, int, int, int)
>>>> RETURNS opaque
>>>> AS '/usr/pgsql/modules/make_date.so'
>>>> LANGUAGE 'c';
>>>> CREATE TRIGGER make_edate
>>>> BEFORE INSERT OR UPDATE ON bgroup
>>>> FOR EACH ROW
>>>> EXECUTE PROCEDURE make_date('edate', 'aniv', 'emon', 'eyear');
>>
>> No. Trigger procedures never take explicit arguments --- whatever
>> you may have stated in the CREATE TRIGGER command gets passed in
>> in the trigger data structure. (A pretty bizarre and ugly choice
>> if you ask me, but not worth breaking existing code to change...)

> Hmm. Are you saying that the above is wrong?

Yes.

> I took it right from the web page documentation.

What web page? http://www.postgresql.org/docs/postgres/triggers.htm
still says what it always has (complete with bad grammar ;-)):

The trigger function must be created before the trigger is
created as a function taking no arguments and returns opaque.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2000-06-17 17:08:08 Re: Install modes
Previous Message Tom Lane 2000-06-17 16:54:00 Re: create user and transactions