aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2022-10-27 09:58:44 +0900
committerMichael Paquier <michael@paquier.xyz>2022-10-27 09:58:44 +0900
commit1b9cd69c5bdd1a331891f282106125e6f2524991 (patch)
treec327b4d9d933b10fb310c3bc49ab00fd81a84c1c /src
parentc591300a8f54d9711157d9a8866f022a257ec4ee (diff)
downloadpostgresql-1b9cd69c5bdd1a331891f282106125e6f2524991.tar.gz
postgresql-1b9cd69c5bdd1a331891f282106125e6f2524991.zip
Add some tests to check the SQL functions of control file
As the recent commit 05d4cbf (reverted after as a448e49) has proved, there is zero coverage for the four SQL functions that can scan the control file data: - pg_control_checkpoint() - pg_control_init() - pg_control_recovery() - pg_control_system() This commit adds a minimal coverage for these functions, checking that their execution is able to complete. This would have been enough to catch the problems introduced in the commit mentioned above. More checks could be done for each individual fields, but it is unclear whether this would be better than the other checks in place in the backend code. Per discussion with Bharath Rupireddy. Discussion: https://postgr.es/m/Y1d2FZmQmyAhPSRG@paquier.xyz
Diffstat (limited to 'src')
-rw-r--r--src/test/regress/expected/misc_functions.out25
-rw-r--r--src/test/regress/sql/misc_functions.sql6
2 files changed, 31 insertions, 0 deletions
diff --git a/src/test/regress/expected/misc_functions.out b/src/test/regress/expected/misc_functions.out
index 9f106c2a108..88bb696ded8 100644
--- a/src/test/regress/expected/misc_functions.out
+++ b/src/test/regress/expected/misc_functions.out
@@ -594,3 +594,28 @@ SELECT * FROM tenk1 a JOIN my_gen_series(1,10) g ON a.unique1 = g;
Index Cond: (unique1 = g.g)
(4 rows)
+-- Test functions for control data
+SELECT count(*) > 0 AS ok FROM pg_control_checkpoint();
+ ok
+----
+ t
+(1 row)
+
+SELECT count(*) > 0 AS ok FROM pg_control_init();
+ ok
+----
+ t
+(1 row)
+
+SELECT count(*) > 0 AS ok FROM pg_control_recovery();
+ ok
+----
+ t
+(1 row)
+
+SELECT count(*) > 0 AS ok FROM pg_control_system();
+ ok
+----
+ t
+(1 row)
+
diff --git a/src/test/regress/sql/misc_functions.sql b/src/test/regress/sql/misc_functions.sql
index 639e9b352cf..b07e9e8dbb3 100644
--- a/src/test/regress/sql/misc_functions.sql
+++ b/src/test/regress/sql/misc_functions.sql
@@ -223,3 +223,9 @@ SELECT * FROM tenk1 a JOIN my_gen_series(1,1000) g ON a.unique1 = g;
EXPLAIN (COSTS OFF)
SELECT * FROM tenk1 a JOIN my_gen_series(1,10) g ON a.unique1 = g;
+
+-- Test functions for control data
+SELECT count(*) > 0 AS ok FROM pg_control_checkpoint();
+SELECT count(*) > 0 AS ok FROM pg_control_init();
+SELECT count(*) > 0 AS ok FROM pg_control_recovery();
+SELECT count(*) > 0 AS ok FROM pg_control_system();