Commit 14a254fb authored by Noah Misch's avatar Noah Misch

Test parallel query essentials in "make check".

Clément Prévost and Peter Eisentraut
parent c588df99
--
-- 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 ...@@ -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 ...@@ -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
......
--
-- 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;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment