From 4a8bc39b08aa83694f22ea56a8626e91e28a0227 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed, 12 Apr 2017 16:17:53 -0400
Subject: [PATCH] Speed up hash_index regression test.

Commit f5ab0a14e made this test take substantially longer than it used
to.  With a bit more care, we can get the runtime back down while
achieving the same, or even a bit better, code coverage.

Mithun Cy

Discussion: https://postgr.es/m/CAD__Ouh-qaEb+rD7Uy-4g3xQYOrhPzHs-a_TrFAjiQ5azAW5+w@mail.gmail.com
---
 src/test/regress/expected/hash_index.out |  9 ++++-----
 src/test/regress/sql/hash_index.sql      | 10 ++++------
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/test/regress/expected/hash_index.out b/src/test/regress/expected/hash_index.out
index 0a18efacfc4..0bbaa2a7682 100644
--- a/src/test/regress/expected/hash_index.out
+++ b/src/test/regress/expected/hash_index.out
@@ -200,9 +200,9 @@ SELECT h.seqno AS f20000
 -- Cause some overflow insert and splits.
 --
 CREATE TABLE hash_split_heap (keycol INT);
+INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 500) a;
 CREATE INDEX hash_split_index on hash_split_heap USING HASH (keycol);
-INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 70000) a;
-VACUUM FULL hash_split_heap;
+INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 5000) a;
 -- Let's do a backward scan.
 BEGIN;
 SET enable_seqscan = OFF;
@@ -213,11 +213,10 @@ MOVE BACKWARD 10000 FROM c;
 MOVE BACKWARD ALL FROM c;
 CLOSE c;
 END;
--- DELETE, INSERT, REBUILD INDEX.
+-- DELETE, INSERT, VACUUM.
 DELETE FROM hash_split_heap WHERE keycol = 1;
-INSERT INTO hash_split_heap SELECT a/2 FROM generate_series(1, 50000) a;
+INSERT INTO hash_split_heap SELECT a/2 FROM generate_series(1, 25000) a;
 VACUUM hash_split_heap;
-REINDEX INDEX hash_split_index;
 -- Clean up.
 DROP TABLE hash_split_heap;
 -- Index on temp table.
diff --git a/src/test/regress/sql/hash_index.sql b/src/test/regress/sql/hash_index.sql
index 15a3b06d175..9af03d2bc16 100644
--- a/src/test/regress/sql/hash_index.sql
+++ b/src/test/regress/sql/hash_index.sql
@@ -156,10 +156,9 @@ SELECT h.seqno AS f20000
 -- Cause some overflow insert and splits.
 --
 CREATE TABLE hash_split_heap (keycol INT);
+INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 500) a;
 CREATE INDEX hash_split_index on hash_split_heap USING HASH (keycol);
-INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 70000) a;
-
-VACUUM FULL hash_split_heap;
+INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 5000) a;
 
 -- Let's do a backward scan.
 BEGIN;
@@ -173,12 +172,11 @@ MOVE BACKWARD ALL FROM c;
 CLOSE c;
 END;
 
--- DELETE, INSERT, REBUILD INDEX.
+-- DELETE, INSERT, VACUUM.
 DELETE FROM hash_split_heap WHERE keycol = 1;
-INSERT INTO hash_split_heap SELECT a/2 FROM generate_series(1, 50000) a;
+INSERT INTO hash_split_heap SELECT a/2 FROM generate_series(1, 25000) a;
 
 VACUUM hash_split_heap;
-REINDEX INDEX hash_split_index;
 
 -- Clean up.
 DROP TABLE hash_split_heap;
-- 
GitLab