Re: Roles - SET ROLE Updated

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Roles - SET ROLE Updated
Дата
Msg-id 21484.1121968988@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Roles - SET ROLE Updated  (Stephen Frost <sfrost@snowman.net>)
Ответы Re: Roles - SET ROLE Updated
Список pgsql-patches
Stephen Frost <sfrost@snowman.net> writes:
>> Here's a much better version of the SET ROLE work.  I'm reasonably happy
>> with it.  The only parts I don't like are that I had to do some ugly
>> things in gram.y to avoid making NONE reserved, and I can't seem to see
>> how to avoid having ROLE be reserved (I understand it was reserved in
>> SQL99 but not in SQL2003...).

> Updated yet again, fixing a bug in the prior one that caused it to not
> work properly, and some additional things:

I don't think this patch works; it certainly doesn't do what I'd expect
to happen with SECURITY DEFINER functions.  At the very least you'd need
to make fmgr_security_definer save/restore the current role setting.
But I doubt that this is even the direction we want to head in.

After rereading SQL99 4.31, I don't think there is any need to
distinguish CURRENT_USER from CURRENT_ROLE, mainly because our
implementation does not distinguish users from roles at all.
(Which I think is good.)  So ISTM we should not change GetUserId()
as you propose, but leave it alone and implement SetRole approximately
like SetSessionUserId is implemented, ie, setting a background value
that may sometimes get copied into CurrentUserId.  The "stack" aspect
only matters to the extent that SetRoleId has precedence over
SetSessionUserId for determining the outside-a-transaction value of
CurrentUserId.

            regards, tom lane

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

Предыдущее
От: "Rocco Altier"
Дата:
Сообщение: Re: Changes for AIX buildfarm
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: Roles - SET ROLE Updated