Re: Column-Level Privileges
От | Tom Lane |
---|---|
Тема | Re: Column-Level Privileges |
Дата | |
Msg-id | 9375.1232477570@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Column-Level Privileges (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Column-Level Privileges
|
Список | pgsql-hackers |
... btw, what is the reasoning behind the special cases for SELECT FOR UPDATE in execMain.c? /* Check if this is SELECT-FOR-UPDATE and handle * accordingly. */ if(remainingPerms & ACL_UPDATE && pg_attribute_aclcheck_all(relOid, userid, ACL_UPDATE, ACLMASK_ALL) != ACLCHECK_OK) aclcheck_error(ACLCHECK_NO_PRIV, ACL_KIND_CLASS, get_rel_name(relOid)); If there actually is a need to treat SELECT FOR UPDATE specially, then this code is quite wrong because it will also fire on a plain UPDATE (assuming the UPDATE reads any existing column values, which it usually would). Offhand though I don't see why we can't just use code that is symmetric with the SELECT case: if requiredPerms includes UPDATE but there are no columns called out for UPDATE, then allow it if we have UPDATE on any column. regards, tom lane
В списке pgsql-hackers по дате отправления: