Re: table partitioning and access privileges

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-02-17T07:59:46Z
Lists: pgsql-hackers

On 2020/02/14 10:28, Amit Langote wrote:
> On Thu, Feb 13, 2020 at 8:39 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>> On 2020/02/07 10:39, Amit Langote wrote:
>>> On Fri, Feb 7, 2020 at 1:16 AM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>>>> Yes, so I will review your patch getting rid of
>>>> LOCK TABLE exception.
>>>
>>> Attached updated patch.
>>
>> Thanks! This patch basically looks good to me except
>> the following minor comment.
>>
>>    ROLLBACK;
>> -BEGIN;
>> -LOCK TABLE ONLY lock_tbl1;
>> -ROLLBACK;
>>    RESET ROLE;
>>
>> I think that there is no strong reason why these SQLs need to be
>> removed. We can verify that even "LOCK TABLE ONLY" command works
>> expectedly on the inherited tables by keeping those SQLs in the
>> regression test. So what about not removing these SQLs?
> 
> Hmm, that test becomes meaningless with the behavior change we are
> introducing, but I am okay with not removing it.

Only this regression test seems to verify LOCK TABLE ONLY command.
So if we remove this, I'm afraid that the test coverage would be reduced.

> However, I added a test showing that locking child table directly doesn't work.
> 
> Attached updated patch.

Thanks for updating the patch!
Barring any objection, I will commit the patch.

Regards,

-- 
Fujii Masao
NTT DATA CORPORATION
Advanced Platform Technology Group
Research and Development Headquarters



Commits

  1. Make inherited LOCK TABLE perform access permission checks on parent table only.

  2. Add note about access permission checks by inherited TRUNCATE and LOCK TABLE.

  3. Revert commit 56bc82a511.

  4. Revert commit 606f350de9.

  5. Revert commit 928e755d22.

  6. Revert commit 4b96c03a0a.

  7. Revert commit a5b652f3a0.

  8. Revert commit de0177788b.

  9. Make inherited TRUNCATE perform access permission checks on parent table only.

  10. Regression tests for LOCK TABLE.