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
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 |