Thread: Pass parameters to a TCL function

Pass parameters to a TCL function

From
Josué Maldonado
Date:
Hello list,

I have a tcl trigger function called audit_log(varchar, bpchar), if I
write a trigger in a table

CREATE TRIGGER tg_test
   AFTER INSERT OR UPDATE OR DELETE
   ON xtable
   FOR EACH ROW
   EXECUTE PROCEDURE audit_log('xtable','internal');

it gives this error:

ERROR:  CreateTrigger: function audit_log() does not exist

I also tried to make a kinda wrapper plpgsql trigger to call the
audit_log function but didn't work, any idea what's wrong?, how do I
pass parameters to a trigger function?

Thanks in advance,

Josue Maldonado.


Re: Pass parameters to a TCL function

From
Josué Maldonado
Date:
I'm sorry, found my mistake, the way I'm calling the function is wrong
it should be "audit_log" ('xtable','internal'), it works.

Thanks


Josué Maldonado wrote:

> Hello list,
>
> I have a tcl trigger function called audit_log(varchar, bpchar), if I
> write a trigger in a table
>
> CREATE TRIGGER tg_test
>   AFTER INSERT OR UPDATE OR DELETE
>   ON xtable
>   FOR EACH ROW
>   EXECUTE PROCEDURE audit_log('xtable','internal');
>
> it gives this error:
>
> ERROR:  CreateTrigger: function audit_log() does not exist
>
> I also tried to make a kinda wrapper plpgsql trigger to call the
> audit_log function but didn't work, any idea what's wrong?, how do I
> pass parameters to a trigger function?
>
> Thanks in advance,
>
> Josue Maldonado.
>


Re: Pass parameters to a TCL function

From
Jan Wieck
Date:

Josué Maldonado wrote:

> I'm sorry, found my mistake, the way I'm calling the function is wrong
> it should be "audit_log" ('xtable','internal'), it works.

Hmmm, that should not work. The function should be declared taking no
arguments and you yet find the arguments from the CREATE TRIGGER in the
Tcl list $args and $1-$n.


Jan

>
> Thanks
>
>
> Josué Maldonado wrote:
>
>> Hello list,
>>
>> I have a tcl trigger function called audit_log(varchar, bpchar), if I
>> write a trigger in a table
>>
>> CREATE TRIGGER tg_test
>>   AFTER INSERT OR UPDATE OR DELETE
>>   ON xtable
>>   FOR EACH ROW
>>   EXECUTE PROCEDURE audit_log('xtable','internal');
>>
>> it gives this error:
>>
>> ERROR:  CreateTrigger: function audit_log() does not exist
>>
>> I also tried to make a kinda wrapper plpgsql trigger to call the
>> audit_log function but didn't work, any idea what's wrong?, how do I
>> pass parameters to a trigger function?
>>
>> Thanks in advance,
>>
>> Josue Maldonado.
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #