From 103512cee95b5bd0feb83c225eeff61c58874413 Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Fri, 17 Jun 2016 08:35:47 -0400
Subject: [PATCH] Attempt to fix broken regression test.

In commit 8c1d9d56e9a00680a035b8b333a98ea16b121eb7, I attempted to
add a regression test that would fail if the target list was pushed
into a parallel worker, but due to brain fade on my part, it just
randomly fails whether anything bad or not, because the error check
inside the parallel_restricted() function tests whether there is
*any process in the system* that is not connected to a client, not
whether the process running the query is not connected to a client.

A little experimentation has left me pessimistic about the
prospects of doing better here in a short amount of time, so let's
just fall back to checking that the plan is as we expect and leave
the execution-time check for another day.
---
 src/test/regress/expected/select_parallel.out | 31 ++-----------------
 src/test/regress/sql/select_parallel.sql      | 12 ++-----
 2 files changed, 4 insertions(+), 39 deletions(-)

diff --git a/src/test/regress/expected/select_parallel.out b/src/test/regress/expected/select_parallel.out
index b51c20c449d..58ab425add8 100644
--- a/src/test/regress/expected/select_parallel.out
+++ b/src/test/regress/expected/select_parallel.out
@@ -1,14 +1,8 @@
 --
 -- PARALLEL
 --
-create or replace function parallel_restricted(int) returns int as $$
-begin
-  perform * from pg_stat_activity where client_port is null;
-  if (found) then
-    raise 'parallel restricted function run in worker';
-  end if;
-  return $1;
-end$$ language plpgsql parallel restricted;
+create or replace function parallel_restricted(int) returns int as
+  $$begin return $1; end$$ language plpgsql parallel restricted;
 -- Serializable isolation would disable parallel query, so explicitly use an
 -- arbitrary other level.
 begin isolation level repeatable read;
@@ -57,27 +51,6 @@ select parallel_restricted(unique1) from tenk1
                Filter: (tenk1.stringu1 = 'GRAAAA'::name)
 (9 rows)
 
-select parallel_restricted(unique1) from tenk1
-  where stringu1 = 'GRAAAA' order by 1;
- parallel_restricted 
----------------------
-                 448
-                1124
-                1800
-                2476
-                3152
-                3828
-                4504
-                5180
-                5856
-                6532
-                7208
-                7884
-                8560
-                9236
-                9912
-(15 rows)
-
 set force_parallel_mode=1;
 explain (costs off)
   select stringu1::int2 from tenk1 where unique1 = 1;
diff --git a/src/test/regress/sql/select_parallel.sql b/src/test/regress/sql/select_parallel.sql
index 22dfb184c8e..bb02ee0019f 100644
--- a/src/test/regress/sql/select_parallel.sql
+++ b/src/test/regress/sql/select_parallel.sql
@@ -2,14 +2,8 @@
 -- PARALLEL
 --
 
-create or replace function parallel_restricted(int) returns int as $$
-begin
-  perform * from pg_stat_activity where client_port is null;
-  if (found) then
-    raise 'parallel restricted function run in worker';
-  end if;
-  return $1;
-end$$ language plpgsql parallel restricted;
+create or replace function parallel_restricted(int) returns int as
+  $$begin return $1; end$$ language plpgsql parallel restricted;
 
 -- Serializable isolation would disable parallel query, so explicitly use an
 -- arbitrary other level.
@@ -29,8 +23,6 @@ alter table tenk1 set (parallel_workers = 4);
 explain (verbose, costs off)
 select parallel_restricted(unique1) from tenk1
   where stringu1 = 'GRAAAA' order by 1;
-select parallel_restricted(unique1) from tenk1
-  where stringu1 = 'GRAAAA' order by 1;
 
 set force_parallel_mode=1;
 
-- 
GitLab