Core/Characters: Replace 2 database statements with 1
Port From (https://github.com/TrinityCore/TrinityCore/commit/8cbc21120f81954382c06e89da204ec3c984e430)
This commit is contained in:
@@ -54,9 +54,8 @@ namespace Framework.Database
|
||||
PrepareStatement(LoginStatements.DEL_IP_NOT_BANNED, "DELETE FROM ip_banned WHERE ip = ?");
|
||||
PrepareStatement(LoginStatements.INS_ACCOUNT_BANNED, "INSERT INTO account_banned (id, bandate, unbandate, bannedby, banreason, active) VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?, 1)");
|
||||
PrepareStatement(LoginStatements.UPD_ACCOUNT_NOT_BANNED, "UPDATE account_banned SET active = 0 WHERE id = ? AND active != 0");
|
||||
PrepareStatement(LoginStatements.DEL_REALM_CHARACTERS_BY_REALM, "DELETE FROM realmcharacters WHERE acctid = ? AND realmid = ?");
|
||||
PrepareStatement(LoginStatements.DEL_REALM_CHARACTERS, "DELETE FROM realmcharacters WHERE acctid = ?");
|
||||
PrepareStatement(LoginStatements.INS_REALM_CHARACTERS, "INSERT INTO realmcharacters (numchars, acctid, realmid) VALUES (?, ?, ?)");
|
||||
PrepareStatement(LoginStatements.REP_REALM_CHARACTERS, "REPLACE INTO realmcharacters (numchars, acctid, realmid) VALUES (?, ?, ?)");
|
||||
PrepareStatement(LoginStatements.SEL_SUM_REALM_CHARACTERS, "SELECT SUM(numchars) FROM realmcharacters WHERE acctid = ?");
|
||||
PrepareStatement(LoginStatements.INS_ACCOUNT, "INSERT INTO account (username, salt, verifier, reg_mail, email, joindate, battlenet_account, battlenet_index) VALUES(?, ?, ?, ?, ?, NOW(), ?, ?)");
|
||||
PrepareStatement(LoginStatements.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");
|
||||
@@ -204,9 +203,8 @@ namespace Framework.Database
|
||||
SEL_ACCOUNT_BY_ID,
|
||||
INS_ACCOUNT_BANNED,
|
||||
UPD_ACCOUNT_NOT_BANNED,
|
||||
DEL_REALM_CHARACTERS_BY_REALM,
|
||||
DEL_REALM_CHARACTERS,
|
||||
INS_REALM_CHARACTERS,
|
||||
REP_REALM_CHARACTERS,
|
||||
SEL_SUM_REALM_CHARACTERS,
|
||||
INS_ACCOUNT,
|
||||
INS_REALM_CHARACTERS_INIT,
|
||||
|
||||
@@ -547,12 +547,7 @@ namespace Game
|
||||
newChar.SaveToDB(loginTransaction, characterTransaction, true);
|
||||
createInfo.CharCount += 1;
|
||||
|
||||
stmt = DB.Login.GetPreparedStatement(LoginStatements.DEL_REALM_CHARACTERS_BY_REALM);
|
||||
stmt.AddValue(0, GetAccountId());
|
||||
stmt.AddValue(1, Global.WorldMgr.GetRealm().Id.Index);
|
||||
loginTransaction.Append(stmt);
|
||||
|
||||
stmt = DB.Login.GetPreparedStatement(LoginStatements.INS_REALM_CHARACTERS);
|
||||
stmt = DB.Login.GetPreparedStatement(LoginStatements.REP_REALM_CHARACTERS);
|
||||
stmt.AddValue(0, createInfo.CharCount);
|
||||
stmt.AddValue(1, GetAccountId());
|
||||
stmt.AddValue(2, Global.WorldMgr.GetRealm().Id.Index);
|
||||
|
||||
@@ -1959,20 +1959,11 @@ namespace Game
|
||||
uint Id = result.Read<uint>(0);
|
||||
uint charCount = result.Read<uint>(1);
|
||||
|
||||
SQLTransaction trans = new();
|
||||
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.DEL_REALM_CHARACTERS_BY_REALM);
|
||||
stmt.AddValue(0, Id);
|
||||
stmt.AddValue(1, _realm.Id.Index);
|
||||
trans.Append(stmt);
|
||||
|
||||
stmt = DB.Login.GetPreparedStatement(LoginStatements.INS_REALM_CHARACTERS);
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.REP_REALM_CHARACTERS);
|
||||
stmt.AddValue(0, charCount);
|
||||
stmt.AddValue(1, Id);
|
||||
stmt.AddValue(2, _realm.Id.Index);
|
||||
trans.Append(stmt);
|
||||
|
||||
DB.Login.CommitTransaction(trans);
|
||||
DB.Login.DirectExecute(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user