mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-24 06:06:23 +00:00
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:
@@ -140,20 +140,20 @@ public:
|
||||
CharacterDatabasePreparedStatement* stmt = nullptr;
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_DECLINED_NAME);
|
||||
stmt->setUInt32(0, ownerGuid);
|
||||
stmt->setUInt32(1, petNumber);
|
||||
stmt->SetData(0, ownerGuid);
|
||||
stmt->SetData(1, petNumber);
|
||||
SetPreparedQuery(DECLINED_NAMES, stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_AURA);
|
||||
stmt->setUInt32(0, petNumber);
|
||||
stmt->SetData(0, petNumber);
|
||||
SetPreparedQuery(AURAS, stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_SPELL);
|
||||
stmt->setUInt32(0, petNumber);
|
||||
stmt->SetData(0, petNumber);
|
||||
SetPreparedQuery(SPELLS, stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_SPELL_COOLDOWN);
|
||||
stmt->setUInt32(0, petNumber);
|
||||
stmt->SetData(0, petNumber);
|
||||
SetPreparedQuery(COOLDOWNS, stmt);
|
||||
}
|
||||
};
|
||||
@@ -455,7 +455,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c
|
||||
m_declinedname = std::make_unique<DeclinedName>();
|
||||
Field* fields = result->Fetch();
|
||||
for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i)
|
||||
m_declinedname->name[i] = fields[i].GetString();
|
||||
m_declinedname->name[i] = fields[i].Get<std::string>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -536,16 +536,16 @@ void Pet::SavePetToDB(PetSaveMode mode)
|
||||
// remove current data
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_ID);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
trans->Append(stmt);
|
||||
|
||||
// prevent existence another hunter pet in PET_SAVE_AS_CURRENT and PET_SAVE_NOT_IN_SLOT
|
||||
if (getPetType() == HUNTER_PET && (mode == PET_SAVE_AS_CURRENT || mode > PET_SAVE_LAST_STABLE_SLOT))
|
||||
{
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_SLOT);
|
||||
stmt->setUInt32(0, ownerLowGUID);
|
||||
stmt->setUInt8(1, uint8(PET_SAVE_AS_CURRENT));
|
||||
stmt->setUInt8(2, uint8(PET_SAVE_LAST_STABLE_SLOT));
|
||||
stmt->SetData(0, ownerLowGUID);
|
||||
stmt->SetData(1, uint8(PET_SAVE_AS_CURRENT));
|
||||
stmt->SetData(2, uint8(PET_SAVE_LAST_STABLE_SLOT));
|
||||
trans->Append(stmt);
|
||||
}
|
||||
|
||||
@@ -556,23 +556,23 @@ void Pet::SavePetToDB(PetSaveMode mode)
|
||||
FillPetInfo(&owner->GetPetStable()->CurrentPet.value());
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_CHAR_PET);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, GetEntry());
|
||||
stmt->setUInt32(2, ownerLowGUID);
|
||||
stmt->setUInt32(3, GetNativeDisplayId());
|
||||
stmt->setUInt32(4, GetUInt32Value(UNIT_CREATED_BY_SPELL));
|
||||
stmt->setUInt8(5, uint8(getPetType()));
|
||||
stmt->setUInt8(6, getLevel());
|
||||
stmt->setUInt32(7, GetUInt32Value(UNIT_FIELD_PETEXPERIENCE));
|
||||
stmt->setUInt8(8, uint8(GetReactState()));
|
||||
stmt->setString(9, GetName());
|
||||
stmt->setUInt8(10, uint8(HasByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED) ? 0 : 1));
|
||||
stmt->setUInt8(11, uint8(mode));
|
||||
stmt->setUInt32(12, curhealth);
|
||||
stmt->setUInt32(13, curmana);
|
||||
stmt->setUInt32(14, GetPower(POWER_HAPPINESS));
|
||||
stmt->setUInt32(15, GameTime::GetGameTime().count());
|
||||
stmt->setString(16, actionBar);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, GetEntry());
|
||||
stmt->SetData(2, ownerLowGUID);
|
||||
stmt->SetData(3, GetNativeDisplayId());
|
||||
stmt->SetData(4, GetUInt32Value(UNIT_CREATED_BY_SPELL));
|
||||
stmt->SetData(5, uint8(getPetType()));
|
||||
stmt->SetData(6, getLevel());
|
||||
stmt->SetData(7, GetUInt32Value(UNIT_FIELD_PETEXPERIENCE));
|
||||
stmt->SetData(8, uint8(GetReactState()));
|
||||
stmt->SetData(9, GetName());
|
||||
stmt->SetData(10, uint8(HasByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED) ? 0 : 1));
|
||||
stmt->SetData(11, uint8(mode));
|
||||
stmt->SetData(12, curhealth);
|
||||
stmt->SetData(13, curmana);
|
||||
stmt->SetData(14, GetPower(POWER_HAPPINESS));
|
||||
stmt->SetData(15, GameTime::GetGameTime().count());
|
||||
stmt->SetData(16, actionBar);
|
||||
|
||||
trans->Append(stmt);
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
@@ -590,23 +590,23 @@ void Pet::DeleteFromDB(ObjectGuid::LowType guidlow)
|
||||
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_ID);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_AURAS);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELLS);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_COOLDOWNS);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
@@ -1431,9 +1431,9 @@ void Pet::_LoadSpellCooldowns(PreparedQueryResult result)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
uint32 spell_id = fields[0].GetUInt32();
|
||||
uint16 category = fields[1].GetUInt16();
|
||||
time_t db_time = time_t(fields[2].GetUInt32());
|
||||
uint32 spell_id = fields[0].Get<uint32>();
|
||||
uint16 category = fields[1].Get<uint16>();
|
||||
time_t db_time = time_t(fields[2].Get<uint32>());
|
||||
|
||||
if (!sSpellMgr->GetSpellInfo(spell_id))
|
||||
{
|
||||
@@ -1463,7 +1463,7 @@ void Pet::_LoadSpellCooldowns(PreparedQueryResult result)
|
||||
void Pet::_SaveSpellCooldowns(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_COOLDOWNS);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
trans->Append(stmt);
|
||||
|
||||
time_t curTime = GameTime::GetGameTime().count();
|
||||
@@ -1485,10 +1485,10 @@ void Pet::_SaveSpellCooldowns(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
uint32 cooldown = ((itr2->second.end - curMSTime) / IN_MILLISECONDS) + curTime;
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_SPELL_COOLDOWN);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr2->first);
|
||||
stmt->setUInt16(2, itr2->second.category);
|
||||
stmt->setUInt32(3, cooldown);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr2->first);
|
||||
stmt->SetData(2, itr2->second.category);
|
||||
stmt->SetData(3, cooldown);
|
||||
trans->Append(stmt);
|
||||
}
|
||||
}
|
||||
@@ -1502,7 +1502,7 @@ void Pet::_LoadSpells(PreparedQueryResult result)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
addSpell(fields[0].GetUInt32(), ActiveStates(fields[1].GetUInt8()), PETSPELL_UNCHANGED);
|
||||
addSpell(fields[0].Get<uint32>(), ActiveStates(fields[1].Get<uint8>()), PETSPELL_UNCHANGED);
|
||||
} while (result->NextRow());
|
||||
}
|
||||
}
|
||||
@@ -1523,30 +1523,30 @@ void Pet::_SaveSpells(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
case PETSPELL_REMOVED:
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_BY_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
trans->Append(stmt);
|
||||
|
||||
m_spells.erase(itr);
|
||||
continue;
|
||||
case PETSPELL_CHANGED:
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_BY_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->setUInt8(2, itr->second.active);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
stmt->SetData(2, itr->second.active);
|
||||
trans->Append(stmt);
|
||||
|
||||
break;
|
||||
case PETSPELL_NEW:
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->setUInt8(2, itr->second.active);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
stmt->SetData(2, itr->second.active);
|
||||
trans->Append(stmt);
|
||||
break;
|
||||
case PETSPELL_UNCHANGED:
|
||||
@@ -1567,23 +1567,23 @@ void Pet::_LoadAuras(PreparedQueryResult result, uint32 timediff)
|
||||
int32 damage[3];
|
||||
int32 baseDamage[3];
|
||||
Field* fields = result->Fetch();
|
||||
ObjectGuid caster_guid = ObjectGuid(fields[0].GetUInt64());
|
||||
ObjectGuid caster_guid = ObjectGuid(fields[0].Get<uint64>());
|
||||
// nullptr guid stored - pet is the caster of the spell - see Pet::_SaveAuras
|
||||
if (!caster_guid)
|
||||
caster_guid = GetGUID();
|
||||
uint32 spellid = fields[1].GetUInt32();
|
||||
uint8 effmask = fields[2].GetUInt8();
|
||||
uint8 recalculatemask = fields[3].GetUInt8();
|
||||
uint8 stackcount = fields[4].GetUInt8();
|
||||
damage[0] = fields[5].GetInt32();
|
||||
damage[1] = fields[6].GetInt32();
|
||||
damage[2] = fields[7].GetInt32();
|
||||
baseDamage[0] = fields[8].GetInt32();
|
||||
baseDamage[1] = fields[9].GetInt32();
|
||||
baseDamage[2] = fields[10].GetInt32();
|
||||
int32 maxduration = fields[11].GetInt32();
|
||||
int32 remaintime = fields[12].GetInt32();
|
||||
uint8 remaincharges = fields[13].GetUInt8();
|
||||
uint32 spellid = fields[1].Get<uint32>();
|
||||
uint8 effmask = fields[2].Get<uint8>();
|
||||
uint8 recalculatemask = fields[3].Get<uint8>();
|
||||
uint8 stackcount = fields[4].Get<uint8>();
|
||||
damage[0] = fields[5].Get<int32>();
|
||||
damage[1] = fields[6].Get<int32>();
|
||||
damage[2] = fields[7].Get<int32>();
|
||||
baseDamage[0] = fields[8].Get<int32>();
|
||||
baseDamage[1] = fields[9].Get<int32>();
|
||||
baseDamage[2] = fields[10].Get<int32>();
|
||||
int32 maxduration = fields[11].Get<int32>();
|
||||
int32 remaintime = fields[12].Get<int32>();
|
||||
uint8 remaincharges = fields[13].Get<uint8>();
|
||||
|
||||
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellid);
|
||||
if (!spellInfo)
|
||||
@@ -1639,7 +1639,7 @@ void Pet::_LoadAuras(PreparedQueryResult result, uint32 timediff)
|
||||
void Pet::_SaveAuras(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_AURAS);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
trans->Append(stmt);
|
||||
|
||||
for (AuraMap::const_iterator itr = m_ownedAuras.begin(); itr != m_ownedAuras.end(); ++itr)
|
||||
@@ -1699,21 +1699,21 @@ void Pet::_SaveAuras(CharacterDatabaseTransaction trans)
|
||||
uint8 index = 0;
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt2 = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_AURA);
|
||||
stmt2->setUInt32(index++, m_charmInfo->GetPetNumber());
|
||||
stmt2->setUInt64(index++, casterGUID.GetRawValue());
|
||||
stmt2->setUInt32(index++, itr->second->GetId());
|
||||
stmt2->setUInt8(index++, effMask);
|
||||
stmt2->setUInt8(index++, recalculateMask);
|
||||
stmt2->setUInt8(index++, itr->second->GetStackAmount());
|
||||
stmt2->setInt32(index++, damage[0]);
|
||||
stmt2->setInt32(index++, damage[1]);
|
||||
stmt2->setInt32(index++, damage[2]);
|
||||
stmt2->setInt32(index++, baseDamage[0]);
|
||||
stmt2->setInt32(index++, baseDamage[1]);
|
||||
stmt2->setInt32(index++, baseDamage[2]);
|
||||
stmt2->setInt32(index++, itr->second->GetMaxDuration());
|
||||
stmt2->setInt32(index++, itr->second->GetDuration());
|
||||
stmt2->setUInt8(index++, itr->second->GetCharges());
|
||||
stmt2->SetData(index++, m_charmInfo->GetPetNumber());
|
||||
stmt2->SetData(index++, casterGUID.GetRawValue());
|
||||
stmt2->SetData(index++, itr->second->GetId());
|
||||
stmt2->SetData(index++, effMask);
|
||||
stmt2->SetData(index++, recalculateMask);
|
||||
stmt2->SetData(index++, itr->second->GetStackAmount());
|
||||
stmt2->SetData(index++, damage[0]);
|
||||
stmt2->SetData(index++, damage[1]);
|
||||
stmt2->SetData(index++, damage[2]);
|
||||
stmt2->SetData(index++, baseDamage[0]);
|
||||
stmt2->SetData(index++, baseDamage[1]);
|
||||
stmt2->SetData(index++, baseDamage[2]);
|
||||
stmt2->SetData(index++, itr->second->GetMaxDuration());
|
||||
stmt2->SetData(index++, itr->second->GetDuration());
|
||||
stmt2->SetData(index++, itr->second->GetCharges());
|
||||
trans->Append(stmt2);
|
||||
}
|
||||
}
|
||||
@@ -1729,7 +1729,7 @@ bool Pet::addSpell(uint32 spellId, ActiveStates active /*= ACT_DECIDE*/, PetSpel
|
||||
LOG_ERROR("entities.pet", "Pet::addSpell: Non-existed in SpellStore spell #{} request, deleting for all pets in `pet_spell`.", spellId);
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INVALID_PET_SPELL);
|
||||
stmt->setUInt32(0, spellId);
|
||||
stmt->SetData(0, spellId);
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user