From 12636b9d33a6934985d226f556d88bac341a5715 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Fri, 18 Oct 2024 14:22:17 +0900 Subject: [PATCH v2] 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: Fujii Masao Discussion: https://postgr.es/m/TY2PR01MB3628A85689649BABC9A1C6C3C1782@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..06f788ea38 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -232,7 +232,7 @@ void ecpg_log(const char *format,...) { va_list ap; - struct sqlca_t *sqlca = ECPGget_sqlca(); + struct sqlca_t *sqlca; const char *intl_format; int bufsize; char *fmt; @@ -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