0002-Exercise-parallel-GIN-builds-in-regression-tests.patch
text/x-patch
Filename: 0002-Exercise-parallel-GIN-builds-in-regression-tests.patch
Type: text/x-patch
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch 0002
Subject: Exercise parallel GIN builds in regression tests
| File | + | − |
|---|---|---|
| src/test/regress/expected/jsonb.out | 2 | 1 |
| src/test/regress/expected/tsearch.out | 1 | 0 |
| src/test/regress/sql/jsonb.sql | 2 | 1 |
| src/test/regress/sql/tsearch.sql | 1 | 0 |
From 5e229098a140c5f3361988f24526e3d6687ac2d5 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@vondra.me>
Date: Fri, 16 Jan 2026 16:05:24 +0100
Subject: [PATCH 2/2] Exercise parallel GIN builds in regression tests
Modify two places creating GIN indexes in regression tests, so that the
build is parallel. This provides a basic test coverage, even if the
amounts of data are fairly small.
Reported-by: Kirill Reshke <reshkekirill@gmail.com>
Backpatch-through: 18
Discussion: https://postgr.es/m/CALdSSPjUprTj+vYp1tRKWkcLYzdy=N=O4Cn4y_HoxNSqQwBttg@mail.gmail.com
---
src/test/regress/expected/jsonb.out | 3 ++-
src/test/regress/expected/tsearch.out | 1 +
src/test/regress/sql/jsonb.sql | 3 ++-
src/test/regress/sql/tsearch.sql | 1 +
4 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/test/regress/expected/jsonb.out b/src/test/regress/expected/jsonb.out
index 93535fd7dee..4e2467852db 100644
--- a/src/test/regress/expected/jsonb.out
+++ b/src/test/regress/expected/jsonb.out
@@ -3131,6 +3131,7 @@ SELECT count(*) FROM testjsonb WHERE j @? '$.bar';
0
(1 row)
+ALTER TABLE testjsonb SET (parallel_workers = 2);
CREATE INDEX jidx ON testjsonb USING gin (j);
SET enable_seqscan = off;
SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}';
@@ -3507,7 +3508,7 @@ SELECT count(*) FROM testjsonb WHERE j = '{"pos":98, "line":371, "node":"CBA", "
--gin path opclass
DROP INDEX jidx;
-CREATE INDEX jidx ON testjsonb USING gin (j jsonb_path_ops);
+CREATE INDEX CONCURRENTLY jidx ON testjsonb USING gin (j jsonb_path_ops);
SET enable_seqscan = off;
SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}';
count
diff --git a/src/test/regress/expected/tsearch.out b/src/test/regress/expected/tsearch.out
index 9fad6c8b04b..9287c440709 100644
--- a/src/test/regress/expected/tsearch.out
+++ b/src/test/regress/expected/tsearch.out
@@ -870,6 +870,7 @@ RESET enable_seqscan;
RESET enable_indexscan;
RESET enable_bitmapscan;
DROP INDEX wowidx;
+ALTER TABLE test_tsvector SET (parallel_workers = 2);
CREATE INDEX wowidx ON test_tsvector USING gin (a);
SET enable_seqscan=OFF;
-- GIN only supports bitmapscan, so no need to test plain indexscan
diff --git a/src/test/regress/sql/jsonb.sql b/src/test/regress/sql/jsonb.sql
index 21db0db81d6..d28ed1c1e85 100644
--- a/src/test/regress/sql/jsonb.sql
+++ b/src/test/regress/sql/jsonb.sql
@@ -857,6 +857,7 @@ SELECT count(*) FROM testjsonb WHERE j @? '$';
SELECT count(*) FROM testjsonb WHERE j @? '$.public';
SELECT count(*) FROM testjsonb WHERE j @? '$.bar';
+ALTER TABLE testjsonb SET (parallel_workers = 2);
CREATE INDEX jidx ON testjsonb USING gin (j);
SET enable_seqscan = off;
@@ -945,7 +946,7 @@ SELECT count(*) FROM testjsonb WHERE j = '{"pos":98, "line":371, "node":"CBA", "
--gin path opclass
DROP INDEX jidx;
-CREATE INDEX jidx ON testjsonb USING gin (j jsonb_path_ops);
+CREATE INDEX CONCURRENTLY jidx ON testjsonb USING gin (j jsonb_path_ops);
SET enable_seqscan = off;
SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}';
diff --git a/src/test/regress/sql/tsearch.sql b/src/test/regress/sql/tsearch.sql
index fbd26cdba45..dc74aa0c889 100644
--- a/src/test/regress/sql/tsearch.sql
+++ b/src/test/regress/sql/tsearch.sql
@@ -222,6 +222,7 @@ RESET enable_bitmapscan;
DROP INDEX wowidx;
+ALTER TABLE test_tsvector SET (parallel_workers = 2);
CREATE INDEX wowidx ON test_tsvector USING gin (a);
SET enable_seqscan=OFF;
--
2.52.0