1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-11 05:41:32 +03:00

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
This commit is contained in:
Tom Lane 2019-12-14 15:01:56 -05:00
parent 6ea364e7e7
commit baa32ce28b
2 changed files with 4 additions and 16 deletions

View File

@ -5,9 +5,7 @@ SET max_parallel_workers = 0;
-- key aborts. One easy way to achieve that is to use uuids that all -- 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 -- have the same prefix, as abbreviated keys for uuids just use the
-- first sizeof(Datum) bytes. -- first sizeof(Datum) bytes.
DROP TABLE IF EXISTS abbrev_abort_uuids; CREATE TEMP TABLE abbrev_abort_uuids (
NOTICE: table "abbrev_abort_uuids" does not exist, skipping
CREATE TABLE abbrev_abort_uuids (
id serial not null, id serial not null,
abort_increasing uuid, abort_increasing uuid,
abort_decreasing uuid, abort_decreasing uuid,
@ -596,7 +594,7 @@ ROLLBACK;
---- ----
-- test tuplesort mark/restore -- 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 -- need a few duplicates for mark/restore to matter
INSERT INTO test_mark_restore(col1, col2, col12) 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); 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) (10 rows)
COMMIT; COMMIT;
-- cleanup
DROP TABLE IF EXISTS abbrev_abort_uuids;
DROP TABLE IF EXISTS test_mark_restore;

View File

@ -6,9 +6,7 @@ SET max_parallel_workers = 0;
-- key aborts. One easy way to achieve that is to use uuids that all -- 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 -- have the same prefix, as abbreviated keys for uuids just use the
-- first sizeof(Datum) bytes. -- first sizeof(Datum) bytes.
DROP TABLE IF EXISTS abbrev_abort_uuids; CREATE TEMP TABLE abbrev_abort_uuids (
CREATE TABLE abbrev_abort_uuids (
id serial not null, id serial not null,
abort_increasing uuid, abort_increasing uuid,
abort_decreasing uuid, abort_decreasing uuid,
@ -266,7 +264,7 @@ ROLLBACK;
-- test tuplesort mark/restore -- 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 -- need a few duplicates for mark/restore to matter
INSERT INTO test_mark_restore(col1, col2, col12) 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); 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; :qry;
COMMIT; COMMIT;
-- cleanup
DROP TABLE IF EXISTS abbrev_abort_uuids;
DROP TABLE IF EXISTS test_mark_restore;