feat(Core/DBLayer): replace char const* to std::string_view (#10211)

* feat(Core/DBLayer): replace `char const*` to `std::string_view`

* CString

* 1

* chore(Core/Misc): code cleanup

* cl

* db fix

* fmt style sql

* to fmt

* py

* del old

* 1

* 2

* 3

* 1

* 1
This commit is contained in:
Kargatum
2022-02-05 06:37:11 +07:00
committed by GitHub
parent d6ead1d1e0
commit de13bf426e
140 changed files with 5055 additions and 4882 deletions

View File

@@ -532,11 +532,11 @@ void AchievementMgr::DeleteFromDB(ObjectGuid::LowType lowguid)
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT);
stmt->setUInt32(0, lowguid);
stmt->SetData(0, lowguid);
trans->Append(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_PROGRESS);
stmt->setUInt32(0, lowguid);
stmt->SetData(0, lowguid);
trans->Append(stmt);
CharacterDatabase.CommitTransaction(trans);
@@ -552,14 +552,14 @@ void AchievementMgr::SaveToDB(CharacterDatabaseTransaction trans)
continue;
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_BY_ACHIEVEMENT);
stmt->setUInt16(0, iter->first);
stmt->setUInt32(1, GetPlayer()->GetGUID().GetCounter());
stmt->SetData(0, iter->first);
stmt->SetData(1, GetPlayer()->GetGUID().GetCounter());
trans->Append(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT);
stmt->setUInt32(0, GetPlayer()->GetGUID().GetCounter());
stmt->setUInt16(1, iter->first);
stmt->setUInt32(2, uint32(iter->second.date));
stmt->SetData(0, GetPlayer()->GetGUID().GetCounter());
stmt->SetData(1, iter->first);
stmt->SetData(2, uint32(iter->second.date));
trans->Append(stmt);
iter->second.changed = false;
@@ -576,18 +576,18 @@ void AchievementMgr::SaveToDB(CharacterDatabaseTransaction trans)
continue;
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_PROGRESS_BY_CRITERIA);
stmt->setUInt32(0, GetPlayer()->GetGUID().GetCounter());
stmt->setUInt16(1, iter->first);
stmt->SetData(0, GetPlayer()->GetGUID().GetCounter());
stmt->SetData(1, iter->first);
trans->Append(stmt);
// pussywizard: insert only for (counter != 0) is very important! this is how criteria of completed achievements gets deleted from db (by setting counter to 0); if conflicted during merge - contact me
if (iter->second.counter)
{
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_PROGRESS);
stmt->setUInt32(0, GetPlayer()->GetGUID().GetCounter());
stmt->setUInt16(1, iter->first);
stmt->setUInt32(2, iter->second.counter);
stmt->setUInt32(3, uint32(iter->second.date));
stmt->SetData(0, GetPlayer()->GetGUID().GetCounter());
stmt->SetData(1, iter->first);
stmt->SetData(2, iter->second.counter);
stmt->SetData(3, uint32(iter->second.date));
trans->Append(stmt);
}
@@ -605,7 +605,7 @@ void AchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, PreparedQ
do
{
Field* fields = achievementResult->Fetch();
uint32 achievementid = fields[0].GetUInt16();
uint32 achievementid = fields[0].Get<uint16>();
// must not happen: cleanup at server startup in sAchievementMgr->LoadCompletedAchievements()
AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementid);
@@ -613,7 +613,7 @@ void AchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, PreparedQ
continue;
CompletedAchievementData& ca = m_completedAchievements[achievementid];
ca.date = time_t(fields[1].GetUInt32());
ca.date = time_t(fields[1].Get<uint32>());
ca.changed = false;
// title achievement rewards are retroactive
@@ -630,9 +630,9 @@ void AchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, PreparedQ
do
{
Field* fields = criteriaResult->Fetch();
uint32 id = fields[0].GetUInt16();
uint32 counter = fields[1].GetUInt32();
time_t date = time_t(fields[2].GetUInt32());
uint32 id = fields[0].Get<uint16>();
uint32 counter = fields[1].Get<uint32>();
time_t date = time_t(fields[2].Get<uint32>());
AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(id);
if (!criteria)
@@ -642,7 +642,7 @@ void AchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, PreparedQ
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INVALID_ACHIEV_PROGRESS_CRITERIA);
stmt->setUInt16(0, uint16(id));
stmt->SetData(0, uint16(id));
CharacterDatabase.Execute(stmt);
@@ -2645,7 +2645,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData()
do
{
Field* fields = result->Fetch();
uint32 criteria_id = fields[0].GetUInt32();
uint32 criteria_id = fields[0].Get<uint32>();
AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(criteria_id);
@@ -2655,8 +2655,8 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData()
continue;
}
uint32 dataType = fields[1].GetUInt8();
std::string scriptName = fields[4].GetString();
uint32 dataType = fields[1].Get<uint8>();
std::string scriptName = fields[4].Get<std::string>();
uint32 scriptId = 0;
if (scriptName.length()) // not empty
{
@@ -2666,7 +2666,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData()
scriptId = sObjectMgr->GetScriptId(scriptName.c_str());
}
AchievementCriteriaData data(dataType, fields[2].GetUInt32(), fields[3].GetUInt32(), scriptId);
AchievementCriteriaData data(dataType, fields[2].Get<uint32>(), fields[3].Get<uint32>(), scriptId);
if (!data.IsValid(criteria))
continue;
@@ -2785,7 +2785,7 @@ void AchievementGlobalMgr::LoadCompletedAchievements()
{
Field* fields = result->Fetch();
uint16 achievementId = fields[0].GetUInt16();
uint16 achievementId = fields[0].Get<uint16>();
const AchievementEntry* achievement = sAchievementStore.LookupEntry(achievementId);
if (!achievement)
{
@@ -2794,7 +2794,7 @@ void AchievementGlobalMgr::LoadCompletedAchievements()
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INVALID_ACHIEVMENT);
stmt->setUInt16(0, uint16(achievementId));
stmt->SetData(0, uint16(achievementId));
CharacterDatabase.Execute(stmt);
continue;
@@ -2828,7 +2828,7 @@ void AchievementGlobalMgr::LoadRewards()
do
{
Field* fields = result->Fetch();
uint32 entry = fields[0].GetUInt32();
uint32 entry = fields[0].Get<uint32>();
AchievementEntry const* achievement = sAchievementStore.LookupEntry(entry);
if (!achievement)
{
@@ -2837,13 +2837,13 @@ void AchievementGlobalMgr::LoadRewards()
}
AchievementReward reward;
reward.titleId[0] = fields[1].GetUInt32(); // Alliance title
reward.titleId[1] = fields[2].GetUInt32(); // Horde title
reward.itemId = fields[3].GetUInt32();
reward.sender = fields[4].GetUInt32(); // The sender of the mail (a creature from creature_template)
reward.subject = fields[5].GetString();
reward.text = fields[6].GetString(); // Body in DB
reward.mailTemplate = fields[7].GetUInt32();
reward.titleId[0] = fields[1].Get<uint32>(); // Alliance title
reward.titleId[1] = fields[2].Get<uint32>(); // Horde title
reward.itemId = fields[3].Get<uint32>();
reward.sender = fields[4].Get<uint32>(); // The sender of the mail (a creature from creature_template)
reward.subject = fields[5].Get<std::string>();
reward.text = fields[6].Get<std::string>(); // Body in DB
reward.mailTemplate = fields[7].Get<uint32>();
// Must reward a title or send a mail else, skip it.
if (!reward.titleId[0] && !reward.titleId[1] && !reward.sender)
@@ -2948,20 +2948,20 @@ void AchievementGlobalMgr::LoadRewardLocales()
{
Field* fields = result->Fetch();
uint32 ID = fields[0].GetUInt32();
uint32 ID = fields[0].Get<uint32>();
if (m_achievementRewards.find(ID) == m_achievementRewards.end())
{
LOG_ERROR("sql.sql", "Table `achievement_reward_locale` (Entry: {}) has locale strings for non-existing achievement reward.", ID);
continue;
}
LocaleConstant locale = GetLocaleByName(fields[1].GetString());
LocaleConstant locale = GetLocaleByName(fields[1].Get<std::string>());
if (locale == LOCALE_enUS)
continue;
AchievementRewardLocale& data = m_achievementRewardLocales[ID];
ObjectMgr::AddLocaleString(fields[2].GetString(), locale, data.Subject);
ObjectMgr::AddLocaleString(fields[3].GetString(), locale, data.Text);
ObjectMgr::AddLocaleString(fields[2].Get<std::string>(), locale, data.Subject);
ObjectMgr::AddLocaleString(fields[3].Get<std::string>(), locale, data.Text);
} while (result->NextRow());
LOG_INFO("server.loading", ">> Loaded {} Achievement Reward Locale strings in {} ms", (unsigned long)m_achievementRewardLocales.size(), GetMSTimeDiffToNow(oldMSTime));