Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs - Mailing list pgsql-hackers

From hubert depesz lubaczewski
Subject Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs
Date
Msg-id 20130729234505.GA16974@depesz.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs  (Stephen Frost <sfrost@snowman.net>)
Responses Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs
List pgsql-hackers
On Mon, Jul 29, 2013 at 07:43:53PM -0400, Stephen Frost wrote:
> depesz,
> 
> moved to -hackers..
> 
> * hubert depesz lubaczewski (depesz@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..?

the check is "0 = id % 3" - i.e. id has to be multiply of 3. Sorry if my
way of writing conditionals is confusing.

Best regards,

depesz

-- 
The best thing about modern society is how easy it is to avoid contact with it.
                  http://depesz.com/
 



pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs
Next
From: Stephen Frost
Date:
Subject: Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs