41.7. Функции триггеров событий в PL/Tcl#
41.7. Функции триггеров событий в PL/Tcl #
Функции триггеров событий могут быть написаны на PL/Tcl.
Tantor BE требует, чтобы функция, которая должна быть вызвана как триггер события, была объявлена как функция без аргументов и с типом возвращаемого значения event_trigger
.
Информация от менеджера триггеров передается в тело функции в следующих переменных:
$TG_event
Имя события, для которого срабатывает триггер.
$TG_tag
Тег команды, для которой срабатывает триггер.
Возвращаемое значение триггерной функции игнорируется.
Вот небольшой пример триггерной функции событий, которая просто вызывает
сообщение NOTICE
каждый раз, когда выполняется поддерживаемая команда:
CREATE OR REPLACE FUNCTION tclsnitch() RETURNS event_trigger AS $$ elog NOTICE "tclsnitch: $TG_event $TG_tag" $$ LANGUAGE pltcl; CREATE EVENT TRIGGER tcl_a_snitch ON ddl_command_start EXECUTE FUNCTION tclsnitch();