Avoid rare race condition in privileges.sql regression test.

We created a temp table, then switched to a new session, leaving
the old session to clean up its temp objects in background.  If that
took long enough, the eventual attempt to drop the user that owns
the temp table could fail, as exhibited today by sidewinder.
Fix by dropping the temp table explicitly when we're done with it.

It's been like this for quite some time, so back-patch to all
supported branches.

Report: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=sidewinder&dt=2018-10-16%2014%3A45%3A00
This commit is contained in:
Tom Lane 2018-10-16 13:56:58 -04:00
parent 27ba589b74
commit 4166fb3a75
2 changed files with 2 additions and 0 deletions

View File

@ -1093,6 +1093,7 @@ select has_column_privilege('mytable',2::int2,'select');
(1 row)
drop table mytable;
-- Grant options
SET SESSION AUTHORIZATION regressuser1;
CREATE TABLE atest4 (a int);

View File

@ -674,6 +674,7 @@ select has_column_privilege('mytable','........pg.dropped.2........','select');
select has_column_privilege('mytable',2::int2,'select');
revoke select on table mytable from regressuser3;
select has_column_privilege('mytable',2::int2,'select');
drop table mytable;
-- Grant options