From 78c8a3d5e3fe2eda2b2c8975127cf1c026f879ba Mon Sep 17 00:00:00 2001 From: Rene Cannao Date: Sun, 5 Apr 2026 07:15:33 +0000 Subject: [PATCH] Fail fast in purge-trigger setup if connection or stmt fails Address review feedback: instead of silently continuing when the purge-trigger reconnect/prepare/deallocate fails, return false immediately with a diagnostic message. --- ...est_5352_prepared_statement_refcount_race-t.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/test/tap/tests/pgsql-reg_test_5352_prepared_statement_refcount_race-t.cpp b/test/tap/tests/pgsql-reg_test_5352_prepared_statement_refcount_race-t.cpp index 7f28743a4..9a53b058d 100644 --- a/test/tap/tests/pgsql-reg_test_5352_prepared_statement_refcount_race-t.cpp +++ b/test/tap/tests/pgsql-reg_test_5352_prepared_statement_refcount_race-t.cpp @@ -379,9 +379,17 @@ bool test_concurrent_prepared_statements() { // Open a new connection and trigger a refcount change so the purge fires backend_conn = createNewConnection(BACKEND); - if (backend_conn) { - execute_prepared_stmt(backend_conn, "purge_trigger", "SELECT 'trigger_purge'", {}); - close_prepared_stmt(backend_conn, "purge_trigger"); + if (!backend_conn) { + diag("FAIL: Could not create purge-trigger backend connection"); + return false; + } + if (!execute_prepared_stmt(backend_conn, "purge_trigger", "SELECT 'trigger_purge'", {})) { + diag("FAIL: Could not execute purge-trigger prepared statement"); + return false; + } + if (!close_prepared_stmt(backend_conn, "purge_trigger")) { + diag("FAIL: Could not deallocate purge-trigger prepared statement"); + return false; } // Check how many statements remain after forcing a purge