0002-Restrict-GIN-test-with-injection-points-to-run-on-lo.patch
text/x-diff
Filename: 0002-Restrict-GIN-test-with-injection-points-to-run-on-lo.patch
Type: text/x-diff
Part: 1
Message:
Re: Weird test mixup
Patch
Format: format-patch
Series: patch 0002
Subject: Restrict GIN test with injection points to run on local database
| File | + | − |
|---|---|---|
| src/test/modules/gin/expected/gin_incomplete_splits.out | 27 | 0 |
| src/test/modules/gin/sql/gin_incomplete_splits.sql | 8 | 0 |
From f0b6e81a8652cbfe8733c34bcd035997392011b8 Mon Sep 17 00:00:00 2001
From: Michael Paquier <michael@paquier.xyz>
Date: Fri, 15 Mar 2024 16:26:52 +0900
Subject: [PATCH 2/2] Restrict GIN test with injection points to run on local
database
It is possible that this test conflicts with parallel installcheck
activities. While on it, add a forgotten detach to the GIN test to make
it repeatable.
---
.../gin/expected/gin_incomplete_splits.out | 27 +++++++++++++++++++
.../modules/gin/sql/gin_incomplete_splits.sql | 8 ++++++
2 files changed, 35 insertions(+)
diff --git a/src/test/modules/gin/expected/gin_incomplete_splits.out b/src/test/modules/gin/expected/gin_incomplete_splits.out
index 9a60f8c128..7803dd7a90 100644
--- a/src/test/modules/gin/expected/gin_incomplete_splits.out
+++ b/src/test/modules/gin/expected/gin_incomplete_splits.out
@@ -14,7 +14,16 @@
create extension injection_points;
-- Use the index for all the queries
set enable_seqscan=off;
+-- Limit all the injection points of this script to run on the current
+-- database, for safety under concurrent activity.
+SELECT current_database() AS datname \gset
-- Print a NOTICE whenever an incomplete split gets fixed
+SELECT injection_points_condition('gin-finish-incomplete-split', :'datname');
+ injection_points_condition
+----------------------------
+
+(1 row)
+
SELECT injection_points_attach('gin-finish-incomplete-split', 'notice');
injection_points_attach
-------------------------
@@ -109,6 +118,12 @@ select verify(:next_i);
--
-- Test incomplete leaf split
--
+SELECT injection_points_condition('gin-leave-leaf-split-incomplete', :'datname');
+ injection_points_condition
+----------------------------
+
+(1 row)
+
SELECT injection_points_attach('gin-leave-leaf-split-incomplete', 'error');
injection_points_attach
-------------------------
@@ -145,6 +160,12 @@ select verify(:next_i);
--
-- Test incomplete internal page split
--
+SELECT injection_points_condition('gin-leave-internal-split-incomplete', :'datname');
+ injection_points_condition
+----------------------------
+
+(1 row)
+
SELECT injection_points_attach('gin-leave-internal-split-incomplete', 'error');
injection_points_attach
-------------------------
@@ -178,3 +199,9 @@ select verify(:next_i);
t
(1 row)
+SELECT injection_points_detach('gin-finish-incomplete-split');
+ injection_points_detach
+-------------------------
+
+(1 row)
+
diff --git a/src/test/modules/gin/sql/gin_incomplete_splits.sql b/src/test/modules/gin/sql/gin_incomplete_splits.sql
index 4e180b2519..5b4521edd9 100644
--- a/src/test/modules/gin/sql/gin_incomplete_splits.sql
+++ b/src/test/modules/gin/sql/gin_incomplete_splits.sql
@@ -17,7 +17,12 @@ create extension injection_points;
-- Use the index for all the queries
set enable_seqscan=off;
+-- Limit all the injection points of this script to run on the current
+-- database, for safety under concurrent activity.
+SELECT current_database() AS datname \gset
+
-- Print a NOTICE whenever an incomplete split gets fixed
+SELECT injection_points_condition('gin-finish-incomplete-split', :'datname');
SELECT injection_points_attach('gin-finish-incomplete-split', 'notice');
--
@@ -111,6 +116,7 @@ select verify(:next_i);
--
-- Test incomplete leaf split
--
+SELECT injection_points_condition('gin-leave-leaf-split-incomplete', :'datname');
SELECT injection_points_attach('gin-leave-leaf-split-incomplete', 'error');
select insert_until_fail(:next_i) as next_i
\gset
@@ -129,6 +135,7 @@ select verify(:next_i);
--
-- Test incomplete internal page split
--
+SELECT injection_points_condition('gin-leave-internal-split-incomplete', :'datname');
SELECT injection_points_attach('gin-leave-internal-split-incomplete', 'error');
select insert_until_fail(:next_i, 100) as next_i
\gset
@@ -142,3 +149,4 @@ select insert_n(:next_i, 10) as next_i
\gset
-- Verify that a scan still works
select verify(:next_i);
+SELECT injection_points_detach('gin-finish-incomplete-split');
--
2.43.0