forked from metin2/server
Applied changes on the db executable. Removed old logging functions. Various global changes.
This commit is contained in:
@ -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';
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user