]> granicus.if.org Git - postgresql/commitdiff
Enforce non-parallel plan when calling current_schema() in newly-added test
authorMichael Paquier <michael@paquier.xyz>
Fri, 18 Jan 2019 01:51:39 +0000 (10:51 +0900)
committerMichael Paquier <michael@paquier.xyz>
Fri, 18 Jan 2019 01:51:39 +0000 (10:51 +0900)
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.GD1883@paquier.xyz

src/test/regress/expected/temp.out
src/test/regress/sql/temp.sql

index 860f58a3bf4d2b608d2e5c23b75966ce698d6b6a..d6d8f25141e1a2bb75eebf9b16d5c745ca9263bc 100644 (file)
@@ -360,8 +360,11 @@ prepare transaction 'twophase_tab';
 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;
index e634ddb9ca4202b187fd22604c69cb252f34dd04..17366a33a919b40ec99cf973dd526455d00289a2 100644 (file)
@@ -274,8 +274,11 @@ prepare transaction 'twophase_tab';
 
 -- 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;