pg_class_ownercheck() in EnableDisableRule()

Поиск
Список
Период
Сортировка
От KaiGai Kohei
Тема pg_class_ownercheck() in EnableDisableRule()
Дата
Msg-id 4AB2F1E4.5030900@ak.jp.nec.com
обсуждение исходный текст
Список pgsql-hackers
I found a strange checks in the native database privilege stuff.

The EnableDisableRule() calls pg_class_ownercheck() to check
the ownership of the relation which has a rule to be turned
on/off.

Only ATExecEnableDisableRule() calls the EnableDisableRule(),
and only ATExecCmd() calls the ATExecEnableDisableRule()
with AT_EnableRule, AT_EnableAlwaysRule, AT_EnableReplicaRule
and AT_DisableRule.

However, ATPrepCmd() already checks ownership of the target
relation using ATSimplePermissions(), so the pg_class_ownercheck()
at the EnableDisableRule() always returns true.

I replaced the checks by the abstraction of ac_rule_toggle()
in my patch. However, it may be better to remove the checks simply.

Thanks,
-- 
OSS Platform Development Division, NEC
KaiGai Kohei <kaigai@ak.jp.nec.com>


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

Предыдущее
От: Itagaki Takahiro
Дата:
Сообщение: Re: FSM search modes
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Patch for 8.5, transformationHook