diff options
Diffstat (limited to 'src/server/shared/Database')
| -rw-r--r-- | src/server/shared/Database/Implementation/CharacterDatabase.cpp | 8 | ||||
| -rw-r--r-- | src/server/shared/Database/Implementation/CharacterDatabase.h | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index 66ec9f5bb94..9a8157ad9f1 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -39,6 +39,14 @@ bool CharacterDatabaseConnection::Open(const std::string& infoString) PrepareStatement(CHAR_DEL_TINY_GROUPS, "DELETE FROM groups WHERE guid NOT IN (SELECT guid FROM group_member GROUP BY guid HAVING COUNT(guid) > 1)"); PrepareStatement(CHAR_DEL_NONEXISTENT_GROUP_MEMBERS, "DELETE FROM group_member WHERE guid NOT IN (SELECT guid FROM groups)"); PrepareStatement(CHAR_DEL_NONEXISTENT_GROUP_INSTANCES, "DELETE FROM group_instance WHERE guid NOT IN (SELECT guid FROM groups)"); + PrepareStatement(CHAR_DEL_EXPIRED_BANS, "UPDATE character_banned SET active = 0 WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate <> bandate"); + PrepareStatement(CHAR_GET_GUID_BY_NAME, "SELECT guid FROM characters WHERE name = ?"); + PrepareStatement(CHAR_ADD_BAN, "INSERT INTO character_banned VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?, 1)"); + PrepareStatement(CHAR_SET_NOT_BANNED, "UPDATE character_banned SET active = 0 WHERE guid = ?"); + PrepareStatement(CHAR_GET_BANINFO, "SELECT FROM_UNIXTIME(bandate), unbandate-bandate, active, unbandate, banreason, bannedby FROM character_banned WHERE guid = ? ORDER BY bandate ASC"); + PrepareStatement(CHAR_GET_GUID_BY_NAME_FILTER, "SELECT guid, name FROM characters WHERE name LIKE CONCAT('%%', ?, '%%')"); + PrepareStatement(CHAR_GET_BANINFO_LIST, "SELECT bandate, unbandate, bannedby, banreason FROM character_banned WHERE guid = ? ORDER BY unbandate"); + PrepareStatement(CHAR_GET_BANNED_NAME, "SELECT characters.name FROM characters, character_banned WHERE character_banned.guid = ? AND character_banned.guid = characters.guid"); return true; } diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index 0807e3ebc11..1e855f135b4 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -53,6 +53,14 @@ enum CharacterDatabaseStatements CHAR_DEL_TINY_GROUPS, CHAR_DEL_NONEXISTENT_GROUP_MEMBERS, CHAR_DEL_NONEXISTENT_GROUP_INSTANCES, + CHAR_DEL_EXPIRED_BANS, + CHAR_GET_GUID_BY_NAME, + CHAR_ADD_BAN, + CHAR_SET_NOT_BANNED, + CHAR_GET_BANINFO, + CHAR_GET_GUID_BY_NAME_FILTER, + CHAR_GET_BANINFO_LIST, + CHAR_GET_BANNED_NAME, MAX_CHARACTERDATABASE_STATEMENTS, }; |
