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