create OR REPLACE rule bug

From: "Mikael Carneholm" <Mikael(dot)Carneholm(at)WirelessCar(dot)com>
To: <pgsql-bugs(at)postgresql(dot)org>
Subject: create OR REPLACE rule bug
Date: 2005-11-05 22:05:17
Message-ID: 7F10D26ECFA1FB458B89C5B4B0D72C2B0881FF@sesrv12.wirelesscar.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

I believe this is a bug:

-- OR REPLACE present
create or replace rule "mastertab_jan05_update" as
on update to mastertab where
(NEW.datecol < '20050101' or NEW.datecol >= '20050201')
and
(OLD.datecol >= '20050101' and OLD.datecol < '20050201')
do instead (
-- multiple commands
delete from mastertab_jan05 where id = OLD.id;
insert into mastertab (id, datecol) values (OLD.id, NEW.datecol);
);

=> ERROR: syntax error at end of input at character 255

-- OR REPLACE not present
create rule "mastertab_jan05_update" as
on update to mastertab where
(NEW.datecol < '20050101' or NEW.datecol >= '20050201')
and
(OLD.datecol >= '20050101' and OLD.datecol < '20050201')
do instead (
-- multiple commands
delete from mastertab_jan05 where id = OLD.id;
insert into mastertab (id, datecol) values (OLD.id, NEW.datecol);
);

=> Query OK, 0 rows affected (0,00 sec)

-- OR REPLACE present
create or replace rule "mastertab_jan05_update" as
on update to mastertab where
(NEW.datecol < '20050101' or NEW.datecol >= '20050201')
and
(OLD.datecol >= '20050101' and OLD.datecol < '20050201')
do instead (
-- single command, no semicolon
delete from mastertab_jan05 where id = OLD.id
);

=> Query OK, 0 rows affected (0,00 sec)

-- OR REPLACE present
create or replace rule "mastertab_jan05_update" as
on update to mastertab where
(NEW.datecol < '20050101' or NEW.datecol >= '20050201')
and
(OLD.datecol >= '20050101' and OLD.datecol < '20050201')
do instead (
-- single command, semicolon present
delete from mastertab_jan05 where id = OLD.id;
);

=> ERROR: syntax error at end of input at character 255

Ie, the "OR REPLACE" token is broken in that is doesn't work with multiple commands (semicolons?)

/Mikael

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Mikael Carneholm 2005-11-05 22:50:07 Re: create OR REPLACE rule bug
Previous Message Tom Lane 2005-11-05 19:55:54 Re: attislocal value changed with the dump