postgres.git / summary / log / commit / refs

commit    103512cee95b5bd0feb83c225eeff61c58874413
Author:   Robert Haas <rhaas@postgresql.org>
Date:     Fri Jun 17 12:35:47 2016 +0000

    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; [parent: 4c56f3269a84]