From 48178d99a5f650fc759f7da0c1cb590b9f503593 Mon Sep 17 00:00:00 2001 From: shihao zhong Date: Wed, 4 Nov 2026 09:46:10 -0500 Subject: [PATCH v1 2/2] Add a test for long ParameterStatus messages Reported-by: Daniel Gustafsson Discussion: https://postgr.es/m/3538A21B-9257-42A9-A363-058DD5AE51D3@yesql.se --- src/test/regress/expected/guc.out | 9 +++++++++ src/test/regress/sql/guc.sql | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/src/test/regress/expected/guc.out b/src/test/regress/expected/guc.out index 0c18fc94e31..fc40a6621ef 100644 --- a/src/test/regress/expected/guc.out +++ b/src/test/regress/expected/guc.out @@ -52,6 +52,15 @@ LINE 1: SET search_path = null, null; ^ SET enable_seqscan = null; -- error ERROR: NULL is an invalid value for enable_seqscan +RESET search_path; +-- A long search_path is reported to the client in a ParameterStatus message, +-- which libpq must accept even when it is over 30000 bytes +SELECT length(set_config('search_path', repeat('a', 40000), false)); + length +-------- + 40000 +(1 row) + RESET search_path; -- SET LOCAL has no effect outside of a transaction SET LOCAL vacuum_cost_delay TO 50; diff --git a/src/test/regress/sql/guc.sql b/src/test/regress/sql/guc.sql index e78b4af3a3a..d4b5a3ecabf 100644 --- a/src/test/regress/sql/guc.sql +++ b/src/test/regress/sql/guc.sql @@ -21,6 +21,11 @@ SET search_path = null, null; -- syntax error SET enable_seqscan = null; -- error RESET search_path; +-- A long search_path is reported to the client in a ParameterStatus message, +-- which libpq must accept even when it is over 30000 bytes +SELECT length(set_config('search_path', repeat('a', 40000), false)); +RESET search_path; + -- SET LOCAL has no effect outside of a transaction SET LOCAL vacuum_cost_delay TO 50; SHOW vacuum_cost_delay; -- 2.37.1 (Apple Git-137.1)