aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2024-04-06 21:49:24 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2024-04-06 21:49:24 -0400
commitbeb012b42f5c32f578661fc1b033ca25905b27d6 (patch)
treed14bbc9c295851afbc2e11e2cf33bf17e4aae756
parent90f5178211cd63ac16fb8c8b2fe43d53d2854da1 (diff)
downloadpostgresql-beb012b42f5c32f578661fc1b033ca25905b27d6.tar.gz
postgresql-beb012b42f5c32f578661fc1b033ca25905b27d6.zip
Disable parallel query in psql error-with-FETCH_COUNT test.
The buildfarm members using debug_parallel_query = regress are mostly unhappy with this test. I guess what is happening is that rows generated by a parallel worker are buffered, and might or might not get to the leader before the expected error occurs. We did not see any variability in the old version of this test because each FETCH would succeed or fail atomically, leading to a predictable number of rows emitted before failure. I don't find this to be a bug, just unspecified behavior, so let's disable parallel query for this one test case to make the results stable.
-rw-r--r--src/test/regress/expected/psql.out3
-rw-r--r--src/test/regress/sql/psql.sql3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/test/regress/expected/psql.out b/src/test/regress/expected/psql.out
index 0b8dd7abf2d..3bbe4c5f974 100644
--- a/src/test/regress/expected/psql.out
+++ b/src/test/regress/expected/psql.out
@@ -4788,6 +4788,8 @@ error code: 00000
\echo 'number of rows:' :ROW_COUNT
number of rows: 19
-- chunked results with an error after the first chunk
+-- (we must disable parallel query here, else the behavior is timing-dependent)
+set debug_parallel_query = off;
select 1/(15-unique2) from tenk1 order by unique2 limit 19;
?column?
----------
@@ -4812,6 +4814,7 @@ number of rows: 0
last error message: division by zero
\echo 'last error code:' :LAST_ERROR_SQLSTATE
last error code: 22012
+reset debug_parallel_query;
\unset FETCH_COUNT
create schema testpart;
create role regress_partitioning_role;
diff --git a/src/test/regress/sql/psql.sql b/src/test/regress/sql/psql.sql
index 33076cad79e..3b3c6f6e294 100644
--- a/src/test/regress/sql/psql.sql
+++ b/src/test/regress/sql/psql.sql
@@ -1169,12 +1169,15 @@ select unique2 from tenk1 order by unique2 limit 19;
\echo 'number of rows:' :ROW_COUNT
-- chunked results with an error after the first chunk
+-- (we must disable parallel query here, else the behavior is timing-dependent)
+set debug_parallel_query = off;
select 1/(15-unique2) from tenk1 order by unique2 limit 19;
\echo 'error:' :ERROR
\echo 'error code:' :SQLSTATE
\echo 'number of rows:' :ROW_COUNT
\echo 'last error message:' :LAST_ERROR_MESSAGE
\echo 'last error code:' :LAST_ERROR_SQLSTATE
+reset debug_parallel_query;
\unset FETCH_COUNT