PREPARE_STATEMENT(LOGIN_SEL_REALMLIST,"SELECT id, name, address, port, icon, color, timezone, allowedSecurityLevel, population, gamebuild FROM realmlist WHERE color <> 3 ORDER BY name",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_DEL_EXPIRED_IP_BANS,"DELETE FROM ip_banned WHERE unbandate<>bandate AND unbandate<=UNIX_TIMESTAMP()",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_UPD_EXPIRED_ACCOUNT_BANS,"UPDATE account_banned SET active = 0 WHERE active = 1 AND unbandate<>bandate AND unbandate<=UNIX_TIMESTAMP()",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_SEL_IP_BANNED,"SELECT * FROM ip_banned WHERE ip = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_SEL_SESSIONKEY,"SELECT a.sessionkey, a.id, aa.gmlevel FROM account a LEFT JOIN account_access aa ON (a.id = aa.id) WHERE username = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_UPD_VS,"UPDATE account SET v = ?, s = ? WHERE username = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_SEL_LOGONCHALLENGE,"SELECT a.sha_pass_hash, a.id, a.locked, a.last_ip, aa.gmlevel, a.v, a.s FROM account a LEFT JOIN account_access aa ON (a.id = aa.id) WHERE a.username = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_UPD_FAILEDLOGINS,"UPDATE account SET failed_logins = failed_logins + 1 WHERE username = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_SEL_FAILEDLOGINS,"SELECT id, failed_logins FROM account WHERE username = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_SEL_ACCOUNT_ID_BY_NAME,"SELECT id FROM account WHERE username = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_SEL_NUM_CHARS_ON_REALM,"SELECT numchars FROM realmcharacters WHERE realmid = ? AND acctid= ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_SEL_ACCOUNT_BY_IP,"SELECT id FROM account WHERE last_ip = ?",CONNECTION_SYNCH)
PREPARE_STATEMENT(LOGIN_INS_IP_BANNED,"INSERT INTO ip_banned VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?)",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_DEL_IP_NOT_BANNED,"DELETE FROM ip_banned WHERE ip = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_INS_ACCOUNT_BANNED,"INSERT INTO account_banned VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?, 1)",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_UPD_ACCOUNT_NOT_BANNED,"UPDATE account_banned SET active = 0 WHERE id = ? AND active != 0",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_DEL_REALM_CHARACTERS,"DELETE FROM realmcharacters WHERE acctid = ? AND realmid = ?",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_INS_REALM_CHARACTERS,"INSERT INTO realmcharacters (numchars, acctid, realmid) VALUES (?, ?, ?)",CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_SEL_SUM_REALM_CHARACTERS,"SELECT SUM(numchars) FROM realmcharacters WHERE acctid = ?",CONNECTION_ASYNC);
PREPARE_STATEMENT(LOGIN_INS_ACCOUNT,"INSERT INTO account(username, sha_pass_hash, joindate) VALUES(?, ?, NOW())",CONNECTION_ASYNC);
PREPARE_STATEMENT(LOGIN_INS_REALM_CHARACTERS_INIT,"INSERT INTO realmcharacters (realmid, acctid, numchars) SELECT realmlist.id, account.id, 0 FROM realmlist, account LEFT JOIN realmcharacters ON acctid=account.id WHERE acctid IS NULL",CONNECTION_ASYNC);