depesz,

moved to -hackers..

* hubert depesz lubaczewski (dep...@depesz.com) wrote:
> create table some_data (id int4 primary key, payload text);
> create view first as select * from some_data where 0 = id % 2 with local 
> check option;
> create view second as select * from first where 0 = id with local check 
> option;
> 
> insert into second (id, payload) values (15, '15 is divisible by 3, but not 
> by 2');
> ERROR:  new row violates WITH CHECK OPTION for view "first"
> DETAIL:  Failing row contains (15, 15 is divisible by 3, but not by 2).

Interesting.

> If I read it correctly, insert to "second" with id = 15 should work,
> because the where on "second" matches, and local check shouldn't be
> checking on "first"?

I think you're half-right, the check should be against 'second', which
should fail because of the '0 = id' check in that view, but we're
reporting the failure as being associated with 'first', which I don't
believe is correct.  Dean, thoughts..?

        Thanks!
                
                Stephen

Attachment: signature.asc
Description: Digital signature

Reply via email to