Tom Lane wrote: > Michael Glaesemann <[EMAIL PROTECTED]> writes: > >> On Apr 21, 2007, at 4:39 , David Pufer wrote: >> >>> In my opinion it would be nice to mention in SQL reference commands that >>> constraint triggers created by CREATE CONSTRAINT TRIGGER are fired in >>> creation order unlike regular triggers created by command CREATE >>> TRIGGER. As I know, the firing order of the CONSTRAINT TRIGGER is >>> determined by the XXXXX num at "RI_ConstraintTrigger_XXXXX" column in >>> pg_trigger table. >>> > > >> I believe this just falls out of the normal order of trigger firing >> as explained in the CREATE TRIGGER documentation (http:// >> www.postgresql.org/docs/8.2/interactive/sql-createtrigger.html) >> > > The proposed change is wrong anyway: AFAICS from looking at the code, > an RI_ConstraintTrigger_XXXXX name is only generated for triggers that > are created in support of FOREIGN KEY constraint syntax. If you use > CREATE CONSTRAINT TRIGGER then the trigger name is whatever you say it > is. I don't recall if it was always like that, but that's definitely > the behavior in CVS HEAD. > > It would be a mistake to assume that FK constraint triggers are fired in > creation order anyway, since the lexical sorting of strings isn't the > same as numeric order (not to mention OID wraparound issues). > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq > I tested in in 8.2.3 stable. e.g. command
CREATE CONSTRAINT TRIGGER my_constraint_trigger_name AFTER INSERT OR UPDATE OR DELETE ON my_test_table DEFERRABLE INITIALLY DEFERRED FOR EACH ROW EXECUTE PROCEDURE my_test_procedure() created a row with tgname "RI_ConstraintTrigger_28329" and tgconstrname "my_constraint_trigger_name" in system catalog in table pg_trigger, while creation of normal trigger (not constraint trigger) puts its name into tgname column. As Tom notedm a while ago it might be different in CVS HEAD and consequently in 8.3. Thanks for helpful info David Pufer
