PREPARE_STATEMENT(CHAR_DEL_QUEST_POOL_SAVE,"DELETE FROM pool_quest_save WHERE pool_id = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_ADD_QUEST_POOL_SAVE,"INSERT INTO pool_quest_save (pool_id, quest_id) VALUES (?, ?)",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_NONEXISTENT_GUILD_BANK_ITEM,"DELETE FROM guild_bank_item WHERE guildid = ? AND TabId = ? AND SlotId = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_EXPIRED_BANS,"UPDATE character_banned SET active = 0 WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate <> bandate",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_ADD_BAN,"INSERT INTO character_banned VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?, 1)",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_NOT_BANNED,"UPDATE character_banned SET active = 0 WHERE guid = ? AND active != 0",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_GET_BANINFO,"SELECT FROM_UNIXTIME(bandate), unbandate-bandate, active, unbandate, banreason, bannedby FROM character_banned WHERE guid = ? ORDER BY bandate ASC",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME_FILTER,"SELECT guid, name FROM characters WHERE name LIKE CONCAT('%', ?, '%')",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_BANINFO_LIST,"SELECT bandate, unbandate, bannedby, banreason FROM character_banned WHERE guid = ? ORDER BY unbandate",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_BANNED_NAME,"SELECT characters.name FROM characters, character_banned WHERE character_banned.guid = ? AND character_banned.guid = characters.guid",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_ENUM,"SELECT c.guid, c.name, c.race, c.class, c.gender, c.playerBytes, c.playerBytes2, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN guild_member AS gm ON c.guid = gm.guid LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? ORDER BY c.guid",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_ENUM_DECLINED_NAME,"SELECT c.guid, c.name, c.race, c.class, c.gender, c.playerBytes, c.playerBytes2, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, cd.genitive FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN character_declinedname AS cd ON c.guid = cd.guid LEFT JOIN guild_member AS gm ON c.guid = gm.guid LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? ORDER BY c.guid",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_PET_SLOTS,"SELECT owner, slot FROM character_pet WHERE owner = ? AND slot >= ? AND slot <= ? ORDER BY slot",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_PET_SLOTS_DETAIL,"SELECT owner, id, entry, level, name FROM character_pet WHERE owner = ? AND slot >= ? AND slot <= ? ORDER BY slot",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_PET_ENTRY,"SELECT entry FROM character_pet WHERE owner = ? AND id = ? AND slot >= ? AND slot <= ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_PET_SLOT_BY_ID,"SELECT slot, entry FROM character_pet WHERE owner = ? AND id = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_FREE_NAME,"SELECT guid, name FROM characters WHERE guid = ? AND account = ? AND (at_login & ?) = ? AND NOT EXISTS (SELECT NULL FROM characters WHERE name = ?)",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_GROUP,"SELECT guid FROM group_member WHERE memberGuid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_BOUNDINSTANCES,"SELECT id, permanent, map, difficulty, resettime FROM character_instance LEFT JOIN instance ON instance = id WHERE guid = ?",CONNECTION_ASYNC)
"item, itemEntry FROM character_inventory ci JOIN item_instance ii ON ci.item = ii.guid WHERE ci.guid = ? ORDER BY bag, slot",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ACTIONS,"SELECT a.button, a.action, a.type FROM character_action as a, characters as c WHERE a.guid = c.guid AND a.spec = c.activespec AND a.guid = ? ORDER BY button",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_MAILCOUNT,"SELECT COUNT(id) FROM mail WHERE receiver = ? AND (checked & 1) = 0 AND deliver_time <= ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_MAILDATE,"SELECT MIN(deliver_time) FROM mail WHERE receiver = ? AND (checked & 1) = 0",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_SOCIALLIST,"SELECT friend, flags, note FROM character_social JOIN characters ON characters.guid = character_social.friend WHERE character_social.guid = ? AND deleteinfos_name IS NULL LIMIT 255",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ACHIEVEMENTS,"SELECT achievement, date FROM character_achievement WHERE guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_CRITERIAPROGRESS,"SELECT criteria, counter, date FROM character_achievement_progress WHERE guid = ?",CONNECTION_ASYNC)
"item9, item10, item11, item12, item13, item14, item15, item16, item17, item18 FROM character_equipmentsets WHERE guid = ? ORDER BY setindex",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_GLYPHS,"SELECT spec, glyph1, glyph2, glyph3, glyph4, glyph5, glyph6 FROM character_glyphs WHERE guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_TALENTS,"SELECT spell, spec FROM character_talent WHERE guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_SKILLS,"SELECT skill, value, max FROM character_skills WHERE guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_RANDOMBG,"SELECT guid FROM character_battleground_random WHERE guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_BANNED,"SELECT guid FROM character_banned WHERE guid = ? AND active = 1",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_QUESTSTATUSREW,"SELECT quest FROM character_queststatus_rewarded WHERE guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_ACCOUNT_INSTANCELOCKTIMES,"SELECT instanceId, releaseTime FROM account_instance_times WHERE accountId = ?",CONNECTION_ASYNC)
// End LoginQueryHolder content
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ACTIONS_SPEC,"SELECT button, action, type FROM character_action WHERE guid = ? AND spec = ? ORDER BY button",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_MAILITEMS,"SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, item_guid, itemEntry, owner_guid FROM mail_items mi JOIN item_instance ii ON mi.item_guid = ii.guid WHERE mail_id = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_LOAD_AUCTION_ITEMS,"SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, itemguid, itemEntry FROM auctionhouse ah JOIN item_instance ii ON ah.itemguid = ii.guid",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_LOAD_AUCTIONS,"SELECT id, auctioneerguid, itemguid, itemEntry, itemowner, buyoutprice, time, buyguid, lastbid, startbid, deposit FROM auctionhouse ah INNER JOIN item_instance ii ON ii.guid = ah.itemguid",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_EXPIRED_MAIL_ITEMS,"SELECT item_guid, itemEntry, mail_id FROM mail_items mi INNER JOIN item_instance ii ON ii.guid = mi.item_guid LEFT JOIN mail mm ON mi.mail_id = mm.id WHERE mm.id IS NOT NULL AND mm.expire_time < ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_DEL_GUILD_BANK_RIGHT,"DELETE FROM guild_bank_right WHERE guildid = ? AND TabId = ? AND rid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint8, 2: uint8
PREPARE_STATEMENT(CHAR_DEL_GUILD_BANK_RIGHTS,"DELETE FROM guild_bank_right WHERE guildid = ?",CONNECTION_ASYNC)// 0: uint32
PREPARE_STATEMENT(CHAR_DEL_GUILD_BANK_RIGHTS_FOR_RANK,"DELETE FROM guild_bank_right WHERE guildid = ? AND rid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint8
PREPARE_STATEMENT(CHAR_DEL_GUILD_EVENTLOG,"DELETE FROM guild_eventlog WHERE guildid = ? AND LogGuid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint32
PREPARE_STATEMENT(CHAR_DEL_GUILD_EVENTLOGS,"DELETE FROM guild_eventlog WHERE guildid = ?",CONNECTION_ASYNC)// 0: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_PNOTE,"UPDATE guild_member SET pnote = ? WHERE guid = ?",CONNECTION_ASYNC)// 0: string, 1: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_OFFNOTE,"UPDATE guild_member SET offnote = ? WHERE guid = ?",CONNECTION_ASYNC)// 0: string, 1: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_RANK,"UPDATE guild_member SET rank = ? WHERE guid = ?",CONNECTION_ASYNC)// 0: uint8, 1: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_MOTD,"UPDATE guild SET motd = ? WHERE guildid = ?",CONNECTION_ASYNC)// 0: string, 1: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_INFO,"UPDATE guild SET info = ? WHERE guildid = ?",CONNECTION_ASYNC)// 0: string, 1: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_LEADER,"UPDATE guild SET leaderguid = ? WHERE guildid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_RANK_NAME,"UPDATE guild_rank SET rname = ? WHERE rid = ? AND guildid = ?",CONNECTION_ASYNC)// 0: string, 1: uint8, 2: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_RANK_RIGHTS,"UPDATE guild_rank SET rights = ? WHERE rid = ? AND guildid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint8, 2: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_BANK_MONEY,"UPDATE guild SET BankMoney = ? WHERE guildid = ?",CONNECTION_ASYNC)// 0: uint64, 1: uint32
// 0: uint8, 1: uint32, 2: uint8, 3: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_BANK_EVENTLOG_TAB,"UPDATE guild_bank_eventlog SET TabId = ? WHERE guildid = ? AND TabId = ? AND LogGuid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_REM_MONEY,"UPDATE guild_member SET BankRemMoney = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint32, 2: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_TIME_MONEY,"UPDATE guild_member SET BankResetTimeMoney = ?, BankRemMoney = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint32, 2: uint32, 3: uint32
PREPARE_STATEMENT(CHAR_RESET_GUILD_RANK_BANK_RESET_TIME,"UPDATE guild_member SET BankResetTimeMoney = 0 WHERE guildid = ? AND rank = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint8
PREPARE_STATEMENT(CHAR_SET_GUILD_RANK_BANK_MONEY,"UPDATE guild_rank SET BankMoneyPerDay = ? WHERE rid = ? AND guildid = ?",CONNECTION_ASYNC)// 0: uint32, 1: uint8, 2: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_BANK_TAB_TEXT,"UPDATE guild_bank_tab SET TabText = ? WHERE guildid = ? AND TabId = ?",CONNECTION_ASYNC)// 0: string, 1: uint32, 2: uint8
// 0: uint32, 1: uint32, 2: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS0,"UPDATE guild_member SET BankRemSlotsTab0 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS1,"UPDATE guild_member SET BankRemSlotsTab1 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS2,"UPDATE guild_member SET BankRemSlotsTab2 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS3,"UPDATE guild_member SET BankRemSlotsTab3 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS4,"UPDATE guild_member SET BankRemSlotsTab4 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS5,"UPDATE guild_member SET BankRemSlotsTab5 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
// 0: uint32, 1: uint32, 2: uint32, 3: uint32
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS0,"UPDATE guild_member SET BankResetTimeTab0 = ?, BankRemSlotsTab0 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS1,"UPDATE guild_member SET BankResetTimeTab1 = ?, BankRemSlotsTab1 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS2,"UPDATE guild_member SET BankResetTimeTab2 = ?, BankRemSlotsTab2 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS3,"UPDATE guild_member SET BankResetTimeTab3 = ?, BankRemSlotsTab3 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS4,"UPDATE guild_member SET BankResetTimeTab4 = ?, BankRemSlotsTab4 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS5,"UPDATE guild_member SET BankResetTimeTab5 = ?, BankRemSlotsTab5 = ? WHERE guildid = ? AND guid = ?",CONNECTION_ASYNC)
// 0: uint32, 1: uint8
PREPARE_STATEMENT(CHAR_RESET_GUILD_RANK_BANK_TIME0,"UPDATE guild_member SET BankResetTimeTab0 = 0 WHERE guildid = ? AND rank = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_RESET_GUILD_RANK_BANK_TIME1,"UPDATE guild_member SET BankResetTimeTab1 = 0 WHERE guildid = ? AND rank = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_RESET_GUILD_RANK_BANK_TIME2,"UPDATE guild_member SET BankResetTimeTab2 = 0 WHERE guildid = ? AND rank = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_RESET_GUILD_RANK_BANK_TIME3,"UPDATE guild_member SET BankResetTimeTab3 = 0 WHERE guildid = ? AND rank = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_RESET_GUILD_RANK_BANK_TIME4,"UPDATE guild_member SET BankResetTimeTab4 = 0 WHERE guildid = ? AND rank = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_RESET_GUILD_RANK_BANK_TIME5,"UPDATE guild_member SET BankResetTimeTab5 = 0 WHERE guildid = ? AND rank = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_CHAR_DATA_FOR_GUILD,"SELECT name, level, class, zone, account FROM characters WHERE guid = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_DEL_ALL_GAME_EVENT_CONDITION_SAVE,"DELETE FROM game_event_condition_save WHERE eventEntry = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_GAME_EVENT_CONDITION_SAVE,"DELETE FROM game_event_condition_save WHERE eventEntry = ? AND condition_id = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_ADD_GAME_EVENT_CONDITION_SAVE,"INSERT INTO game_event_condition_save (eventEntry, condition_id, done) VALUES (?, ?, ?)",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_ARENA_TEAMS,"SELECT arena_team_member.arenaTeamId FROM arena_team_member JOIN arena_team ON arena_team_member.arenaTeamId = arena_team.arenaTeamId WHERE guid = ?",CONNECTION_SYNCH);
PREPARE_STATEMENT(CHAR_DEL_CORPSE,"DELETE FROM corpse WHERE corpseGuid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_PLAYER_CORPSES,"DELETE FROM corpse WHERE guid = ? AND corpseType <> 0",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_OLD_CORPSES,"DELETE FROM corpse WHERE corpseType = 0 OR time < (UNIX_TIMESTAMP(NOW()) - ?)",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_RESET_NONEXISTENT_INSTANCE_FOR_CORPSES,"UPDATE corpse SET instanceId = 0 WHERE instanceId > 0 AND instanceId NOT IN (SELECT id FROM instance)",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_LOAD_CREATURE_RESPAWNS,"SELECT guid, respawnTime, instanceId FROM creature_respawn",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_ADD_CREATURE_RESPAWN,"REPLACE INTO creature_respawn (guid, respawnTime, instanceId) VALUES (?, ?, ?)",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_CREATURE_RESPAWN,"DELETE FROM creature_respawn WHERE guid = ? AND instanceId = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_CREATURE_RESPAWN_BY_GUID,"DELETE FROM creature_respawn WHERE guid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_CREATURE_RESPAWN_BY_INSTANCE,"DELETE FROM creature_respawn WHERE instanceId = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_GET_MAX_CREATURE_RESPAWNS,"SELECT MAX(respawnTime), instanceId FROM creature_respawn WHERE instanceId > 0 GROUP BY instanceId",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_DEL_NONEXISTENT_INSTANCE_CREATURE_RESPAWNS,"DELETE FROM creature_respawn WHERE instanceId > 0 AND instanceId NOT IN (SELECT instanceId FROM instance)",CONNECTION_SYNCH)
// Gameobject respawn
PREPARE_STATEMENT(CHAR_LOAD_GO_RESPAWNS,"SELECT guid, respawnTime, instanceId FROM gameobject_respawn",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_ADD_GO_RESPAWN,"REPLACE INTO gameobject_respawn (guid, respawnTime, instanceId) VALUES (?, ?, ?)",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_GO_RESPAWN,"DELETE FROM gameobject_respawn WHERE guid = ? AND instanceId = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_GO_RESPAWN_BY_INSTANCE,"DELETE FROM gameobject_respawn WHERE instanceId = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_EXPIRED_GO_RESPAWNS,"DELETE FROM gameobject_respawn WHERE respawnTime <= UNIX_TIMESTAMP(NOW())",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_DEL_NONEXISTENT_INSTANCE_GO_RESPAWNS,"DELETE FROM gameobject_respawn WHERE instanceId > 0 AND instanceId NOT IN (SELECT instanceId FROM instance)",CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_UPD_CHARACTER,"UPDATE characters SET name=?,race=?,class=?,gender=?,level=?,xp=?,money=?,playerBytes=?,playerBytes2=?,playerFlags=?,"
PREPARE_STATEMENT(CHAR_DEL_GROUP_MEMBER,"DELETE FROM group_member WHERE memberGuid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_DEL_GROUP_INSTANCE_PERM_BINDING,"DELETE FROM group_instance WHERE guid = ? AND (permanent = 1 OR instance IN (SELECT instance FROM character_instance WHERE guid = ?))",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_GROUP_LEADER,"UPDATE groups SET leaderGuid = ? WHERE guid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_GROUP_TYPE,"UPDATE groups SET groupType = ? WHERE guid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_GROUP_MEMBER_SUBGROUP,"UPDATE group_member SET subgroup = ? WHERE memberGuid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_GROUP_MEMBER_FLAG,"UPDATE group_member SET memberFlags = ? WHERE memberGuid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_GROUP_DIFFICULTY,"UPDATE groups SET difficulty = ? WHERE guid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_GROUP_RAID_DIFFICULTY,"UPDATE groups SET raiddifficulty = ? WHERE guid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UDP_RESTORE_DELETE_INFO,"UPDATE characters SET name = ?, account = ?, deleteDate = NULL, deleteInfos_Name = NULL, deleteInfos_Account = NULL WHERE deleteDate IS NOT NULL AND guid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_ZONE,"UPDATE characters SET zone = ? WHERE guid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_LEVEL,"UPDATE characters SET level = ?, xp = 0 WHERE guid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_DEL_INVALID_ACHIEV_PROGRESS_CRITERIA,"DELETE FROM character_achievement_progress WHERE criteria = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_DEL_INVALID_ACHIEVMENT,"DELETE FROM character_achievement WHERE achievement = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_ADD_ADDON,"INSERT INTO addons (name, crc) VALUES (?, ?)",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_DEL_INVALID_PET_SPELL,"DELETE FROM pet_spell WHERE spell = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_DEL_GROUP_INSTANCE_BY_INSTANCE,"DELETE FROM group_instance WHERE instance = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_DEL_GROUP_INSTANCE_BY_GUID,"DELETE FROM group_instance WHERE guid = ? AND instance = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_ADD_GROUP_INSTANCE,"REPLACE INTO group_instance (guid, instance, permanent) VALUES (?, ?, ?)",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_INSTANCE_RESETTIME,"UPDATE instance SET resettime = ? WHERE id = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_GLOBAL_INSTANCE_RESETTIME,"UPDATE instance_reset SET resettime = ? WHERE mapid = ? AND difficulty = ?",CONNECTION_ASYNC);