]> granicus.if.org Git - postgresql/blob - src/test/regress/sql/select_parallel.sql
Remove PID from 'parallel worker' context message.
[postgresql] / src / test / regress / sql / select_parallel.sql
1 --
2 -- PARALLEL
3 --
4
5 create or replace function parallel_restricted(int) returns int as
6   $$begin return $1; end$$ language plpgsql parallel restricted;
7
8 -- Serializable isolation would disable parallel query, so explicitly use an
9 -- arbitrary other level.
10 begin isolation level repeatable read;
11
12 -- setup parallel test
13 set parallel_setup_cost=0;
14 set parallel_tuple_cost=0;
15 set max_parallel_workers_per_gather=4;
16
17 explain (costs off)
18   select count(*) from a_star;
19 select count(*) from a_star;
20
21 -- test that parallel_restricted function doesn't run in worker
22 alter table tenk1 set (parallel_workers = 4);
23 explain (verbose, costs off)
24 select parallel_restricted(unique1) from tenk1
25   where stringu1 = 'GRAAAA' order by 1;
26
27 set force_parallel_mode=1;
28
29 explain (costs off)
30   select stringu1::int2 from tenk1 where unique1 = 1;
31
32 do $$begin
33   -- Provoke error, possibly in worker.  If this error happens to occur in
34   -- the worker, there will be a CONTEXT line which must be hidden.
35   perform stringu1::int2 from tenk1 where unique1 = 1;
36   exception
37         when others then
38                 raise 'SQLERRM: %', sqlerrm;
39 end$$;
40
41 rollback;