Make inherited TRUNCATE perform access permission checks on parent table only.
authorFujii Masao <fujii@postgresql.org>
Thu, 30 Jan 2020 15:45:39 +0000 (00:45 +0900)
committerFujii Masao <fujii@postgresql.org>
Thu, 30 Jan 2020 15:45:39 +0000 (00:45 +0900)
commit928e755d22de56e998b0b76596ebda1941e0e323
treecc9d4bcad9a93105e10a0d448e309f529cc117f3
parent43a648f57ce3d45fc77b0d18b0829884d8449151
Make inherited TRUNCATE perform access permission checks on parent table only.

Previously, TRUNCATE command through a parent table checked the
permissions on not only the parent table but also the children tables
inherited from it. This was a bug and inherited queries should perform
access permission checks on the parent table only. This commit fixes
that bug.

Back-patch to all supported branches.

Author: Amit Langote
Reviewed-by: Fujii Masao
Discussion: https://postgr.es/m/CAHGQGwFHdSvifhJE+-GSNqUHSfbiKxaeQQ7HGcYz6SC2n_oDcg@mail.gmail.com
src/backend/commands/tablecmds.c
src/test/regress/expected/privileges.out
src/test/regress/sql/privileges.sql