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: Alvaro Herrera, Tom Lane, Fujii Masao
Discussion: https://postgr.es/m/TY2PR01MB3628A85689649BABC9A1C6C3C1782@TY2PR01MB3628.jpnprd01.prod.outlook.com
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.
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 */