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

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Michal 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 21:56:21
Message-ID: 1325714181.2505.2.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

On Wed, 2012-01-04 at 16:04 +0100, Michal Vanek wrote:
>
>
> 2012/1/4 Guillaume Lelarge <guillaume(at)lelarge(dot)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(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
>
>
>
> 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

In response to

Browse pgadmin-support by date

  From Date Subject
Next Message Guillaume Lelarge 2012-01-04 21:59:56 Re: Column not wide enough for data
Previous Message Guillaume Lelarge 2012-01-04 21:55:08 Re: CREATE CONSTRAINT TRIGGER in SQL pane (pgAdmin 1.14.1)