Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs
От | hubert depesz lubaczewski |
---|---|
Тема | Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs |
Дата | |
Msg-id | 20130729234505.GA16974@depesz.com обсуждение исходный текст |
Ответ на | Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable VIEWs (Stephen Frost <sfrost@snowman.net>) |
Ответы |
Re: [COMMITTERS] pgsql: WITH CHECK OPTION support for auto-updatable
VIEWs
|
Список | 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 по дате отправления: