Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Avoid rare race condition in privileges.sql regression test.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Oct 2018 17:56:58 +0000 (13:56 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Oct 2018 17:56:58 +0000 (13:56 -0400)
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

src/test/regress/expected/privileges.out
src/test/regress/sql/privileges.sql

index 24ec2a82f64ac1266d3466ff33f1a72fa9377667..b41cad1b6e65010f2e5b1adf4ad210b15e073de1 100644 (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);
index 85004b1128dcf1a0d3953a8567366e1471f10dc9..09403fe0a86dc0ff8fe7c837542781ffbbc45abf 100644 (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