Core/Globals: delete another synch query using CharacterInfo map

This commit is contained in:
ariel- authored and Aokromes committed 2016-08-18 09:48:01 +02:00
1 parent 9d1fc3e94d
commit 2ea1adc544
3 files changed
+4 -20

No files matched your search

@@ -53,7 +53,6 @@ void CharacterDatabaseConnection::DoPrepareStatements()
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? AND c.deleteInfos_Name IS NULL", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_FREE_NAME, "SELECT guid, name FROM characters WHERE guid = ? AND account = ? AND (at_login & ?) = ? AND NOT EXISTS (SELECT NULL FROM characters WHERE name = ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_GUID_RACE_ACC_BY_NAME, "SELECT guid, race, account FROM characters WHERE name = ?", CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHAR_RACE, "SELECT race FROM characters WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_LEVEL, "SELECT level FROM characters WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_ZONE, "SELECT zone FROM characters WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHARACTER_NAME_DATA, "SELECT race, class, gender, level, name FROM characters WHERE guid = ?", CONNECTION_SYNCH);
@@ -52,7 +52,6 @@ enum CharacterDatabaseStatements
CHAR_SEL_ENUM_DECLINED_NAME,
CHAR_SEL_FREE_NAME,
CHAR_SEL_GUID_RACE_ACC_BY_NAME,
CHAR_SEL_CHAR_RACE,
CHAR_SEL_CHAR_LEVEL,
CHAR_SEL_CHAR_ZONE,
CHAR_SEL_CHARACTER_NAME_DATA,
+4 -18
View File
@@ -2264,25 +2264,11 @@ bool ObjectMgr::GetPlayerNameByGUID(ObjectGuid guid, std::string& name) const
uint32 ObjectMgr::GetPlayerTeamByGUID(ObjectGuid guid) const
{
// prevent DB access for online player
if (Player* player = ObjectAccessor::FindConnectedPlayer(guid))
{
return Player::TeamForRace(player->getRace());
}
CharacterInfo const* characterInfo = sWorld->GetCharacterInfo(guid);
if (!characterInfo)
return 0;
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_RACE);
stmt->setUInt32(0, guid.GetCounter());
PreparedQueryResult result = CharacterDatabase.Query(stmt);
if (result)
{
uint8 race = (*result)[0].GetUInt8();
return Player::TeamForRace(race);
}
return 0;
return Player::TeamForRace(characterInfo->Race);
}
uint32 ObjectMgr::GetPlayerAccountIdByGUID(ObjectGuid guid) const