db: log SQL worker shutdown state
Some checks failed
build / Linux asan (push) Has been cancelled
build / Linux release (push) Has been cancelled
build / FreeBSD build (push) Has been cancelled

This commit is contained in:
server
2026-04-14 11:22:30 +02:00
parent 719440575f
commit aa862d829d
4 changed files with 76 additions and 1 deletions

View File

@@ -4,6 +4,26 @@
extern std::string g_stLocale;
namespace
{
const char* SQLSlotName(int slot)
{
switch (slot)
{
case SQL_PLAYER:
return "player";
case SQL_ACCOUNT:
return "account";
case SQL_COMMON:
return "common";
case SQL_HOTBACKUP:
return "hotbackup";
default:
return "unknown";
}
}
}
CDBManager::CDBManager()
{
Initialize();
@@ -45,6 +65,16 @@ void CDBManager::Quit()
{
for (int i = 0; i < SQL_MAX_NUM; ++i)
{
sys_log(0,
"[SHUTDOWN] DBManager slot=%s begin main_pending=%u main_copied=%u main_results=%u async_pending=%u async_copied=%u async_results=%u",
SQLSlotName(i),
m_mainSQL[i] ? m_mainSQL[i]->CountQuery() : 0,
m_mainSQL[i] ? m_mainSQL[i]->CountCopiedQueryQueue() : 0,
m_mainSQL[i] ? m_mainSQL[i]->CountResult() : 0,
m_asyncSQL[i] ? m_asyncSQL[i]->CountQuery() : 0,
m_asyncSQL[i] ? m_asyncSQL[i]->CountCopiedQueryQueue() : 0,
m_asyncSQL[i] ? m_asyncSQL[i]->CountResult() : 0);
if (m_mainSQL[i])
m_mainSQL[i]->Quit();
@@ -53,6 +83,8 @@ void CDBManager::Quit()
if (m_directSQL[i])
m_directSQL[i]->Quit();
sys_log(0, "[SHUTDOWN] DBManager slot=%s done", SQLSlotName(i));
}
}
@@ -182,4 +214,3 @@ void CDBManager::QueryLocaleSet()
m_asyncSQL[n]->QueryLocaleSet();
}
}