postgrespro.git / summary / log / commit / refs
commit baa32ce28b39eccdf384e979dac5ad8be91ff44e
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sat Dec 14 20:01:56 2019 +0000
Try to stabilize results of new tuplesort regression test.
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 | 9 ++-------
src/test/regress/sql/tuplesort.sql | 11 ++---------
2 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/src/test/regress/expected/tuplesort.out b/src/test/regress/expected/tuplesort.out
index 0a2fef95ce..3fc1998bf2 100644
--- a/src/test/regress/expected/tuplesort.out
+++ b/src/test/regress/expected/tuplesort.out
@@ -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;
diff --git a/src/test/regress/sql/tuplesort.sql b/src/test/regress/sql/tuplesort.sql
index 6b91014a6b..7d7e02f02a 100644
--- a/src/test/regress/sql/tuplesort.sql
+++ b/src/test/regress/sql/tuplesort.sql
@@ -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;
[parent: 6ea364e7e7d5]