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: Alvaro Herrera, Tom Lane, Fujii Masao Discussion: https://postgr.es/m/TY2PR01MB3628A85689649BABC9A1C6C3C1782@TY2PR01MB3628.jpnprd01.prod.outlook.com
This commit is contained in:
parent
53af9491a0
commit
7c4d3fe272
@ -232,10 +232,10 @@ void
|
|||||||
ecpg_log(const char *format,...)
|
ecpg_log(const char *format,...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
struct sqlca_t *sqlca = ECPGget_sqlca();
|
|
||||||
const char *intl_format;
|
const char *intl_format;
|
||||||
int bufsize;
|
int bufsize;
|
||||||
char *fmt;
|
char *fmt;
|
||||||
|
struct sqlca_t *sqlca;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For performance reasons, inspect simple_debug without taking the mutex.
|
* For performance reasons, inspect simple_debug without taking the mutex.
|
||||||
@ -262,6 +262,8 @@ ecpg_log(const char *format,...)
|
|||||||
else
|
else
|
||||||
snprintf(fmt, bufsize, "[%d]: %s", (int) getpid(), intl_format);
|
snprintf(fmt, bufsize, "[%d]: %s", (int) getpid(), intl_format);
|
||||||
|
|
||||||
|
sqlca = ECPGget_sqlca();
|
||||||
|
|
||||||
pthread_mutex_lock(&debug_mutex);
|
pthread_mutex_lock(&debug_mutex);
|
||||||
|
|
||||||
/* Now that we hold the mutex, recheck simple_debug */
|
/* Now that we hold the mutex, recheck simple_debug */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user