I cannot use RULEs with WHERE clauses. What's wrong? Is this a bug? I also
had this problem with 7.1.1. The documentation says this should work.
foo=# SELECT version(); version
---------------------------------------------------------------------PostgreSQL 7.1.3 on i686-pc-linux-gnu, compiled by
GCCegcs-2.91.66
(1 row)
foo=# CREATE TABLE a(foo integer);
CREATE
foo=# CREATE TABLE b(foo integer);
CREATE
foo=# CREATE VIEW c AS SELECT foo FROM a;
CREATE
foo=# CREATE RULE d AS ON INSERT TO c WHERE new.foo=5 DO INSTEAD SELECT foo FROM b;
CREATE
foo=# INSERT INTO c VALUES (5);
ERROR: Cannot insert into a view without an appropriate rule
foo=# INSERT INTO c VALUES (6);
ERROR: Cannot insert into a view without an appropriate rule
TIA, Zoltan
-- Kov\'acs, Zolt\'an kovacsz@pc10.radnoti-szeged.sulinet.hu
http://www.math.u-szeged.hu/~kovzol ftp://pc10.radnoti-szeged.sulinet.hu/home/kovacsz