Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1) - Mailing list pgadmin-support
From | Guillaume Lelarge |
---|---|
Subject | Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1) |
Date | |
Msg-id | 1325714181.2505.2.camel@localhost.localdomain Whole thread Raw |
In response to | Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1) (Michal Vanek <michal.vanek@gmail.com>) |
List | pgadmin-support |
On Wed, 2012-01-04 at 16:04 +0100, Michal Vanek wrote: > > > 2012/1/4 Guillaume Lelarge <guillaume@lelarge.info> > On Wed, 2012-01-04 at 15:46 +0100, Guillaume Lelarge wrote: > > On Wed, 2012-01-04 at 05:17 -0800, Miso Vanek wrote: > > > On 2. Jan, 22:57 h., guilla...@lelarge.info (Guillaume > Lelarge) wrote: > > > > On Mon, 2011-12-19 at 10:50 +0100, Guillaume Lelarge > wrote: > > > > > On Thu, 2011-12-15 at 15:39 +0200, Julius Tuskenis > wrote: > > > > > > Hello, > > > > > > > > > > After installing pgAdmin 1.14.1 I have noticed that > CREATE CONSTRAINT > > > > > > TRIGGER statements are shown in SQL pane when > selecting table from > > > > > > treeview. Is this done on purpose? > > > > > > Frankly, I find no real use of statements like: > > > > > > CREATE CONSTRAINT TRIGGER > "RI_ConstraintTrigger_73501293" > > > > > > AFTER DELETE > > > > > > ON b_dok > > > > > > FOR EACH ROW > > > > > > EXECUTE PROCEDURE "RI_FKey_cascade_del"(); > > > > > > > > > > I think the constraint triggers should not be shown > (at least by > > > > > > default). They might be a good thing for debugging > but not for > > > > > > administrating the DB. I support the opinion stated > in > > > > > >http://www.pgadmin.org/support/faq.php: > > > > > > > > > > " > > > > > > <...> > > > > > > pgAdmin III considers constraint triggers as an > internal implementation > > > > > > detail, not interesting for the common > administrator. In fact, CREATE > > > > > > CONSTRAINT TRIGGER is for backward compatibility > only, and shouldn't be > > > > > > used in newer scripts any more. Some tools (e.g. > pgAdmin II) imply this, > > > > > > by showing a ADD CONSTRAINT when reverse > engineering, while actually the > > > > > > constraint information in the database is missing. > > > > > > Run the adddepend script, which can be found in the > backend's sources > > > > > > contrib/adddepend directory. [AP]" > > > > > > > > > > I'd be glad if they disappeared from the SQL pane. > > > > > > > > > > pgAdmin 1.14.1 > > > > > > WinXp SP3 > > > > > > PostgreSQL 8.3.4 on i686-pc-linux-gnu, compiled by > GCC gcc (Gentoo > > > > > > 4.3.2-r3 p1.6, pie-10.1.5) 4.3.2 > > > > > > > > > System constraints triggers shouldn't appear at all if > you didn't select > > > > > the "Show system objects". They never should appear in > the SQL pane of a > > > > > table description for example. > > > > > > > > > User constraints triggers should always appear. > > > > > > > > > The fact that system constraint triggers appear wasn't > done on purpose. > > > > > As a matter of fact, this is a bug. > > > > > > > > I tried to make it appear many times, but failed. Do you > have > > > > self-contained test case that I could use? Thanks. > > > > > > > > -- > > > > Guillaume > > > > http://blog.guillaume.lelarge.info > > > > http://www.dalibo.com > > > > PostgreSQL Sessions > #3:http://www.postgresql-sessions.org > > > > > > > > -- > > > > Sent via pgadmin-support mailing list > (pgadmin-supp...@postgresql.org) > > > > To make changes to your > subscription:http://www.postgresql.org/mailpref/pgadmin-support > > > > > > i have noticed it too. > > > > > > Ubuntu 11.10 > > > postgresql 9.1 > > > pgadmin 1.14.1 > > > compiled using gcc/g++, no additinional flags, > only ./configure, make, > > > make install > > > rev: REL-1_14_1 > > > show system objects - not enabled > > > > > > example of SQL pane: > > > > > > CREATE TABLE projects > > > ( > > > id serial NOT NULL, > > > name text NOT NULL, > > > handler text, > > > CONSTRAINT projects_pkey PRIMARY KEY (id ) > > > ) > > > WITH ( > > > OIDS=FALSE > > > ); > > > ALTER TABLE projects > > > OWNER TO smsgtwlive; > > > > > > -- Trigger: RI_ConstraintTrigger_4601055 on projects > > > > > > -- DROP TRIGGER "RI_ConstraintTrigger_4601055" ON > projects; > > > > > > CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_4601055" > > > AFTER DELETE > > > ON projects > > > FOR EACH ROW > > > EXECUTE PROCEDURE "RI_FKey_restrict_del"(); > > > > > > -- Trigger: RI_ConstraintTrigger_4601056 on projects > > > > > > -- DROP TRIGGER "RI_ConstraintTrigger_4601056" ON > projects; > > > > > > CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_4601056" > > > AFTER UPDATE > > > ON projects > > > FOR EACH ROW > > > EXECUTE PROCEDURE "RI_FKey_restrict_upd"(); > > > > > > > How did you create the table? > > > > > OK, got it. I'm able to reproduce it on 8.3. > > > -- > Guillaume > http://blog.guillaume.lelarge.info > http://www.dalibo.com > PostgreSQL Sessions #3: http://www.postgresql-sessions.org > > > > sorry, postgreSQL version is 8.4 not 9.1. Yeah, no problem, I made the mistake too. I commited a patch a few minutes ago. Thanks for your help. -- Guillaume http://blog.guillaume.lelarge.info http://www.dalibo.com PostgreSQL Sessions #3: http://www.postgresql-sessions.org
pgadmin-support by date: