From: | David Fetter <david(at)fetter(dot)org> |
---|---|
To: | "Jim C(dot) Nasby" <decibel(at)decibel(dot)org> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Shortcut for defining triggers |
Date: | 2005-01-24 16:12:49 |
Message-ID: | 20050124161249.GD17204@fetter.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 (/* params would 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(at)fetter(dot)org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778
Remember to vote!
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2005-01-24 16:24:59 | Re: [PATCHES] Merge pg_shadow && pg_group -- UNTESTED |
Previous Message | Jonah H. Harris | 2005-01-24 15:35:40 | Re: Concurrent free-lock |