Core/DBLayer: Converted player login queries into prepared statements

Core/DBLayer: Added missing implementation for SQLQueryHolder::SetPreparedQuery

--HG--
branch : trunk
This commit is contained in:
Shauren
2010-09-20 18:20:40 +02:00
parent cd40ab6776
commit a509976369
23 changed files with 601 additions and 481 deletions
@@ -555,22 +555,20 @@ void AchievementMgr::SaveToDB(SQLTransaction& trans)
}
}
void AchievementMgr::LoadFromDB(QueryResult achievementResult, QueryResult criteriaResult)
void AchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, PreparedQueryResult criteriaResult)
{
if (achievementResult)
{
do
{
Field *fields = achievementResult->Fetch();
uint32 achievement_id = fields[0].GetUInt32();
uint32 achievement_id = achievementResult->GetUInt32(0);
// don't must happen: cleanup at server startup in sAchievementMgr.LoadCompletedAchievements()
if (!sAchievementStore.LookupEntry(achievement_id))
continue;
CompletedAchievementData& ca = m_completedAchievements[achievement_id];
ca.date = time_t(fields[1].GetUInt64());
ca.date = time_t(achievementResult->GetUInt64(1));
ca.changed = false;
} while (achievementResult->NextRow());
}
@@ -579,11 +577,9 @@ void AchievementMgr::LoadFromDB(QueryResult achievementResult, QueryResult crite
{
do
{
Field *fields = criteriaResult->Fetch();
uint32 id = fields[0].GetUInt32();
uint32 counter = fields[1].GetUInt32();
time_t date = time_t(fields[2].GetUInt64());
uint32 id = criteriaResult->GetUInt32(0);
uint32 counter = criteriaResult->GetUInt32(1);
time_t date = time_t(criteriaResult->GetUInt64(2));
AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(id);
if (!criteria)
@@ -243,7 +243,7 @@ class AchievementMgr
void Reset();
static void DeleteFromDB(uint32 lowguid);
void LoadFromDB(QueryResult achievementResult, QueryResult criteriaResult);
void LoadFromDB(PreparedQueryResult achievementResult, PreparedQueryResult criteriaResult);
void SaveToDB(SQLTransaction& trans);
void ResetAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1 = 0, uint32 miscvalue2 = 0, bool evenIfCriteriaComplete = false);
void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1 = 0, uint32 miscvalue2 = 0, Unit *unit = NULL, uint32 time = 0);