Skip to content
Snippets Groups Projects
Commit 14a254fb authored by Noah Misch's avatar Noah Misch
Browse files

Test parallel query essentials in "make check".

Clément Prévost and Peter Eisentraut
parent c588df99
No related branches found
No related tags found
No related merge requests found
--
-- 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;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment