Make inherited TRUNCATE perform access permission checks on parent table only.
authorFujii Masao
Thu, 30 Jan 2020 15:42:06 +0000 (00:42 +0900)
committerFujii Masao
Thu, 30 Jan 2020 15:43:28 +0000 (00:43 +0900)
commitde0177788bf3f0531af32cd5143a73e1234862d3
tree717aba63d76b111a18d9cf9807ed95629acb55df
parent3228512b7b2b6767b5f34768a958ed812118aa4d
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