Run select_parallel test by itself

Remove the plpgsql wrapping that hides the context.  So now the test
will fail if the work doesn't actually happen in a parallel worker.  Run
the test in its own test group to ensure it won't run out of resources
for that.
This commit is contained in:
Peter Eisentraut 2016-08-22 12:00:00 -04:00
parent 234309fa87
commit f9472d7256
3 changed files with 10 additions and 19 deletions

View File

@ -111,14 +111,8 @@ explain (costs off)
Index Cond: (unique1 = 1)
(5 rows)
do $$begin
-- Provoke error, possibly in worker. If this error happens to occur in
-- the worker, there will be a CONTEXT line which must be hidden.
perform stringu1::int2 from tenk1 where unique1 = 1;
exception
when others then
raise 'SQLERRM: %', sqlerrm;
end$$;
ERROR: SQLERRM: invalid input syntax for integer: "BAAAAA"
CONTEXT: PL/pgSQL function inline_code_block line 7 at RAISE
-- provoke error in worker
select stringu1::int2 from tenk1 where unique1 = 1;
ERROR: invalid input syntax for integer: "BAAAAA"
CONTEXT: parallel worker
rollback;

View File

@ -92,7 +92,10 @@ test: brin gin gist spgist privileges init_privs security_label collate matview
test: alter_generic alter_operator misc psql async dbsize misc_functions
# rules cannot run concurrently with any test that creates a view
test: rules psql_crosstab select_parallel amutils
test: rules psql_crosstab amutils
# run by itself so it can run parallel workers
test: select_parallel
# ----------
# Another group of parallel tests

View File

@ -44,13 +44,7 @@ set force_parallel_mode=1;
explain (costs off)
select stringu1::int2 from tenk1 where unique1 = 1;
do $$begin
-- Provoke error, possibly in worker. If this error happens to occur in
-- the worker, there will be a CONTEXT line which must be hidden.
perform stringu1::int2 from tenk1 where unique1 = 1;
exception
when others then
raise 'SQLERRM: %', sqlerrm;
end$$;
-- provoke error in worker
select stringu1::int2 from tenk1 where unique1 = 1;
rollback;