On 2024/10/19 2:43, Tom Lane wrote:
Fujii Masao <masao.fu...@oss.nttdata.com> writes:
I've attached the latest version of the patch, now including the commit log.
Unless there are any objections, I'll proceed with committing it.

LGTM.  Maybe move down the sqlca variable declaration, so that the
declarations still match the order in which the variables are
initialized?  That's just cosmetic of course.

Thanks for the review! I've updated the patch accordingly, i.e.,
moved the declaration of the sqlca variable right after fmt.
The v3 patch is attached.

Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION
From 5a0ea1d78cb14ad90d64deb8a521d5627854d850 Mon Sep 17 00:00:00 2001
From: Fujii Masao <fu...@postgresql.org>
Date: Fri, 18 Oct 2024 14:22:17 +0900
Subject: [PATCH v3] ecpg: Refactor ecpg_log() to skip unnecessary calls to
 ECPGget_sqlca().

Previously, ecpg_log() always called ECPGget_sqlca() to retrieve sqlca,
even though it was only needed for debug logging. This commit updates
ecpg_log() to call ECPGget_sqlca() only when debug logging is enabled.

Author: Yuto Sasaki
Reviewed-by: Tom Lane, Fujii Masao
Discussion: 
https://postgr.es/m/ty2pr01mb3628a85689649babc9a1c6c3c1...@ty2pr01mb3628.jpnprd01.prod.outlook.com
---
 src/interfaces/ecpg/ecpglib/misc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/interfaces/ecpg/ecpglib/misc.c 
b/src/interfaces/ecpg/ecpglib/misc.c
index 2ae989e3e5..8b38c3eccf 100644
--- a/src/interfaces/ecpg/ecpglib/misc.c
+++ b/src/interfaces/ecpg/ecpglib/misc.c
@@ -232,10 +232,10 @@ void
 ecpg_log(const char *format,...)
 {
        va_list         ap;
-       struct sqlca_t *sqlca = ECPGget_sqlca();
        const char *intl_format;
        int                     bufsize;
        char       *fmt;
+       struct sqlca_t *sqlca;
 
        /*
         * For performance reasons, inspect simple_debug without taking the 
mutex.
@@ -262,6 +262,8 @@ ecpg_log(const char *format,...)
        else
                snprintf(fmt, bufsize, "[%d]: %s", (int) getpid(), intl_format);
 
+       sqlca = ECPGget_sqlca();
+
        pthread_mutex_lock(&debug_mutex);
 
        /* Now that we hold the mutex, recheck simple_debug */
-- 
2.46.2

Reply via email to