]> granicus.if.org Git - postgresql/commitdiff
Avoid possible regression test instability in timestamp.sql.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Apr 2019 20:19:51 +0000 (16:19 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Apr 2019 20:20:01 +0000 (16:20 -0400)
Concurrent autovacuum could result in a change in the order of the
live rows in timestamp_tbl.  While this would not happen with the
default autovacuum parameters, it's fairly easy to hit if
autovacuum_vacuum_threshold is made small enough to allow autovac
to decide to process this table.  That's a stumbling block for trying
to exercise autovacuum aggressively using the core regression tests.

To fix, replace an unqualified DELETE with a TRUNCATE.  There's a
similar DELETE just above (and no order-sensitive queries between),
so this doesn't lose any test coverage and might indeed be argued
to improve it.

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

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

index 4a2fabddd9f68473c90b3e8263069a0375dcffb6..b2b171f56013829b5f71e8e8339c88268f89c932 100644 (file)
@@ -74,7 +74,7 @@ SELECT count(*) AS two FROM TIMESTAMP_TBL WHERE d1 = timestamp(2) without time z
 (1 row)
 
 COMMIT;
-DELETE FROM TIMESTAMP_TBL;
+TRUNCATE TIMESTAMP_TBL;
 -- Special values
 INSERT INTO TIMESTAMP_TBL VALUES ('-infinity');
 INSERT INTO TIMESTAMP_TBL VALUES ('infinity');
index b7957cbb9aa85927972410bc003e9d173d1a34a6..150eb54c870fb8afabc43981ca5e7cfedf5c613f 100644 (file)
@@ -44,7 +44,7 @@ SELECT pg_sleep(0.1);
 SELECT count(*) AS two FROM TIMESTAMP_TBL WHERE d1 = timestamp(2) without time zone 'now';
 COMMIT;
 
-DELETE FROM TIMESTAMP_TBL;
+TRUNCATE TIMESTAMP_TBL;
 
 -- Special values
 INSERT INTO TIMESTAMP_TBL VALUES ('-infinity');