From 3daac78d983f7be1c824ce625c8e92f42ebf41fe Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 18 Jan 2019 10:51:47 +0900 Subject: [PATCH] Enforce non-parallel plan when calling current_schema() in newly-added test 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 | 5 ++++- src/test/regress/sql/temp.sql | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/test/regress/expected/temp.out b/src/test/regress/expected/temp.out index 860f58a3bf..d6d8f25141 100644 --- a/src/test/regress/expected/temp.out +++ b/src/test/regress/expected/temp.out @@ -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; diff --git a/src/test/regress/sql/temp.sql b/src/test/regress/sql/temp.sql index e634ddb9ca..17366a33a9 100644 --- a/src/test/regress/sql/temp.sql +++ b/src/test/regress/sql/temp.sql @@ -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;