diff options
Diffstat (limited to 'src/server/database/Database/Implementation')
-rw-r--r-- | src/server/database/Database/Implementation/CharacterDatabase.cpp | 9 | ||||
-rw-r--r-- | src/server/database/Database/Implementation/CharacterDatabase.h | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp index 723e85311b5..5cc1a8ed01f 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp @@ -600,7 +600,6 @@ void CharacterDatabaseConnection::DoPrepareStatements() PrepareStatement(CHAR_DEL_CHAR_AURA, "DELETE FROM character_aura WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_CHAR_AURA_EFFECT, "DELETE FROM character_aura_effect WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_CHAR_GIFT, "DELETE FROM character_gifts WHERE guid = ?", CONNECTION_ASYNC); - PrepareStatement(CHAR_DEL_CHAR_INSTANCE, "DELETE FROM character_instance_lock WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_CHAR_INVENTORY, "DELETE FROM character_inventory WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_CHAR_QUESTSTATUS_REWARDED, "DELETE FROM character_queststatus_rewarded WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_CHAR_REPUTATION, "DELETE FROM character_reputation WHERE guid = ?", CONNECTION_ASYNC); @@ -757,6 +756,14 @@ void CharacterDatabaseConnection::DoPrepareStatements() // War mode PrepareStatement(CHAR_SEL_WAR_MODE_TUNING, "SELECT race, COUNT(guid) FROM characters WHERE ((playerFlags & ?) = ?) AND logout_time >= (UNIX_TIMESTAMP() - 604800) GROUP BY race", CONNECTION_SYNCH); + + // Instance locks + PrepareStatement(CHAR_DEL_CHARACTER_INSTANCE_LOCK, "DELETE FROM character_instance_lock WHERE guid = ? AND mapId = ? AND lockId = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_CHARACTER_INSTANCE_LOCK_BY_GUID, "DELETE FROM character_instance_lock WHERE guid = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_INS_CHARACTER_INSTANCE_LOCK, "INSERT INTO character_instance_lock (guid, mapId, lockId, instanceId, difficulty, data, completedEncountersMask, entranceWorldSafeLocId, expiryTime, extended) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); + PrepareStatement(CHAR_UPD_CHARACTER_INSTANCE_LOCK_EXTENSION, "UPDATE character_instance_lock SET extended = ? WHERE guid = ? AND mapId = ? AND lockId = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_INSTANCE, "DELETE FROM instance WHERE instanceId = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_INS_INSTANCE, "INSERT INTO instance (instanceId, data, completedEncountersMask, entranceWorldSafeLocId) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC); } CharacterDatabaseConnection::CharacterDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) diff --git a/src/server/database/Database/Implementation/CharacterDatabase.h b/src/server/database/Database/Implementation/CharacterDatabase.h index 26ec666a5d7..80e7f76337c 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.h +++ b/src/server/database/Database/Implementation/CharacterDatabase.h @@ -484,7 +484,6 @@ enum CharacterDatabaseStatements : uint32 CHAR_DEL_CHAR_AURA, CHAR_DEL_CHAR_AURA_EFFECT, CHAR_DEL_CHAR_GIFT, - CHAR_DEL_CHAR_INSTANCE, CHAR_DEL_CHAR_INVENTORY, CHAR_DEL_CHAR_QUESTSTATUS_REWARDED, CHAR_DEL_CHAR_REPUTATION, @@ -626,6 +625,13 @@ enum CharacterDatabaseStatements : uint32 CHAR_SEL_WAR_MODE_TUNING, + CHAR_DEL_CHARACTER_INSTANCE_LOCK, + CHAR_DEL_CHARACTER_INSTANCE_LOCK_BY_GUID, + CHAR_INS_CHARACTER_INSTANCE_LOCK, + CHAR_UPD_CHARACTER_INSTANCE_LOCK_EXTENSION, + CHAR_DEL_INSTANCE, + CHAR_INS_INSTANCE, + MAX_CHARACTERDATABASE_STATEMENTS }; |