Core/DBLayer: Change some regular statements to prepared statements.
Patch by [email protected]. Fixes issue #3774 --HG-- branch : trunk
This commit is contained in:
@@ -1216,16 +1216,22 @@ bool ObjectMgr::SetCreatureLinkedRespawn(uint32 guid, uint32 linkedGuid)
|
|||||||
if (!linkedGuid) // we're removing the linking
|
if (!linkedGuid) // we're removing the linking
|
||||||
{
|
{
|
||||||
mCreatureLinkedRespawnMap.erase(guid);
|
mCreatureLinkedRespawnMap.erase(guid);
|
||||||
WorldDatabase.PExecute("DELETE FROM creature_linked_respawn WHERE guid = '%u'",guid);
|
PreparedStatement *stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CRELINKED_RESPAWN);
|
||||||
|
stmt->setUInt32(0, guid);
|
||||||
|
WorldDatabase.Execute(stmt);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CheckCreatureLinkedRespawn(guid,linkedGuid)) // we add/change linking
|
if (CheckCreatureLinkedRespawn(guid,linkedGuid)) // we add/change linking
|
||||||
{
|
{
|
||||||
mCreatureLinkedRespawnMap[guid] = linkedGuid;
|
mCreatureLinkedRespawnMap[guid] = linkedGuid;
|
||||||
WorldDatabase.PExecute("REPLACE INTO creature_linked_respawn (guid,linkedGuid) VALUES ('%u','%u')",guid,linkedGuid);
|
PreparedStatement *stmt = WorldDatabase.GetPreparedStatement(WORLD_REP_CRELINKED_RESPAWN);
|
||||||
|
stmt->setUInt32(0, guid);
|
||||||
|
stmt->setUInt64(1, linkedGuid);
|
||||||
|
WorldDatabase.Execute(stmt);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ bool WorldDatabaseConnection::Open(const std::string& infoString)
|
|||||||
PrepareStatement(WORLD_DEL_CRESPAWNTIME, "DELETE FROM creature_respawn WHERE guid = ? AND instance = ?");
|
PrepareStatement(WORLD_DEL_CRESPAWNTIME, "DELETE FROM creature_respawn WHERE guid = ? AND instance = ?");
|
||||||
PrepareStatement(WORLD_ADD_CRESPAWNTIME, "INSERT INTO creature_respawn VALUES (?, ?, ?)");
|
PrepareStatement(WORLD_ADD_CRESPAWNTIME, "INSERT INTO creature_respawn VALUES (?, ?, ?)");
|
||||||
PrepareStatement(WORLD_LOAD_QUEST_POOLS, "SELECT entry, pool_entry FROM pool_quest");
|
PrepareStatement(WORLD_LOAD_QUEST_POOLS, "SELECT entry, pool_entry FROM pool_quest");
|
||||||
|
PrepareStatement(WORLD_DEL_CRELINKED_RESPAWN, "DELETE FROM creature_linked_respawn WHERE guid = ?");
|
||||||
|
PrepareStatement(WORLD_REP_CRELINKED_RESPAWN, "REPLACE INTO creature_linked_respawn (guid,linkedGuid) VALUES (?, ?)");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ enum WorldDatabaseStatements
|
|||||||
WORLD_DEL_CRESPAWNTIME,
|
WORLD_DEL_CRESPAWNTIME,
|
||||||
WORLD_ADD_CRESPAWNTIME,
|
WORLD_ADD_CRESPAWNTIME,
|
||||||
WORLD_LOAD_QUEST_POOLS,
|
WORLD_LOAD_QUEST_POOLS,
|
||||||
|
WORLD_DEL_CRELINKED_RESPAWN,
|
||||||
|
WORLD_REP_CRELINKED_RESPAWN,
|
||||||
MAX_WORLDDATABASE_STATEMENTS,
|
MAX_WORLDDATABASE_STATEMENTS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user