Re: rule system oddity - Mailing list pgsql-hackers

From Michael Fuhr
Subject Re: rule system oddity
Date
Msg-id 20050105074540.GA15048@winnie.fuhr.org
Whole thread Raw
In response to rule system oddity  (Jaime Casanova <systemguards@yahoo.com>)
Responses Re: rule system oddity  (Jaime Casanova <systemguards@yahoo.com>)
List pgsql-hackers
On Tue, Jan 04, 2005 at 11:51:54PM -0600, Jaime Casanova wrote:

> create view vfoo as select oid, * from foo;
> ...
> create rule insrule as on insert to vfoo
> do instead
> insert into foo(id, name) values (new.id, new.name);
> ...
> insert into vfoo values(1, 'test1');
> ERROR:  invalid input syntax for integer: "test1"
>
> it seems like it's trying to insert into the oid
> column is that the intended behaviour? or is it a bug?
> (i think is the latter).

vfoo has three fields: oid, id, and name.  If you INSERT without a
column list, the values are assigned to the columns in order: oid=1,
id='test1', name=NULL.  Are you suggesting that the insert should
ignore oid since its source is a system column?  I'm not sure such
behavior would be desirable because of the inconsistency it would
introduce: sometimes values would be assigned to the displayed
columns in order, but other times one or more of those columns might
be implicitly skipped.

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/


pgsql-hackers by date:

Previous
From: Jaime Casanova
Date:
Subject: rule system oddity
Next
From: ohp@pyrenet.fr
Date:
Subject: Where are the docs