Re: "plan should not reference subplan's variable" when using row level security

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: "plan should not reference subplan's variable" when using row level security
Дата
Msg-id 20160224204553.GK3127@tamriel.snowman.net
обсуждение исходный текст
Ответ на Re: "plan should not reference subplan's variable" when using row level security  (Adam Guthrie <asguthrie@gmail.com>)
Список pgsql-general
* Adam Guthrie (asguthrie@gmail.com) wrote:
> On 24 February 2016 at 20:27, Stephen Frost <sfrost@snowman.net> wrote:
> > Yeah, looks like a bug to me.  My gut reaction is that we're pulling up
> > a subquery in a way that isn't possible and that plan shouldn't be
> > getting built/considered.
>
> Thanks - shall I go ahead and submit a bug report?

Sure.

> > As a work-around, until we fix it, you could create an sql function to
> > check for the existance of the id in 'a' and use that in the policy
> > definition.
>
> I've also discovered that using the following policy instead
>
> CREATE POLICY a_select ON b FOR SELECT
>     USING ( a_id IN (SELECT id FROM a) );
>
> also seems to work around the issue.

Yes, that also works, but it could get painful if 'a' gets large.  An
SQL function like:

select exists (select * from a where a.id = $1);

Would still use an indexed lookup against 'a'.

Thanks!

Stephen

Вложения

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

Предыдущее
От: Adam Guthrie
Дата:
Сообщение: Re: "plan should not reference subplan's variable" when using row level security
Следующее
От: Karsten Hilbert
Дата:
Сообщение: check constraint problem during COPY while pg_upgrade-ing