current_schema() gets called in the recently-added regression test from
c5660e0, and can be used in a parallel context, causing its call to fail
when creating a temporary schema.
Per buildfarm members crake and lapwing.
Discussion: https://postgr.es/m/
20190118005949[email protected]
ERROR: cannot PREPARE a transaction that has operated on temporary tables
-- Corner case: current_schema may create a temporary schema if namespace
-- creation is pending, so check after that. First reset the connection
--- to remove the temporary namespace.
+-- to remove the temporary namespace, and make sure that non-parallel plans
+-- are used.
\c -
+SET max_parallel_workers = 0;
+SET max_parallel_workers_per_gather = 0;
SET search_path TO 'pg_temp';
BEGIN;
SELECT current_schema() ~ 'pg_temp' AS is_temp_schema;
-- Corner case: current_schema may create a temporary schema if namespace
-- creation is pending, so check after that. First reset the connection
--- to remove the temporary namespace.
+-- to remove the temporary namespace, and make sure that non-parallel plans
+-- are used.
\c -
+SET max_parallel_workers = 0;
+SET max_parallel_workers_per_gather = 0;
SET search_path TO 'pg_temp';
BEGIN;
SELECT current_schema() ~ 'pg_temp' AS is_temp_schema;