diff options
author | Spp <spp@jorge.gr> | 2011-12-27 10:05:49 +0100 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2011-12-27 10:15:27 +0100 |
commit | fa9daaf95b9f09f3a442087cbc59abc782814c63 (patch) | |
tree | c24fe99837993c101de77df1416fde629c993817 /src/server/game/Instances/InstanceSaveMgr.cpp | |
parent | 8323027e0c15e97e5da5ec0948c447273321d43f (diff) | |
parent | 317628902462c371dc29ec984803fbfb6412402c (diff) |
Merge branch 'master' into 4.x and some warning fixes
Diffstat (limited to 'src/server/game/Instances/InstanceSaveMgr.cpp')
-rwxr-xr-x | src/server/game/Instances/InstanceSaveMgr.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/server/game/Instances/InstanceSaveMgr.cpp b/src/server/game/Instances/InstanceSaveMgr.cpp index 7a2368161d8..9d5ffb6542a 100755 --- a/src/server/game/Instances/InstanceSaveMgr.cpp +++ b/src/server/game/Instances/InstanceSaveMgr.cpp @@ -138,7 +138,14 @@ void InstanceSaveManager::RemoveInstanceSave(uint32 InstanceId) { // save the resettime for normal instances only when they get unloaded if (time_t resettime = itr->second->GetResetTimeForDB()) - CharacterDatabase.PExecute("UPDATE instance SET resettime = '"UI64FMTD"' WHERE id = '%u'", (uint64)resettime, InstanceId); + { + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPDATE_INSTANCE_RESETTIME); + + stmt->setUInt32(0, uint32(resettime)); + stmt->setUInt32(1, InstanceId); + + CharacterDatabase.Execute(stmt); + } delete itr->second; m_instanceSaveById.erase(itr); @@ -573,13 +580,19 @@ void InstanceSaveManager::_ResetOrWarnAll(uint32 mapid, Difficulty difficulty, b if (period < DAY) period = DAY; - uint64 next_reset = ((resetTime + MINUTE) / DAY * DAY) + period + diff; + uint32 next_reset = ((resetTime + MINUTE) / DAY * DAY) + period + diff; SetResetTimeFor(mapid, difficulty, next_reset); ScheduleReset(true, time_t(next_reset-3600), InstResetEvent(1, mapid, difficulty, 0)); - // update it in the DB - CharacterDatabase.PExecute("UPDATE instance_reset SET resettime = '%u' WHERE mapid = '%d' AND difficulty = '%d'", uint32(next_reset), mapid, difficulty); + // Update it in the DB + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPDATE_GLOBAL_INSTANCE_RESETTIME); + + stmt->setUInt32(0, next_reset); + stmt->setUInt16(1, uint16(mapid)); + stmt->setUInt8(2, uint8(difficulty)); + + CharacterDatabase.Execute(stmt); } // note: this isn't fast but it's meant to be executed very rarely |