Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Miso Vanek <michal(dot)vanek(at)gmail(dot)com>
Cc: pgadmin-support(at)postgresql(dot)org
Subject: Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)
Date: 2012-01-04 14:51:18
Message-ID: 1325688678.2592.40.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)(dot)(dot)(at)lelarge(dot)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(dot)(dot)(dot)(at)postgresql(dot)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

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Julius Tuskenis 2012-01-04 14:58:02 Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)
Previous Message Guillaume Lelarge 2012-01-04 14:46:49 Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)