Re: RLS Design

Поиск
Список
Период
Сортировка
От Andrew Gierth
Тема Re: RLS Design
Дата
Msg-id 877g0yor92.fsf@news-spur.riddles.org.uk
обсуждение исходный текст
Ответ на Re: RLS Design  ("Brightwell, Adam" <adam.brightwell@crunchydatasolutions.com>)
Список pgsql-hackers
>>>>> "Adam" == Brightwell, Adam <adam.brightwell@crunchydatasolutions.com> writes:
Adam> At any rate, this appears to be a previously existing issueAdam> with WITH CHECK OPTION.  Thoughts?

It's definitely an existing issue; you can reproduce it more simply,
no need to mess with different users.

The issue as far as I can tell is that the withCheckOption exprs are
not being processed anywhere in setrefs.c, so it only works at all by
pure fluke: for most operators, the opfuncid is also filled in by
eval_const_expressions, but for whatever reason SAOPs escape this
treatment. Same goes for other similar cases:

create table colors (name text);
create view vc1 as select * from colors where name is distinct from 'grue' with check option;
create view vc2 as select * from colors where name in ('red','green','blue') with check option;
create view vc3 as select * from colors where nullif(name,'grue') is null with check option;

insert into vc1 values ('red'); -- fails
insert into vc2 values ('red'); -- fails
insert into vc3 values ('red'); -- fails

(Also, commands/policy.c has two instances of "const char" as a
function return type, which is a compiler warning since the "const" is
meaningless.)

-- 
Andrew (irc:RhodiumToad)



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Support for N synchronous standby servers
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: pg_background (and more parallelism infrastructure patches)