--
-- trigger_type/1
--
create or replace function trigger_type(
integer
) returns varchar as $$
declare
tgtype alias for $1;
description varchar;
sep varchar;
begin
if (tgtype & 2) > 0 then
description := 'BEFORE ';
else
description := 'AFTER ';
end if;
sep := '';
if (tgtype & 4) > 0 then
description := description || 'INSERT ';
sep := 'OR ';
end if;
if (tgtype & 8) > 0 then
description := description || sep || 'DELETE ';
sep := 'OR ';
end if;
if (tgtype & 16) > 0 then
description := description || sep || 'UPDATE ';
sep := 'OR ';
end if;
if (tgtype & 1) > 0 then
description := description || 'FOR EACH ROW';
else
description := description || 'STATEMENT';
end if;
return description;
end;$$ language plpgsql;