summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund2023-02-11 17:52:36 +0000
committerAndres Freund2023-02-11 18:03:04 +0000
commit9c83bbcf7ef6b4236d117b25d8a754483e6488db (patch)
tree79e91792ac32eb2c5d81412766827678d59d78ae
parenta9c70b46dbe152e094f137f7e6ba9cd3a638ee25 (diff)
Create regress_tblspc in test_setup
An upcoming test needs to use a tablespace as part of its test. Historically, we wanted tablespace creation be done in a dedicated file, so it's easy to disable when testing replication. But that is not necessary anymore, due to allow_in_place_tablespaces. Create regress_tblspace tablespace in test_setup. Move the tablespace test to the end of the parallel schedule, so other tests can use it. Author: Melanie Plageman <[email protected]> Reviewed-by: Andres Freund <[email protected]> Discussion: https://postgr.es/m/[email protected]
-rw-r--r--src/test/regress/expected/tablespace.out4
-rw-r--r--src/test/regress/expected/test_setup.out3
-rw-r--r--src/test/regress/parallel_schedule9
-rw-r--r--src/test/regress/sql/tablespace.sql4
-rw-r--r--src/test/regress/sql/test_setup.sql4
5 files changed, 13 insertions, 11 deletions
diff --git a/src/test/regress/expected/tablespace.out b/src/test/regress/expected/tablespace.out
index c52cf1cfcf9..9aabb853497 100644
--- a/src/test/regress/expected/tablespace.out
+++ b/src/test/regress/expected/tablespace.out
@@ -22,8 +22,6 @@ SELECT spcoptions FROM pg_tablespace WHERE spcname = 'regress_tblspacewith';
-- drop the tablespace so we can re-use the location
DROP TABLESPACE regress_tblspacewith;
--- create a tablespace we can use
-CREATE TABLESPACE regress_tblspace LOCATION '';
-- This returns a relative path as of an effect of allow_in_place_tablespaces,
-- masking the tablespace OID used in the path name.
SELECT regexp_replace(pg_tablespace_location(oid), '(pg_tblspc)/(\d+)', '\1/NNN')
@@ -331,7 +329,7 @@ CREATE TABLE testschema.part1 PARTITION OF testschema.part FOR VALUES IN (1);
CREATE INDEX part_a_idx ON testschema.part (a) TABLESPACE regress_tblspace;
CREATE TABLE testschema.part2 PARTITION OF testschema.part FOR VALUES IN (2);
SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c
- where c.reltablespace = t.oid AND c.relname LIKE 'part%_idx';
+ where c.reltablespace = t.oid AND c.relname LIKE 'part%_idx' ORDER BY relname;
relname | spcname
-------------+------------------
part1_a_idx | regress_tblspace
diff --git a/src/test/regress/expected/test_setup.out b/src/test/regress/expected/test_setup.out
index 391b36d1318..4f54fe20ec7 100644
--- a/src/test/regress/expected/test_setup.out
+++ b/src/test/regress/expected/test_setup.out
@@ -18,6 +18,9 @@ SET synchronous_commit = on;
-- and most of the core regression tests still expect that.
--
GRANT ALL ON SCHEMA public TO public;
+-- Create a tablespace we can use in tests.
+SET allow_in_place_tablespaces = true;
+CREATE TABLESPACE regress_tblspace LOCATION '';
--
-- These tables have traditionally been referenced by many tests,
-- so create and populate them. Insert only non-error values here.
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index a930dfe48cb..15e015b3d64 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -11,11 +11,6 @@
# required setup steps
test: test_setup
-# run tablespace by itself, and early, because it forces a checkpoint;
-# we'd prefer not to have checkpoints later in the tests because that
-# interferes with crash-recovery testing.
-test: tablespace
-
# ----------
# The first group of parallel tests
# ----------
@@ -132,3 +127,7 @@ test: event_trigger oidjoins
# this test also uses event triggers, so likewise run it by itself
test: fast_default
+
+# run tablespace test at the end because it drops the tablespace created during
+# setup that other tests may use.
+test: tablespace
diff --git a/src/test/regress/sql/tablespace.sql b/src/test/regress/sql/tablespace.sql
index 21db433f2a8..d274d9615ef 100644
--- a/src/test/regress/sql/tablespace.sql
+++ b/src/test/regress/sql/tablespace.sql
@@ -20,8 +20,6 @@ SELECT spcoptions FROM pg_tablespace WHERE spcname = 'regress_tblspacewith';
-- drop the tablespace so we can re-use the location
DROP TABLESPACE regress_tblspacewith;
--- create a tablespace we can use
-CREATE TABLESPACE regress_tblspace LOCATION '';
-- This returns a relative path as of an effect of allow_in_place_tablespaces,
-- masking the tablespace OID used in the path name.
SELECT regexp_replace(pg_tablespace_location(oid), '(pg_tblspc)/(\d+)', '\1/NNN')
@@ -225,7 +223,7 @@ CREATE TABLE testschema.part1 PARTITION OF testschema.part FOR VALUES IN (1);
CREATE INDEX part_a_idx ON testschema.part (a) TABLESPACE regress_tblspace;
CREATE TABLE testschema.part2 PARTITION OF testschema.part FOR VALUES IN (2);
SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c
- where c.reltablespace = t.oid AND c.relname LIKE 'part%_idx';
+ where c.reltablespace = t.oid AND c.relname LIKE 'part%_idx' ORDER BY relname;
\d testschema.part
\d+ testschema.part
\d testschema.part1
diff --git a/src/test/regress/sql/test_setup.sql b/src/test/regress/sql/test_setup.sql
index 02c0c84c3ad..8439b38d21b 100644
--- a/src/test/regress/sql/test_setup.sql
+++ b/src/test/regress/sql/test_setup.sql
@@ -23,6 +23,10 @@ SET synchronous_commit = on;
--
GRANT ALL ON SCHEMA public TO public;
+-- Create a tablespace we can use in tests.
+SET allow_in_place_tablespaces = true;
+CREATE TABLESPACE regress_tblspace LOCATION '';
+
--
-- These tables have traditionally been referenced by many tests,
-- so create and populate them. Insert only non-error values here.