Re: Shortcut for defining triggers

Поиск
Список
Период
Сортировка
От David Fetter
Тема Re: Shortcut for defining triggers
Дата
Msg-id 20050124161249.GD17204@fetter.org
обсуждение исходный текст
Ответ на Shortcut for defining triggers  ("Jim C. Nasby" <decibel@decibel.org>)
Ответы Re: Shortcut for defining triggers  ("Jim C. Nasby" <decibel@decibel.org>)
Список pgsql-hackers
On Sun, Jan 23, 2005 at 03:49:22PM -0600, Jim C. Nasby wrote:
> Sorry if this is old, but I couldn't find it in the archives...
> 
> How difficult would it be to provide a means to define a trigger in
> one statement? Something like a combination of CREATE TRIGGER and
> CREATE FUNCTION? Being able to define them seperately is awesome for
> generic cases where you can use one function for a bunch of
> different tables, but it's a pain in the cases where you need a
> unique trigger for one table.

What would you want the function name to default to?  What language,
or would you want to specify that somehow?

Here's a sketch of what such an API might look like:

CREATE TRIGGER foo_trg   BEFORE INSERT OR UPDATE ON foo_tab   FOR EACH ROW EXECUTE PROCEDURE   LANGUAGE PLPGSQL (/*
paramswould go here if any */) $$
 
/* body here */
$$;

This would cause a foo_tab_b4_iu_func (how to address namespace
collisions?) to be created in the appropriate language with
appropriate params, then the foo_trg on the table.

Does SQL:2003 have anything to say about this?  Also, what kind of
development effort would be involved with an implementation, assuming
SQL:2003 doesn't forbid?

Cheers,
D
-- 
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100   mobile: +1 415 235 3778

Remember to vote!


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Jonah H. Harris"
Дата:
Сообщение: Re: Concurrent free-lock
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: [PATCHES] Merge pg_shadow && pg_group -- UNTESTED