Fix possible future cache reference leak in ALTER EXTENSION ADD/DROP.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 17 Apr 2020 17:41:59 +0000 (13:41 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 17 Apr 2020 17:41:59 +0000 (13:41 -0400)
commit3125a5baec1cf6d3aaeb8964bc3b3c49835e0452
tree917d977ad4a5ef88e43904b810f8fe3582da0f25
parent4db819ba403901d38c4e4328883412c59061bb58
Fix possible future cache reference leak in ALTER EXTENSION ADD/DROP.

recordExtObjInitPriv and removeExtObjInitPriv were sloppy about
calling ReleaseSysCache.  The cases cannot occur given current usage
in ALTER EXTENSION ADD/DROP, since we wouldn't get here for these
relkinds; but it seems wise to clean up better.

In passing, extend test logic in test_pg_dump to exercise the
dropped-column code paths here.

Since the case is unreachable at present, there seems no great
need to back-patch; hence fix HEAD only.

Kyotaro Horiguchi, with test case and comment adjustments by me

Discussion: https://postgr.es/m/20200417.151831.1153577605111650154.horikyota.ntt@gmail.com
src/backend/catalog/aclchk.c
src/test/modules/test_pg_dump/README
src/test/modules/test_pg_dump/expected/test_pg_dump.out
src/test/modules/test_pg_dump/sql/test_pg_dump.sql