pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Filip Jirsák <Filip.Jirsak@gymnacel.cz>
To: pgsql-sql@postgresql.org
Subject: View with Union and update rule - fails
Date: Fri, 07 Jan 2005 12:10:21 +0100
Message-ID: <41DE6E1D.9060203@gymnacel.cz> (raw)

Hi,
I have trouble with following VIEW and RULE:

----------------

CREATE SCHEMA test
    AUTHORIZATION postgres;

CREATE TABLE test.table1 (
     uid int4,
     col1 int4,
     col2 int4,
     col3 int4
);

CREATE TABLE test.table2 (
     col4 int4
) INHERITS (test.table1);

CREATE TABLE test.table3 (
     col5 int4
) INHERITS (test.table1);

CREATE VIEW test.view1 AS
     SELECT uid, col1,col2,col3 FROM test.table2
UNION
     SELECT uid, col1,col2,col3 FROM test.table3;

INSERT INTO test.table1 VALUES (1,1,1,1);
INSERT INTO test.table1 VALUES (2,2,2,2);
INSERT INTO test.table1 VALUES (3,3,3,3);
INSERT INTO test.table1 VALUES (4,4,4,4);
INSERT INTO test.table2 VALUES (5,5,5,5,5);
INSERT INTO test.table2 VALUES (6,6,6,6,6);
INSERT INTO test.table2 VALUES (7,7,7,7,7);
INSERT INTO test.table2 VALUES (8,8,8,8,8);
INSERT INTO test.table3 VALUES (9,9,9,9,9);
INSERT INTO test.table3 VALUES (10,10,10,10,10);
INSERT INTO test.table3 VALUES (11,11,11,11,11);
INSERT INTO test.table3 VALUES (12,12,12,12,12);

CREATE OR REPLACE RULE r1 AS
      ON UPDATE TO test.view1 DO INSTEAD
     UPDATE test.table1 SET col1 = 100;

UPDATE test.view1 SET col2 = 101 WHERE uid=1;
----------------

I get:

ERROR:  unrecognized node type: 651

But

UPDATE test.view1 SET col2 = 101;

(without WHERE) works fine. View without UNION works also fine.
Is there something wrong in my code, or is it some feature/bug?
PostgreSQL is 7.4.5 running on Gentoo Linux.
Thanks,
Filip Jirsák




view thread (2+ messages)  latest in thread

Message-ID: <41DE6E1D.9060203@gymnacel.cz>
Permalink:  ../41DE6E1D.9060203@gymnacel.cz/
Also on:    postgresql.org/message-id/41DE6E1D.9060203@gymnacel.cz

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: Filip.Jirsak@gymnacel.cz
  Subject: Re: View with Union and update rule - fails
  In-Reply-To: <41DE6E1D.9060203@gymnacel.cz>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox