Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Try to stabilize results of new tuplesort regression test.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 14 Dec 2019 20:01:56 +0000 (15:01 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 14 Dec 2019 20:01:56 +0000 (15:01 -0500)
It appears that a concurrent autovacuum/autoanalyze run can cause
changes in the plans expected by this test.  To prevent that, change
the tables it uses to be temp tables --- there's no need for them
to be permanent, and this should save a few cycles too.

Discussion: https://postgr.es/m/3244.1576160824@sss.pgh.pa.us

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

index 0a2fef95ce135f653bb44f705e1db41bed144ed8..3fc1998bf2d036ba3deef6819aa6212dc736863a 100644 (file)
@@ -5,9 +5,7 @@ SET max_parallel_workers = 0;
 -- key aborts. One easy way to achieve that is to use uuids that all
 -- have the same prefix, as abbreviated keys for uuids just use the
 -- first sizeof(Datum) bytes.
-DROP TABLE IF EXISTS abbrev_abort_uuids;
-NOTICE:  table "abbrev_abort_uuids" does not exist, skipping
-CREATE TABLE abbrev_abort_uuids (
+CREATE TEMP TABLE abbrev_abort_uuids (
     id serial not null,
     abort_increasing uuid,
     abort_decreasing uuid,
@@ -596,7 +594,7 @@ ROLLBACK;
 ----
 -- test tuplesort mark/restore
 ---
-CREATE TABLE test_mark_restore(col1 int, col2 int, col12 int);
+CREATE TEMP TABLE test_mark_restore(col1 int, col2 int, col12 int);
 -- need a few duplicates for mark/restore to matter
 INSERT INTO test_mark_restore(col1, col2, col12)
    SELECT a.i, b.i, a.i * b.i FROM generate_series(1, 500) a(i), generate_series(1, 5) b(i);
@@ -686,6 +684,3 @@ EXPLAIN (COSTS OFF) :qry;
 (10 rows)
 
 COMMIT;
--- cleanup
-DROP TABLE IF EXISTS abbrev_abort_uuids;
-DROP TABLE IF EXISTS test_mark_restore;
index 6b91014a6b883017774c182d43493762158afde8..7d7e02f02a880e5590fc25a1c00af5dfd3378e5b 100644 (file)
@@ -6,9 +6,7 @@ SET max_parallel_workers = 0;
 -- key aborts. One easy way to achieve that is to use uuids that all
 -- have the same prefix, as abbreviated keys for uuids just use the
 -- first sizeof(Datum) bytes.
-DROP TABLE IF EXISTS abbrev_abort_uuids;
-
-CREATE TABLE abbrev_abort_uuids (
+CREATE TEMP TABLE abbrev_abort_uuids (
     id serial not null,
     abort_increasing uuid,
     abort_decreasing uuid,
@@ -266,7 +264,7 @@ ROLLBACK;
 -- test tuplesort mark/restore
 ---
 
-CREATE TABLE test_mark_restore(col1 int, col2 int, col12 int);
+CREATE TEMP TABLE test_mark_restore(col1 int, col2 int, col12 int);
 -- need a few duplicates for mark/restore to matter
 INSERT INTO test_mark_restore(col1, col2, col12)
    SELECT a.i, b.i, a.i * b.i FROM generate_series(1, 500) a(i), generate_series(1, 5) b(i);
@@ -298,8 +296,3 @@ EXPLAIN (COSTS OFF) :qry;
 :qry;
 
 COMMIT;
-
-
--- cleanup
-DROP TABLE IF EXISTS abbrev_abort_uuids;
-DROP TABLE IF EXISTS test_mark_restore;