PrepareStatement(CHAR_DEL_QUEST_POOL_SAVE,"DELETE FROM pool_quest_save WHERE pool_id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_QUEST_POOL_SAVE,"INSERT INTO pool_quest_save (pool_id, quest_id) VALUES (?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_NONEXISTENT_GUILD_BANK_ITEM,"DELETE FROM guild_bank_item WHERE guildid = ? AND TabId = ? AND SlotId = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_EXPIRED_BANS,"UPDATE character_banned SET active = 0 WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate <> bandate",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_GUID_BY_NAME,"SELECT guid FROM characters WHERE name = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHECK_NAME,"SELECT 1 FROM characters WHERE name = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHECK_GUID,"SELECT 1 FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_SUM_CHARS,"SELECT COUNT(guid) FROM characters WHERE account = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHAR_CREATE_INFO,"SELECT level, race, class FROM characters WHERE account = ? LIMIT 0, ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_CHARACTER_BAN,"INSERT INTO character_banned VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?, 1)",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHARACTER_BAN,"UPDATE character_banned SET active = 0 WHERE guid = ? AND active != 0",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHARACTER_BAN,"DELETE cb FROM character_banned cb INNER JOIN characters c ON c.guid = cb.guid WHERE c.account = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_BANINFO,"SELECT FROM_UNIXTIME(bandate), unbandate-bandate, active, unbandate, banreason, bannedby FROM character_banned WHERE guid = ? ORDER BY bandate ASC",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_GUID_BY_NAME_FILTER,"SELECT guid, name FROM characters WHERE name LIKE CONCAT('%%', ?, '%%')",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_BANINFO_LIST,"SELECT bandate, unbandate, bannedby, banreason FROM character_banned WHERE guid = ? ORDER BY unbandate",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_BANNED_NAME,"SELECT characters.name FROM characters, character_banned WHERE character_banned.guid = ? AND character_banned.guid = characters.guid",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_MAIL_LIST_INFO,"SELECT id, sender, (SELECT name FROM characters WHERE guid = sender) AS sendername, receiver, (SELECT name FROM characters WHERE guid = receiver) AS receivername, "
"subject, deliver_time, expire_time, money, has_items FROM mail WHERE receiver = ? ",CONNECTION_SYNCH);
"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);
PrepareStatement(CHAR_SEL_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);
PrepareStatement(CHAR_SEL_GUID_RACE_ACC_BY_NAME,"SELECT guid, race, account FROM characters WHERE name = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHAR_RACE,"SELECT race FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_LEVEL,"SELECT level FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_ZONE,"SELECT zone FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHARACTER_NAME_DATA,"SELECT race, class, gender, level FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_POSITION_XYZ,"SELECT map, position_x, position_y, position_z FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_POSITION,"SELECT position_x, position_y, position_z, orientation, map, taxi_path FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_QUEST_STATUS_DAILY,"DELETE FROM character_queststatus_daily",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_QUEST_STATUS_WEEKLY,"DELETE FROM character_queststatus_weekly",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_QUEST_STATUS_MONTHLY,"DELETE FROM character_queststatus_monthly",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_QUEST_STATUS_SEASONAL,"DELETE FROM character_queststatus_seasonal WHERE event = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_QUEST_STATUS_DAILY_CHAR,"DELETE FROM character_queststatus_daily WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_QUEST_STATUS_WEEKLY_CHAR,"DELETE FROM character_queststatus_weekly WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_QUEST_STATUS_MONTHLY_CHAR,"DELETE FROM character_queststatus_monthly WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR,"DELETE FROM character_queststatus_seasonal WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_BATTLEGROUND_RANDOM,"DELETE FROM character_battleground_random",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_BATTLEGROUND_RANDOM,"INSERT INTO character_battleground_random (guid) VALUES (?)",CONNECTION_ASYNC);
"FROM characters WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_GROUP_MEMBER,"SELECT guid FROM group_member WHERE memberGuid = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHARACTER_INSTANCE,"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);
PrepareStatement(CHAR_SEL_CHARACTER_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);
PrepareStatement(CHAR_SEL_CHARACTER_MAILCOUNT,"SELECT COUNT(id) FROM mail WHERE receiver = ? AND (checked & 1) = 0 AND deliver_time <= ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_MAILDATE,"SELECT MIN(deliver_time) FROM mail WHERE receiver = ? AND (checked & 1) = 0",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_MAIL_COUNT,"SELECT COUNT(*) FROM mail WHERE receiver = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHARACTER_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);
PrepareStatement(CHAR_SEL_CHARACTER_HOMEBIND,"SELECT mapId, zoneId, posX, posY, posZ FROM character_homebind WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_SPELLCOOLDOWNS,"SELECT spell, item, time FROM character_spell_cooldown WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_DECLINEDNAMES,"SELECT genitive, dative, accusative, instrumental, prepositional FROM character_declinedname WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_GUILD_MEMBER,"SELECT guildid, rank FROM guild_member WHERE guid = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHARACTER_ACHIEVEMENTS,"SELECT achievement, date FROM character_achievement WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_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);
PrepareStatement(CHAR_SEL_CHARACTER_BGDATA,"SELECT instanceId, team, joinX, joinY, joinZ, joinO, joinMapId, taxiStart, taxiEnd, mountSpell FROM character_battleground_data WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_GLYPHS,"SELECT spec, glyph1, glyph2, glyph3, glyph4, glyph5, glyph6 FROM character_glyphs WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_TALENTS,"SELECT spell, spec FROM character_talent WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_SKILLS,"SELECT skill, value, max FROM character_skills WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_RANDOMBG,"SELECT guid FROM character_battleground_random WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_BANNED,"SELECT guid FROM character_banned WHERE guid = ? AND active = 1",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_ACCOUNT_INSTANCELOCKTIMES,"SELECT instanceId, releaseTime FROM account_instance_times WHERE accountId = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_ACTIONS_SPEC,"SELECT button, action, type FROM character_action WHERE guid = ? AND spec = ? ORDER BY button",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_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);
PrepareStatement(CHAR_SEL_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);
PrepareStatement(CHAR_SEL_AUCTIONS,"SELECT id, auctioneerguid, itemguid, itemEntry, count, itemowner, buyoutprice, time, buyguid, lastbid, startbid, deposit FROM auctionhouse ah INNER JOIN item_instance ii ON ii.guid = ah.itemguid",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_MAIL_BY_ID,"DELETE FROM mail WHERE id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_MAIL_ITEM,"INSERT INTO mail_items(mail_id, item_guid, receiver) VALUES (?, ?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_MAIL_ITEM,"DELETE FROM mail_items WHERE item_guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INVALID_MAIL_ITEM,"DELETE FROM mail_items WHERE item_guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_EMPTY_EXPIRED_MAIL,"DELETE FROM mail WHERE expire_time < ? AND has_items = 0 AND body = ''",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_EXPIRED_MAIL,"SELECT id, messageType, sender, receiver, has_items, expire_time, cod, checked, mailTemplateId FROM mail WHERE expire_time < ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_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);
PrepareStatement(CHAR_UPD_MAIL_RETURNED,"UPDATE mail SET sender = ?, receiver = ?, expire_time = ?, deliver_time = ?, cod = 0, checked = ? WHERE id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_MAIL_ITEM_RECEIVER,"UPDATE mail_items SET receiver = ? WHERE item_guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_ITEM_OWNER,"UPDATE item_instance SET owner_guid = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_ITEM_REFUNDS,"SELECT player_guid, paidMoney, paidExtendedCost FROM item_refund_instance WHERE item_guid = ? AND player_guid = ? LIMIT 1",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_ITEM_BOP_TRADE,"SELECT allowedPlayers FROM item_soulbound_trade_data WHERE itemGuid = ? LIMIT 1",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_ITEM_BOP_TRADE,"DELETE FROM item_soulbound_trade_data WHERE itemGuid = ? LIMIT 1",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_ITEM_BOP_TRADE,"INSERT INTO item_soulbound_trade_data VALUES (?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GUILD_BANK_RIGHTS,"DELETE FROM guild_bank_right WHERE guildid = ?",CONNECTION_ASYNC);// 0: uint32
PrepareStatement(CHAR_DEL_GUILD_BANK_RIGHTS_FOR_RANK,"DELETE FROM guild_bank_right WHERE guildid = ? AND rid = ?",CONNECTION_ASYNC);// 0: uint32, 1: uint8
PrepareStatement(CHAR_DEL_GUILD_EVENTLOG,"DELETE FROM guild_eventlog WHERE guildid = ? AND LogGuid = ?",CONNECTION_ASYNC);// 0: uint32, 1: uint32
PrepareStatement(CHAR_DEL_GUILD_EVENTLOGS,"DELETE FROM guild_eventlog WHERE guildid = ?",CONNECTION_ASYNC);// 0: uint32
PrepareStatement(CHAR_UPD_GUILD_MEMBER_PNOTE,"UPDATE guild_member SET pnote = ? WHERE guid = ?",CONNECTION_ASYNC);// 0: string, 1: uint32
PrepareStatement(CHAR_UPD_GUILD_MEMBER_OFFNOTE,"UPDATE guild_member SET offnote = ? WHERE guid = ?",CONNECTION_ASYNC);// 0: string, 1: uint32
PrepareStatement(CHAR_UPD_GUILD_MEMBER_RANK,"UPDATE guild_member SET rank = ? WHERE guid = ?",CONNECTION_ASYNC);// 0: uint8, 1: uint32
PrepareStatement(CHAR_UPD_GUILD_MOTD,"UPDATE guild SET motd = ? WHERE guildid = ?",CONNECTION_ASYNC);// 0: string, 1: uint32
PrepareStatement(CHAR_UPD_GUILD_INFO,"UPDATE guild SET info = ? WHERE guildid = ?",CONNECTION_ASYNC);// 0: string, 1: uint32
PrepareStatement(CHAR_UPD_GUILD_LEADER,"UPDATE guild SET leaderguid = ? WHERE guildid = ?",CONNECTION_ASYNC);// 0: uint32, 1: uint32
PrepareStatement(CHAR_UPD_GUILD_RANK_NAME,"UPDATE guild_rank SET rname = ? WHERE rid = ? AND guildid = ?",CONNECTION_ASYNC);// 0: string, 1: uint8, 2: uint32
PrepareStatement(CHAR_UPD_GUILD_RANK_RIGHTS,"UPDATE guild_rank SET rights = ? WHERE rid = ? AND guildid = ?",CONNECTION_ASYNC);// 0: uint32, 1: uint8, 2: uint32
PrepareStatement(CHAR_UPD_GUILD_BANK_EVENTLOG_TAB,"UPDATE guild_bank_eventlog SET TabId = ? WHERE guildid = ? AND TabId = ? AND LogGuid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GUILD_RANK_BANK_MONEY,"UPDATE guild_rank SET BankMoneyPerDay = ? WHERE rid = ? AND guildid = ?",CONNECTION_ASYNC);// 0: uint32, 1: uint8, 2: uint32
PrepareStatement(CHAR_UPD_GUILD_BANK_TAB_TEXT,"UPDATE guild_bank_tab SET TabText = ? WHERE guildid = ? AND TabId = ?",CONNECTION_ASYNC);// 0: string, 1: uint32, 2: uint8
PrepareStatement(CHAR_DEL_ALL_GAME_EVENT_CONDITION_SAVE,"DELETE FROM game_event_condition_save WHERE eventEntry = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GAME_EVENT_CONDITION_SAVE,"DELETE FROM game_event_condition_save WHERE eventEntry = ? AND condition_id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_GAME_EVENT_CONDITION_SAVE,"INSERT INTO game_event_condition_save (eventEntry, condition_id, done) VALUES (?, ?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PETITION,"SELECT ownerguid, name, type FROM petition WHERE petitionguid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PETITION_SIGNATURE,"SELECT playerguid FROM petition_sign WHERE petitionguid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_ALL_PETITION_SIGNATURES,"DELETE FROM petition_sign WHERE playerguid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_PETITION_SIGNATURE,"DELETE FROM petition_sign WHERE playerguid = ? AND type = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PETITION_BY_OWNER,"SELECT petitionguid FROM petition WHERE ownerguid = ? AND type = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PETITION_TYPE,"SELECT type FROM petition WHERE petitionguid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PETITION_SIGNATURES,"SELECT ownerguid, (SELECT COUNT(playerguid) FROM petition_sign WHERE petition_sign.petitionguid = ?) AS signs, type FROM petition WHERE petitionguid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PETITION_SIG_BY_ACCOUNT,"SELECT playerguid FROM petition_sign WHERE player_account = ? AND petitionguid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PETITION_OWNER_BY_GUID,"SELECT ownerguid FROM petition WHERE petitionguid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PETITION_SIG_BY_GUID,"SELECT ownerguid, petitionguid FROM petition_sign WHERE playerguid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PETITION_SIG_BY_GUID_TYPE,"SELECT ownerguid, petitionguid FROM petition_sign WHERE playerguid = ? AND type = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_UPD_ARENA_TEAM_MEMBER,"UPDATE arena_team_member SET personalRating = ?, weekGames = ?, weekWins = ?, seasonGames = ?, seasonWins = ? WHERE arenaTeamId = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_REP_CHARACTER_ARENA_STATS,"REPLACE INTO character_arena_stats (guid, slot, matchMakerRating) VALUES (?, ?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_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);
PrepareStatement(CHAR_DEL_CREATURE_RESPAWN,"DELETE FROM creature_respawn WHERE guid = ? AND mapId = ? AND instanceId = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CREATURE_RESPAWN_BY_INSTANCE,"DELETE FROM creature_respawn WHERE mapId = ? AND instanceId = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_MAX_CREATURE_RESPAWNS,"SELECT MAX(respawnTime), instanceId FROM creature_respawn WHERE instanceId > 0 GROUP BY instanceId",CONNECTION_SYNCH);
PrepareStatement(CHAR_UPD_CHARACTER,"UPDATE characters SET name=?,race=?,class=?,gender=?,level=?,xp=?,money=?,playerBytes=?,playerBytes2=?,playerFlags=?,"
PrepareStatement(CHAR_DEL_GROUP_MEMBER,"DELETE FROM group_member WHERE memberGuid = ?",CONNECTION_ASYNC);
PrepareStatement(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);
PrepareStatement(CHAR_UPD_GROUP_LEADER,"UPDATE groups SET leaderGuid = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GROUP_TYPE,"UPDATE groups SET groupType = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GROUP_MEMBER_SUBGROUP,"UPDATE group_member SET subgroup = ? WHERE memberGuid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GROUP_MEMBER_FLAG,"UPDATE group_member SET memberFlags = ? WHERE memberGuid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GROUP_DIFFICULTY,"UPDATE groups SET difficulty = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GROUP_RAID_DIFFICULTY,"UPDATE groups SET raiddifficulty = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_DELETE_INFO,"UPDATE characters SET deleteInfos_Name = name, deleteInfos_Account = account, deleteDate = UNIX_TIMESTAMP(), name = '', account = 0 WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(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);
PrepareStatement(CHAR_UPD_ZONE,"UPDATE characters SET zone = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_LEVEL,"UPDATE characters SET level = ?, xp = 0 WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INVALID_ACHIEV_PROGRESS_CRITERIA,"DELETE FROM character_achievement_progress WHERE criteria = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INVALID_ACHIEVMENT,"DELETE FROM character_achievement WHERE achievement = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_ADDON,"INSERT INTO addons (name, crc) VALUES (?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INVALID_PET_SPELL,"DELETE FROM pet_spell WHERE spell = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GROUP_INSTANCE_BY_INSTANCE,"DELETE FROM group_instance WHERE instance = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GROUP_INSTANCE_BY_GUID,"DELETE FROM group_instance WHERE guid = ? AND instance = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_REP_GROUP_INSTANCE,"REPLACE INTO group_instance (guid, instance, permanent) VALUES (?, ?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_INSTANCE_RESETTIME,"UPDATE instance SET resettime = ? WHERE id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GLOBAL_INSTANCE_RESETTIME,"UPDATE instance_reset SET resettime = ? WHERE mapid = ? AND difficulty = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_ONLINE,"UPDATE characters SET online = 1 WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_NAME_AT_LOGIN,"UPDATE characters set name = ?, at_login = at_login & ~ ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_WORLDSTATE,"UPDATE worldstates SET value = ? WHERE entry = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_WORLDSTATE,"INSERT INTO worldstates (entry, value) VALUES (?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_INSTANCE_BY_INSTANCE_GUID,"DELETE FROM character_instance WHERE guid = ? AND instance = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_INSTANCE,"UPDATE character_instance SET instance = ?, permanent = ? WHERE guid = ? AND instance = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_CHAR_INSTANCE,"INSERT INTO character_instance (guid, instance, permanent) VALUES (?, ?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_GENDER_PLAYERBYTES,"UPDATE characters SET gender = ?, playerBytes = ?, playerBytes2 = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHARACTER_SKILL,"DELETE FROM character_skills WHERE guid = ? AND skill = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_ADD_CHARACTER_SOCIAL_FLAGS,"UPDATE character_social SET flags = flags | ? WHERE guid = ? AND friend = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_REM_CHARACTER_SOCIAL_FLAGS,"UPDATE character_social SET flags = flags & ~ ? WHERE guid = ? AND friend = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_CHARACTER_SOCIAL,"INSERT INTO character_social (guid, friend, flags) VALUES (?, ?, ?)",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHARACTER_SOCIAL,"DELETE FROM character_social WHERE guid = ? AND friend = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHARACTER_SOCIAL_NOTE,"UPDATE character_social SET note = ? WHERE guid = ? AND friend = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_AURA_FROZEN,"SELECT characters.name FROM characters LEFT JOIN character_aura ON (characters.guid = character_aura.guid) WHERE character_aura.spell = 9454",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHARACTER_ONLINE,"SELECT name, account, map, zone FROM characters WHERE online > 0",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_DEL_INFO_BY_GUID,"SELECT guid, deleteInfos_Name, deleteInfos_Account, deleteDate FROM characters WHERE deleteDate IS NOT NULL AND guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_DEL_INFO_BY_NAME,"SELECT guid, deleteInfos_Name, deleteInfos_Account, deleteDate FROM characters WHERE deleteDate IS NOT NULL AND deleteInfos_Name LIKE CONCAT('%%', ?, '%%')",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_DEL_INFO,"SELECT guid, deleteInfos_Name, deleteInfos_Account, deleteDate FROM characters WHERE deleteDate IS NOT NULL",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHARS_BY_ACCOUNT_ID,"SELECT guid FROM characters WHERE account = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_PINFO,"SELECT totaltime, level, money, account, race, class, map, zone FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PINFO_BANS,"SELECT unbandate, bandate = unbandate, bannedby, banreason FROM character_banned WHERE guid = ? AND active ORDER BY bandate ASC LIMIT 1",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_HOMEBIND,"SELECT mapId, zoneId, posX, posY, posZ FROM character_homebind WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_GUID_NAME_BY_ACC,"SELECT guid, name FROM characters WHERE account = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_POOL_QUEST_SAVE,"SELECT quest_id FROM pool_quest_save WHERE pool_id = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHARACTER_AT_LOGIN,"SELECT at_login FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_CLASS_LVL_AT_LOGIN,"SELECT class, level, at_login, knownTitles FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_AT_LOGIN_TITLES,"SELECT at_login, knownTitles FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_INSTANCE,"SELECT data, completedEncounters FROM instance WHERE map = ? AND id = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_COD_ITEM_MAIL,"SELECT id, messageType, mailTemplateId, sender, subject, body, money, has_items FROM mail WHERE receiver = ? AND has_items <> 0 AND cod <> 0",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_SOCIAL,"SELECT DISTINCT guid FROM character_social WHERE friend = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_OLD_CHARS,"SELECT guid, deleteInfos_Account FROM characters WHERE deleteDate IS NOT NULL AND deleteDate < ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_ARENA_TEAM_ID_BY_PLAYER_GUID,"SELECT arena_team_member.arenateamid FROM arena_team_member JOIN arena_team ON arena_team_member.arenateamid = arena_team.arenateamid WHERE guid = ? AND type = ? LIMIT 1",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_MAIL,"SELECT id, messageType, sender, receiver, subject, body, has_items, expire_time, deliver_time, money, cod, checked, stationery, mailTemplateId FROM mail WHERE receiver = ? ORDER BY id DESC",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_PLAYERBYTES2,"SELECT playerBytes2 FROM characters WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_GUID_BY_NAME,"SELECT guid FROM characters WHERE name = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_CHAR_AURA_FROZEN,"DELETE FROM character_aura WHERE spell = 9454 AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHAR_INVENTORY_COUNT_ITEM,"SELECT COUNT(itemEntry) FROM character_inventory ci INNER JOIN item_instance ii ON ii.guid = ci.item WHERE itemEntry = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_MAIL_COUNT_ITEM,"SELECT COUNT(itemEntry) FROM mail_items mi INNER JOIN item_instance ii ON ii.guid = mi.item_guid WHERE itemEntry = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_AUCTIONHOUSE_COUNT_ITEM,"SELECT COUNT(itemEntry) FROM auctionhouse ah INNER JOIN item_instance ii ON ii.guid = ah.itemguid WHERE itemEntry = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_GUILD_BANK_COUNT_ITEM,"SELECT COUNT(itemEntry) FROM guild_bank_item gbi INNER JOIN item_instance ii ON ii.guid = gbi.item_guid WHERE itemEntry = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_INVENTORY_ITEM_BY_ENTRY,"SELECT ci.item, cb.slot AS bag, ci.slot, ci.guid, c.account, c.name FROM characters c "
"INNER JOIN character_inventory ci ON ci.guid = c.guid "
"INNER JOIN item_instance ii ON ii.guid = ci.item "
"LEFT JOIN character_inventory cb ON cb.item = ci.bag WHERE ii.itemEntry = ? LIMIT ?",CONNECTION_SYNCH);
"FROM mail m INNER JOIN mail_items mi ON mi.mail_id = m.id INNER JOIN item_instance ii ON ii.guid = mi.item_guid "
"INNER JOIN characters cs ON cs.guid = m.sender INNER JOIN characters cr ON cr.guid = m.receiver WHERE ii.itemEntry = ? LIMIT ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_AUCTIONHOUSE_ITEM_BY_ENTRY,"SELECT ah.itemguid, ah.itemowner, c.account, c.name FROM auctionhouse ah INNER JOIN characters c ON c.guid = ah.itemowner INNER JOIN item_instance ii ON ii.guid = ah.itemguid WHERE ii.itemEntry = ? LIMIT ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_GUILD_BANK_ITEM_BY_ENTRY,"SELECT gi.item_guid, gi.guildid, g.name FROM guild_bank_item gi INNER JOIN guild g ON g.guildid = gi.guildid INNER JOIN item_instance ii ON ii.guid = gi.item_guid WHERE ii.itemEntry = ? LIMIT ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_CHAR_ACHIEVEMENT,"DELETE FROM character_achievement WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_ACHIEVEMENT_PROGRESS,"DELETE FROM character_achievement_progress WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_REPUTATION_BY_FACTION,"DELETE FROM character_reputation WHERE guid = ? AND faction = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INSTANCE_BY_INSTANCE,"DELETE FROM instance WHERE id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_INSTANCE_BY_INSTANCE,"DELETE FROM character_instance WHERE instance = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_INSTANCE_BY_MAP_DIFF,"DELETE FROM character_instance USING character_instance LEFT JOIN instance ON character_instance.instance = id WHERE map = ? and difficulty = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GROUP_INSTANCE_BY_MAP_DIFF,"DELETE FROM group_instance USING group_instance LEFT JOIN instance ON group_instance.instance = id WHERE map = ? and difficulty = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INSTANCE_BY_MAP_DIFF,"DELETE FROM instance WHERE map = ? and difficulty = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_MAIL_ITEM_BY_ID,"DELETE FROM mail_items WHERE mail_id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_FACTION_OR_RACE,"UPDATE characters SET name = ?, race = ?, at_login = at_login & ~ ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SKILL_LANGUAGES,"DELETE FROM character_skills WHERE skill IN (98, 113, 759, 111, 313, 109, 115, 315, 673, 137) AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_TAXI_PATH,"UPDATE characters SET taxi_path = '' WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_TAXIMASK,"UPDATE characters SET taximask = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_QUESTSTATUS,"DELETE FROM character_queststatus WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SOCIAL_BY_GUID,"DELETE FROM character_social WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SOCIAL_BY_FRIEND,"DELETE FROM character_social WHERE friend = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_ACHIEVEMENT_BY_ACHIEVEMENT,"DELETE FROM character_achievement WHERE achievement = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_ACHIEVEMENT,"UPDATE character_achievement SET achievement = ? where achievement = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_INVENTORY_FACTION_CHANGE,"UPDATE item_instance ii, character_inventory ci SET ii.itemEntry = ? WHERE ii.itemEntry = ? AND ci.guid = ? AND ci.item = ii.guid",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SPELL_BY_SPELL,"DELETE FROM character_spell WHERE spell = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_SPELL_FACTION_CHANGE,"UPDATE character_spell SET spell = ? where spell = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHAR_REP_BY_FACTION,"SELECT standing FROM character_reputation WHERE faction = ? AND guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_CHAR_REP_BY_FACTION,"DELETE FROM character_reputation WHERE faction = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_REP_FACTION_CHANGE,"UPDATE character_reputation SET faction = ?, standing = ? WHERE faction = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_TITLES_FACTION_CHANGE,"UPDATE characters SET knownTitles = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_RES_CHAR_TITLES_FACTION_CHANGE,"UPDATE characters SET chosenTitle = 0 WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SPELL_COOLDOWN,"DELETE FROM character_spell_cooldown WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHARACTER,"DELETE FROM characters WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_ACTION,"DELETE FROM character_action WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_AURA,"DELETE FROM character_aura 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 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);
PrepareStatement(CHAR_DEL_CHAR_SPELL,"DELETE FROM character_spell WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_MAIL,"DELETE FROM mail WHERE receiver = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_MAIL_ITEMS,"DELETE FROM mail_items WHERE receiver = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_ACHIEVEMENTS,"DELETE FROM character_achievement WHERE guid = ? AND achievement NOT BETWEEN '456' AND '467' AND achievement NOT BETWEEN '1400' AND '1427' AND achievement NOT IN(1463, 3117, 3259)",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_EQUIPMENTSETS,"DELETE FROM character_equipmentsets WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GUILD_EVENTLOG_BY_PLAYER,"DELETE FROM guild_eventlog WHERE PlayerGuid1 = ? OR PlayerGuid2 = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GUILD_BANK_EVENTLOG_BY_PLAYER,"DELETE FROM guild_bank_eventlog WHERE PlayerGuid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_GLYPHS,"DELETE FROM character_glyphs WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_QUESTSTATUS_DAILY,"DELETE FROM character_queststatus_daily WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_TALENT,"DELETE FROM character_talent WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SKILLS,"DELETE FROM character_skills WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UDP_CHAR_HONOR_POINTS,"UPDATE characters SET totalHonorPoints = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UDP_CHAR_ARENA_POINTS,"UPDATE characters SET arenaPoints = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UDP_CHAR_MONEY,"UPDATE characters SET money = ? WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_QUESTSTATUS_REWARDED_BY_QUEST,"DELETE FROM character_queststatus_rewarded WHERE guid = ? AND quest = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_QUESTSTATUS_REWARDED_FACTION_CHANGE,"UPDATE character_queststatus_rewarded SET quest = ? WHERE quest = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_QUESTSTATUS_REWARDED_ACTIVE,"UPDATE character_queststatus_rewarded SET active = 1 WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_QUESTSTATUS_REWARDED_ACTIVE_BY_QUEST,"UPDATE character_queststatus_rewarded SET active = 0 WHERE quest = ? AND guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CALENDAR_INVITE,"DELETE FROM calendar_invites WHERE id = ?",CONNECTION_ASYNC);
// Pet
PrepareStatement(CHAR_SEL_PET_SLOTS,"SELECT owner, slot FROM character_pet WHERE owner = ? AND slot >= ? AND slot <= ? ORDER BY slot",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PET_SLOTS_DETAIL,"SELECT owner, id, entry, level, name FROM character_pet WHERE owner = ? AND slot >= ? AND slot <= ? ORDER BY slot",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PET_ENTRY,"SELECT entry FROM character_pet WHERE owner = ? AND id = ? AND slot >= ? AND slot <= ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PET_SLOT_BY_ID,"SELECT slot, entry FROM character_pet WHERE owner = ? AND id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PET_SPELL_LIST,"SELECT DISTINCT pet_spell.spell FROM pet_spell, character_pet WHERE character_pet.owner = ? AND character_pet.id = pet_spell.guid AND character_pet.id <> ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_PET,"SELECT id FROM character_pet WHERE owner = ? AND id <> ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_PETS,"SELECT id FROM character_pet WHERE owner = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME_BY_OWNER,"DELETE FROM character_pet_declinedname WHERE owner = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME,"DELETE FROM character_pet_declinedname WHERE id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PET_SPELL,"SELECT spell, active FROM pet_spell WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PET_SPELL_COOLDOWN,"SELECT spell, time FROM pet_spell_cooldown WHERE guid = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PET_DECLINED_NAME,"SELECT genitive, dative, accusative, instrumental, prepositional FROM character_pet_declinedname WHERE owner = ? AND id = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_PET_AURAS,"DELETE FROM pet_aura WHERE guid = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_DEL_PET_SPELLS,"DELETE FROM pet_spell WHERE guid = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_PET_SPELL_COOLDOWNS,"DELETE FROM pet_spell_cooldown WHERE guid = ?",CONNECTION_BOTH);
PrepareStatement(CHAR_INS_PET_SPELL_COOLDOWN,"INSERT INTO pet_spell_cooldown (guid, spell, time) VALUES (?, ?, ?)",CONNECTION_BOTH);
PrepareStatement(CHAR_DEL_PET_SPELL_BY_SPELL,"DELETE FROM pet_spell WHERE guid = ? and spell = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_PET_SPELL,"INSERT INTO pet_spell (guid, spell, active) VALUES (?, ?, ?)",CONNECTION_BOTH);
PrepareStatement(CHAR_SEL_CHAR_PET_BY_ENTRY,"SELECT id, entry, owner, modelid, level, exp, Reactstate, slot, name, renamed, curhealth, curmana, curhappiness, abdata, savetime, CreatedBySpell, PetType FROM character_pet WHERE owner = ? AND id = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_PET_BY_ENTRY_AND_SLOT_2,"SELECT id, entry, owner, modelid, level, exp, Reactstate, slot, name, renamed, curhealth, curmana, curhappiness, abdata, savetime, CreatedBySpell, PetType FROM character_pet WHERE owner = ? AND entry = ? AND (slot = ? OR slot > ?)",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_PET_BY_SLOT,"SELECT id, entry, owner, modelid, level, exp, Reactstate, slot, name, renamed, curhealth, curmana, curhappiness, abdata, savetime, CreatedBySpell, PetType FROM character_pet WHERE owner = ? AND (slot = ? OR slot > ?) ",CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_PET_BY_ENTRY_AND_SLOT,"SELECT id, entry, owner, modelid, level, exp, Reactstate, slot, name, renamed, curhealth, curmana, curhappiness, abdata, savetime, CreatedBySpell, PetType FROM character_pet WHERE owner = ? AND slot = ?",CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_CHAR_PET_BY_OWNER,"DELETE FROM character_pet WHERE owner = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_PET_NAME,"UPDATE character_pet SET name = ?, renamed = 1 WHERE owner = ? AND id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UDP_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID,"UPDATE character_pet SET slot = ? WHERE owner = ? AND slot = ? AND id <> ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UDP_CHAR_PET_SLOT_BY_SLOT,"UPDATE character_pet SET slot = ? WHERE owner = ? AND slot = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_PET_SLOT_BY_ID,"UPDATE character_pet SET slot = ? WHERE owner = ? AND id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_PET_BY_ID,"DELETE FROM character_pet WHERE id = ?",CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_PET_BY_SLOT,"DELETE FROM character_pet WHERE owner = ? AND (slot = ? OR slot > ?)",CONNECTION_ASYNC);