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

@@ -84,10 +84,10 @@ Channel::Channel(std::string const& name, uint32 channelId, uint32 channelDBId,
_channelDBId = ++ChannelMgr::_channelIdMax;
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHANNEL);
stmt->setUInt32(0, _channelDBId);
stmt->setString(1, name);
stmt->setUInt32(2, _teamId);
stmt->setUInt8(3, _announce);
stmt->SetData(0, _channelDBId);
stmt->SetData(1, name);
stmt->SetData(2, _teamId);
stmt->SetData(3, _announce);
CharacterDatabase.Execute(stmt);
}
}
@@ -104,9 +104,9 @@ void Channel::UpdateChannelInDB() const
if (_IsSaved)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHANNEL);
stmt->setBool(0, _announce);
stmt->setString(1, _password);
stmt->setUInt32(2, _channelDBId);
stmt->SetData(0, _announce);
stmt->SetData(1, _password);
stmt->SetData(2, _channelDBId);
CharacterDatabase.Execute(stmt);
LOG_DEBUG("chat.system", "Channel({}) updated in database", _name);
@@ -116,24 +116,24 @@ void Channel::UpdateChannelInDB() const
void Channel::UpdateChannelUseageInDB() const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHANNEL_USAGE);
stmt->setUInt32(0, _channelDBId);
stmt->SetData(0, _channelDBId);
CharacterDatabase.Execute(stmt);
}
void Channel::AddChannelBanToDB(ObjectGuid guid, uint32 time) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHANNEL_BAN);
stmt->setUInt32(0, _channelDBId);
stmt->setUInt32(1, guid.GetCounter());
stmt->setUInt32(2, time);
stmt->SetData(0, _channelDBId);
stmt->SetData(1, guid.GetCounter());
stmt->SetData(2, time);
CharacterDatabase.Execute(stmt);
}
void Channel::RemoveChannelBanFromDB(ObjectGuid guid) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHANNEL_BAN);
stmt->setUInt32(0, _channelDBId);
stmt->setUInt32(1, guid.GetCounter());
stmt->SetData(0, _channelDBId);
stmt->SetData(1, guid.GetCounter());
CharacterDatabase.Execute(stmt);
}
@@ -144,7 +144,7 @@ void Channel::CleanOldChannelsInDB()
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_OLD_CHANNELS);
stmt->setUInt32(0, sWorld->getIntConfig(CONFIG_PRESERVE_CUSTOM_CHANNEL_DURATION) * DAY);
stmt->SetData(0, sWorld->getIntConfig(CONFIG_PRESERVE_CUSTOM_CHANNEL_DURATION) * DAY);
trans->Append(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_OLD_CHANNELS_BANS);

View File

@@ -53,7 +53,7 @@ void ChannelMgr::LoadChannels()
uint32 count = 0;
// 0 1 2 3 4 5
QueryResult result = CharacterDatabase.PQuery("SELECT channelId, name, team, announce, ownership, password FROM channels ORDER BY channelId ASC");
QueryResult result = CharacterDatabase.Query("SELECT channelId, name, team, announce, ownership, password FROM channels ORDER BY channelId ASC");
if (!result)
{
LOG_INFO("server.loading", ">> Loaded 0 channels. DB table `channels` is empty.");
@@ -65,10 +65,10 @@ void ChannelMgr::LoadChannels()
{
Field* fields = result->Fetch();
uint32 channelDBId = fields[0].GetUInt32();
std::string channelName = fields[1].GetString();
TeamId team = TeamId(fields[2].GetUInt32());
std::string password = fields[5].GetString();
uint32 channelDBId = fields[0].Get<uint32>();
std::string channelName = fields[1].Get<std::string>();
TeamId team = TeamId(fields[2].Get<uint32>());
std::string password = fields[5].Get<std::string>();
std::wstring channelWName;
if (!Utf8toWStr(channelName, channelWName))
@@ -86,18 +86,18 @@ void ChannelMgr::LoadChannels()
continue;
}
Channel* newChannel = new Channel(channelName, 0, channelDBId, team, fields[3].GetUInt8(), fields[4].GetUInt8());
Channel* newChannel = new Channel(channelName, 0, channelDBId, team, fields[3].Get<uint8>(), fields[4].Get<uint8>());
newChannel->SetPassword(password);
mgr->channels[channelWName] = newChannel;
if (QueryResult banResult = CharacterDatabase.PQuery("SELECT playerGUID, banTime FROM channels_bans WHERE channelId = %u", channelDBId))
if (QueryResult banResult = CharacterDatabase.Query("SELECT playerGUID, banTime FROM channels_bans WHERE channelId = {}", channelDBId))
{
do
{
Field* banFields = banResult->Fetch();
if (!banFields)
break;
newChannel->AddBan(ObjectGuid::Create<HighGuid::Player>(banFields[0].GetUInt32()), banFields[1].GetUInt32());
newChannel->AddBan(ObjectGuid::Create<HighGuid::Player>(banFields[0].Get<uint32>()), banFields[1].Get<uint32>());
} while (banResult->NextRow());
}
@@ -109,8 +109,8 @@ void ChannelMgr::LoadChannels()
for (auto pair : toDelete)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHANNEL);
stmt->setString(0, pair.first);
stmt->setUInt32(1, pair.second);
stmt->SetData(0, pair.first);
stmt->SetData(1, pair.second);
CharacterDatabase.Execute(stmt);
}
@@ -181,7 +181,7 @@ void ChannelMgr::LoadChannelRights()
{
Field* fields = result->Fetch();
std::set<uint32> moderators;
auto moderatorList = fields[5].GetStringView();
auto moderatorList = fields[5].Get<std::string_view>();
if (!moderatorList.empty())
{
@@ -196,7 +196,7 @@ void ChannelMgr::LoadChannelRights()
}
}
SetChannelRightsFor(fields[0].GetString(), fields[1].GetUInt32(), fields[2].GetUInt32(), fields[3].GetString(), fields[4].GetString(), moderators);
SetChannelRightsFor(fields[0].Get<std::string>(), fields[1].Get<uint32>(), fields[2].Get<uint32>(), fields[3].Get<std::string>(), fields[4].Get<std::string>(), moderators);
++count;
} while (result->NextRow());

View File

@@ -88,9 +88,9 @@ static ChatSubCommandMap COMMAND_MAP;
do
{
Field* fields = result->Fetch();
std::string_view const name = fields[0].GetStringView();
std::string_view const help = fields[2].GetStringView();
uint32 const secLevel = fields[1].GetUInt8();
std::string_view const name = fields[0].Get<std::string_view>();
std::string_view const help = fields[2].Get<std::string_view>();
uint32 const secLevel = fields[1].Get<uint8>();
ChatCommandNode* cmd = nullptr;
ChatSubCommandMap* map = &COMMAND_MAP;