1
0
forked from metin2/server

Applied changes on the db executable. Removed old logging functions. Various global changes.

This commit is contained in:
2024-01-07 22:05:51 +02:00
parent 2f829ae2dc
commit feac4c0598
46 changed files with 748 additions and 1299 deletions

View File

@ -44,7 +44,7 @@ void CAsyncSQL::Destroy()
{
if (m_hDB.host)
{
sys_log(0, "AsyncSQL: closing mysql connection.");
SPDLOG_INFO("AsyncSQL: closing mysql connection.");
mysql_close(&m_hDB);
m_hDB.host = NULL;
}
@ -91,23 +91,23 @@ bool CAsyncSQL::QueryLocaleSet()
{
if (0 == m_stLocale.length())
{
sys_err("m_stLocale == 0");
SPDLOG_TRACE("m_stLocale == 0");
return true;
}
else if (m_stLocale == "ascii")
{
sys_err("m_stLocale == ascii");
SPDLOG_TRACE("m_stLocale == ascii");
return true;
}
if (mysql_set_character_set(&m_hDB, m_stLocale.c_str()))
{
sys_err("cannot set locale %s by 'mysql_set_character_set', errno %u %s", m_stLocale.c_str(), mysql_errno(&m_hDB) , mysql_error(&m_hDB));
SPDLOG_ERROR("cannot set locale {} by 'mysql_set_character_set', errno {} {}", m_stLocale, mysql_errno(&m_hDB) , mysql_error(&m_hDB));
return false;
}
sys_log(0, "\t--mysql_set_character_set(%s)", m_stLocale.c_str());
SPDLOG_TRACE("\t--mysql_set_character_set({})", m_stLocale);
return true;
}
@ -116,7 +116,7 @@ bool CAsyncSQL::Connect()
{
if (0 == mysql_init(&m_hDB))
{
fprintf(stderr, "mysql_init failed\n");
SPDLOG_CRITICAL("mysql_init failed");
return false;
}
@ -128,22 +128,22 @@ bool CAsyncSQL::Connect()
//mysql_options(&m_hDB, MYSQL_SET_CHARSET_DIR , "/usr/local/share/mysql");
if (mysql_options(&m_hDB, MYSQL_SET_CHARSET_NAME, m_stLocale.c_str()) != 0)
{
fprintf(stderr, "mysql_option failed : MYSQL_SET_CHARSET_NAME %s ", mysql_error(&m_hDB));
SPDLOG_ERROR("Setting MYSQL_SET_CHARSET_NAME via mysql_options failed: {}", mysql_error(&m_hDB));
}
}
if (!mysql_real_connect(&m_hDB, m_stHost.c_str(), m_stUser.c_str(), m_stPassword.c_str(), m_stDB.c_str(), m_iPort, NULL, CLIENT_MULTI_STATEMENTS))
{
fprintf(stderr, "mysql_real_connect: %s\n", mysql_error(&m_hDB));
SPDLOG_ERROR("MySQL connection failed: {}", mysql_error(&m_hDB));
return false;
}
bool reconnect = true;
if (0 != mysql_options(&m_hDB, MYSQL_OPT_RECONNECT, &reconnect))
fprintf(stderr, "mysql_option: %s\n", mysql_error(&m_hDB));
SPDLOG_ERROR("Setting MYSQL_OPT_RECONNECT via mysql_options failed: {}", mysql_error(&m_hDB));
fprintf(stdout, "AsyncSQL: connected to %s (reconnect %d)\n", m_stHost.c_str(), m_hDB.reconnect);
SPDLOG_INFO("AsyncSQL: connected to {} (reconnect {})", m_stHost, m_hDB.reconnect);
// db cache<68><65> common db<64><62> LOCALE <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD><EFBFBD><EFBFBD> locale<6C><65> <20>˾ƿ<CBBE><C6BF><EFBFBD>, <20><><EFBFBD><EFBFBD> character set<65><74> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Connection<6F><6E> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> locale<6C><65> <20>𸣱<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> character set<65><74> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ұ<EFBFBD><D2B1>ϰ<EFBFBD>,
@ -178,7 +178,7 @@ bool CAsyncSQL::Setup(const char * c_pszHost, const char * c_pszUser, const char
if (c_pszLocale)
{
m_stLocale = c_pszLocale;
sys_log(0, "AsyncSQL: locale %s", m_stLocale.c_str());
SPDLOG_DEBUG("AsyncSQL: locale {}", m_stLocale);
}
if (!bNoThread)
@ -250,7 +250,7 @@ SQLMsg * CAsyncSQL::DirectQuery(const char * c_pszQuery)
{
if (m_ulThreadID != mysql_thread_id(&m_hDB))
{
sys_err("MySQL connection was reconnected. querying locale set");
SPDLOG_WARN("MySQL connection was reconnected. querying locale set");
while (!QueryLocaleSet());
m_ulThreadID = mysql_thread_id(&m_hDB);
}
@ -263,13 +263,7 @@ SQLMsg * CAsyncSQL::DirectQuery(const char * c_pszQuery)
if (mysql_real_query(&m_hDB, p->stQuery.c_str(), p->stQuery.length()))
{
char buf[1024];
snprintf(buf, sizeof(buf),
"AsyncSQL::DirectQuery : mysql_query error: %s\nquery: %s",
mysql_error(&m_hDB), p->stQuery.c_str());
sys_err(buf);
SPDLOG_ERROR("AsyncSQL::DirectQuery : mysql_query error: {}\nquery: {}", mysql_error(&m_hDB), p->stQuery);
p->uiSQLErrno = mysql_errno(&m_hDB);
}
@ -554,7 +548,7 @@ void CAsyncSQL::ChildLoop()
if (m_ulThreadID != mysql_thread_id(&m_hDB))
{
sys_err("MySQL connection was reconnected. querying locale set");
SPDLOG_WARN("MySQL connection was reconnected. querying locale set");
while (!QueryLocaleSet());
m_ulThreadID = mysql_thread_id(&m_hDB);
}
@ -563,8 +557,8 @@ void CAsyncSQL::ChildLoop()
{
p->uiSQLErrno = mysql_errno(&m_hDB);
sys_err("AsyncSQL: query failed: %s (query: %s errno: %d)",
mysql_error(&m_hDB), p->stQuery.c_str(), p->uiSQLErrno);
SPDLOG_ERROR("AsyncSQL: query failed: {} (query: {} errno: {})",
mysql_error(&m_hDB), p->stQuery, p->uiSQLErrno);
switch (p->uiSQLErrno)
{
@ -584,7 +578,7 @@ void CAsyncSQL::ChildLoop()
case ER_CANT_CREATE_THREAD:
case ER_INVALID_USE_OF_NULL:
m_sem.Release();
sys_err("AsyncSQL: retrying");
SPDLOG_WARN("AsyncSQL: retrying");
continue;
}
}
@ -593,8 +587,8 @@ void CAsyncSQL::ChildLoop()
// 0.5<EFBFBD><EFBFBD> <20>̻<EFBFBD> <20>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD> <20>α׿<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (!profiler.IsOk())
sys_log(0, "[QUERY : LONG INTERVAL(OverSec %ld.%ld)] : %s",
profiler.GetResultSec(), profiler.GetResultUSec(), p->stQuery.c_str());
SPDLOG_TRACE("[QUERY : LONG INTERVAL(OverSec {}.{})] : {}",
profiler.GetResultSec(), profiler.GetResultUSec(), p->stQuery);
PopQueryFromCopyQueue();
@ -616,7 +610,7 @@ void CAsyncSQL::ChildLoop()
{
if (m_ulThreadID != mysql_thread_id(&m_hDB))
{
sys_err("MySQL connection was reconnected. querying locale set");
SPDLOG_WARN("MySQL connection was reconnected. querying locale set");
while (!QueryLocaleSet());
m_ulThreadID = mysql_thread_id(&m_hDB);
}
@ -625,8 +619,8 @@ void CAsyncSQL::ChildLoop()
{
p->uiSQLErrno = mysql_errno(&m_hDB);
sys_err("AsyncSQL::ChildLoop : mysql_query error: %s:\nquery: %s",
mysql_error(&m_hDB), p->stQuery.c_str());
SPDLOG_ERROR("AsyncSQL::ChildLoop : mysql_query error: {}:\nquery: {}",
mysql_error(&m_hDB), p->stQuery);
switch (p->uiSQLErrno)
{
@ -649,7 +643,7 @@ void CAsyncSQL::ChildLoop()
}
}
sys_log(0, "QUERY_FLUSH: %s", p->stQuery.c_str());
SPDLOG_TRACE("QUERY_FLUSH: {}", p->stQuery);
PopQuery(p->iID);
@ -698,7 +692,7 @@ size_t CAsyncSQL::EscapeString(char* dst, size_t dstSize, const char *src, size_
size_t tmpLen = sizeof(tmp) > srcSize ? srcSize : sizeof(tmp); // <20><> <20>߿<EFBFBD> <20><><EFBFBD><EFBFBD> ũ<><C5A9>
strlcpy(tmp, src, tmpLen);
sys_err("FATAL ERROR!! not enough buffer size (dstSize %u srcSize %u src%s: %s)",
SPDLOG_CRITICAL("FATAL ERROR!! not enough buffer size (dstSize {} srcSize {} src{}: {})",
dstSize, srcSize, tmpLen != srcSize ? "(trimmed to 255 characters)" : "", tmp);
dst[0] = '\0';

View File

@ -34,7 +34,7 @@ void CStmt::Destroy()
void CStmt::Error(const char * c_pszMsg)
{
sys_log(0, "SYSERR: %s: [%d] %s", c_pszMsg, mysql_stmt_errno(m_pkStmt), mysql_stmt_error(m_pkStmt));
SPDLOG_ERROR("SYSERR: {}: [{}] {}", c_pszMsg, mysql_stmt_errno(m_pkStmt), mysql_stmt_error(m_pkStmt));
}
bool CStmt::Prepare(CAsyncSQL * sql, const char * c_pszQuery)
@ -78,7 +78,7 @@ bool CStmt::BindParam(enum_field_types type, void * p, int iMaxLen)
{
if (m_uiParamCount >= m_vec_param.size())
{
sys_err("too many parameter in query: %s", m_stQuery.c_str());
SPDLOG_ERROR("too many parameter in query: {}", m_stQuery);
return false;
}
@ -105,7 +105,7 @@ bool CStmt::BindResult(enum_field_types type, void * p, int iMaxLen)
{
if (m_uiResultCount >= m_vec_result.size())
{
sys_err("too many result in query: %s", m_stQuery.c_str());
SPDLOG_ERROR("too many result in query: {}", m_stQuery);
return false;
}
@ -121,7 +121,7 @@ int CStmt::Execute()
{
if (m_uiParamCount != m_vec_param.size())
{
sys_log(0, "Parameter not enough %d, expected %d query: %s", m_uiParamCount, m_vec_param.size(), m_stQuery.c_str());
SPDLOG_ERROR("Parameter not enough {}, expected {} query: {}", m_uiParamCount, m_vec_param.size(), m_stQuery);
return 0;
}
@ -132,7 +132,7 @@ int CStmt::Execute()
if (bind->buffer_type == MYSQL_TYPE_STRING)
{
*(m_puiParamLen + i) = strlen((const char *) bind->buffer);
sys_log(0, "param %d len %d buf %s", i, *m_puiParamLen, (const char *) bind->buffer);
SPDLOG_TRACE("param {} len {} buf {}", i, *m_puiParamLen, (const char *) bind->buffer);
}
}