[pgAdmin III] #332: SQL for TRIGGER with WHEN clause broken

From: "pgAdmin Trac" <trac(at)code(dot)pgadmin(dot)org>
To:
Cc: pgadmin-hackers(at)postgresql(dot)org
Subject: [pgAdmin III] #332: SQL for TRIGGER with WHEN clause broken
Date: 2011-08-12 18:06:13
Message-ID: 045.3cfa2936adf6ceda81194cc1fd04feed@code.pgadmin.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

#332: SQL for TRIGGER with WHEN clause broken
----------------------+-----------------------------------------------------
Reporter: brsa | Owner: dpage
Type: bug | Status: new
Priority: minor | Milestone:
Component: pgadmin | Version: trunk
Keywords: SQL pane | Platform: all
----------------------+-----------------------------------------------------
Brackets around the WHEN condition are missing or unmatched in the SQL
pane. (See ticket #98)

pg feature applies to postgresql 9.0+
Tested with pgAdmin 1.14.0 Beta 3 on Win XP; pg 9.0.4 on Debian Squeeze.

Docs:
http://www.postgresql.org/docs/9.0/interactive/sql-createtrigger.html

-- Test case --

CREATE TABLE foo(a serial, b text, c text, d text);

CREATE OR REPLACE FUNCTION trg_foo_upaft() RETURNS trigger AS
$BODY$
BEGIN

-- do something
RETURN NEW;

END;
$BODY$ LANGUAGE plpgsql VOLATILE;

-- Test 1.)
-- I say:
-- DROP TRIGGER up_aft ON foo;
CREATE TRIGGER up_aft
AFTER UPDATE
ON foo
FOR EACH ROW
WHEN ((old.b, old.c, old.d) <> (new.b, new.c, new.d))
EXECUTE PROCEDURE trg_foo_upaft();

--> pgAdmin says:
CREATE TRIGGER up_aft
AFTER UPDATE
ON foo
FOR EACH ROW
WHEN (old.b <> new.b) OR (old.c <> new.c) OR (old.d <> new.d)
EXECUTE PROCEDURE trg_foo_upaft();
--! no enclosing brackets !

-- Test 2.)
-- I say:
-- DROP TRIGGER up_aft ON foo;
CREATE TRIGGER up_aft
AFTER UPDATE
ON foo
FOR EACH ROW
WHEN ((old.b <> new.b) OR (old.c <> new.c) OR (old.d <> new.d))
EXECUTE PROCEDURE trg_foo_upaft();

--> pgAdmin says:
CREATE TRIGGER up_aft
AFTER UPDATE
ON foo
FOR EACH ROW
WHEN (old.b <> new.b) OR (old.c <> new.c)) OR (old.d <> new.d)
EXECUTE PROCEDURE trg_foo_upaft();
--! unmatched bracket and missing enclosing brackets !

--
Ticket URL: <http://code.pgadmin.org/trac/ticket/332>
pgAdmin III <http://code.pgadmin.org/trac/>
pgAdmin III

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message pgAdmin Trac 2011-08-12 18:23:37 Re: [pgAdmin III] #332: SQL for TRIGGER with WHEN clause broken
Previous Message Magnus Hagander 2011-08-12 11:51:04 Re: Weird git messages