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 1325688678.2592.40.camel@localhost.localdomain
Whole thread Raw
In response to Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)  (Guillaume Lelarge <guillaume@lelarge.info>)
Responses Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)
List pgadmin-support
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



pgadmin-support by date:

Previous
From: Guillaume Lelarge
Date:
Subject: Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)
Next
From: Julius Tuskenis
Date:
Subject: Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)