Test parallel query essentials in "make check".
Clément Prévost and Peter Eisentraut
This commit is contained in:
parent
c588df9971
commit
14a254fb52
54
src/test/regress/expected/select_parallel.out
Normal file
54
src/test/regress/expected/select_parallel.out
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
--
|
||||||
|
-- PARALLEL
|
||||||
|
--
|
||||||
|
-- Serializable isolation would disable parallel query, so explicitly use an
|
||||||
|
-- arbitrary other level.
|
||||||
|
begin isolation level repeatable read;
|
||||||
|
-- setup parallel test
|
||||||
|
set parallel_setup_cost=0;
|
||||||
|
set parallel_tuple_cost=0;
|
||||||
|
explain (costs off)
|
||||||
|
select count(*) from a_star;
|
||||||
|
QUERY PLAN
|
||||||
|
-----------------------------------------------------
|
||||||
|
Finalize Aggregate
|
||||||
|
-> Gather
|
||||||
|
Workers Planned: 1
|
||||||
|
-> Partial Aggregate
|
||||||
|
-> Append
|
||||||
|
-> Parallel Seq Scan on a_star
|
||||||
|
-> Parallel Seq Scan on b_star
|
||||||
|
-> Parallel Seq Scan on c_star
|
||||||
|
-> Parallel Seq Scan on d_star
|
||||||
|
-> Parallel Seq Scan on e_star
|
||||||
|
-> Parallel Seq Scan on f_star
|
||||||
|
(11 rows)
|
||||||
|
|
||||||
|
select count(*) from a_star;
|
||||||
|
count
|
||||||
|
-------
|
||||||
|
50
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
set force_parallel_mode=1;
|
||||||
|
explain (costs off)
|
||||||
|
select stringu1::int2 from tenk1 where unique1 = 1;
|
||||||
|
QUERY PLAN
|
||||||
|
-----------------------------------------------
|
||||||
|
Gather
|
||||||
|
Workers Planned: 1
|
||||||
|
Single Copy: true
|
||||||
|
-> Index Scan using tenk1_unique1 on tenk1
|
||||||
|
Index Cond: (unique1 = 1)
|
||||||
|
(5 rows)
|
||||||
|
|
||||||
|
do $$begin
|
||||||
|
-- Provoke error in worker. The original message CONTEXT contains a worker
|
||||||
|
-- PID that must be hidden in the test output. PL/pgSQL conveniently
|
||||||
|
-- substitutes its own CONTEXT.
|
||||||
|
select stringu1::int2 from tenk1 where unique1 = 1;
|
||||||
|
end$$;
|
||||||
|
ERROR: invalid input syntax for integer: "BAAAAA"
|
||||||
|
CONTEXT: SQL statement "select stringu1::int2 from tenk1 where unique1 = 1"
|
||||||
|
PL/pgSQL function inline_code_block line 5 at SQL statement
|
||||||
|
rollback;
|
@ -92,7 +92,7 @@ test: brin gin gist spgist privileges init_privs security_label collate matview
|
|||||||
test: alter_generic alter_operator misc psql async dbsize misc_functions
|
test: alter_generic alter_operator misc psql async dbsize misc_functions
|
||||||
|
|
||||||
# rules cannot run concurrently with any test that creates a view
|
# rules cannot run concurrently with any test that creates a view
|
||||||
test: rules psql_crosstab
|
test: rules psql_crosstab select_parallel
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
# Another group of parallel tests
|
# Another group of parallel tests
|
||||||
|
@ -125,6 +125,7 @@ test: dbsize
|
|||||||
test: misc_functions
|
test: misc_functions
|
||||||
test: rules
|
test: rules
|
||||||
test: psql_crosstab
|
test: psql_crosstab
|
||||||
|
test: select_parallel
|
||||||
test: select_views
|
test: select_views
|
||||||
test: portals_p2
|
test: portals_p2
|
||||||
test: foreign_key
|
test: foreign_key
|
||||||
|
29
src/test/regress/sql/select_parallel.sql
Normal file
29
src/test/regress/sql/select_parallel.sql
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
--
|
||||||
|
-- PARALLEL
|
||||||
|
--
|
||||||
|
|
||||||
|
-- Serializable isolation would disable parallel query, so explicitly use an
|
||||||
|
-- arbitrary other level.
|
||||||
|
begin isolation level repeatable read;
|
||||||
|
|
||||||
|
-- setup parallel test
|
||||||
|
set parallel_setup_cost=0;
|
||||||
|
set parallel_tuple_cost=0;
|
||||||
|
|
||||||
|
explain (costs off)
|
||||||
|
select count(*) from a_star;
|
||||||
|
select count(*) from a_star;
|
||||||
|
|
||||||
|
set force_parallel_mode=1;
|
||||||
|
|
||||||
|
explain (costs off)
|
||||||
|
select stringu1::int2 from tenk1 where unique1 = 1;
|
||||||
|
|
||||||
|
do $$begin
|
||||||
|
-- Provoke error in worker. The original message CONTEXT contains a worker
|
||||||
|
-- PID that must be hidden in the test output. PL/pgSQL conveniently
|
||||||
|
-- substitutes its own CONTEXT.
|
||||||
|
select stringu1::int2 from tenk1 where unique1 = 1;
|
||||||
|
end$$;
|
||||||
|
|
||||||
|
rollback;
|
Loading…
x
Reference in New Issue
Block a user