any time we call getResult, we likely re-parse the sql object. caching result item into a variable is more efficient

This commit is contained in:
Matt Parnell
2014-08-20 23:32:23 -05:00
parent 448ef2b2e6
commit 0833e3f745
+5 -3
View File
@@ -128,15 +128,17 @@ public class ConnectionService implements INetworkDispatch {
try {
preparedStatement = databaseConnection.preparedStatement("SELECT * FROM sessions WHERE key=?");
preparedStatement = databaseConnection.preparedStatement("SELECT accountId FROM sessions WHERE key=?");
preparedStatement.setBytes(1, clientIdMsg.getSessionKey());
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
client.setAccountId(resultSet.getLong("accountId"));
long accountId = resultSet.getLong("accountID");
client.setAccountId(accountId);
client.setSessionKey(clientIdMsg.getSessionKey());
AccountFeatureBits accountFeatureBits = new AccountFeatureBits();
ClientPermissionsMessage clientPermissionsMessage = new ClientPermissionsMessage(maxNumberOfCharacters - core.characterService.getNumberOfCharacters((int) resultSet.getLong("accountId")));
ClientPermissionsMessage clientPermissionsMessage = new ClientPermissionsMessage(maxNumberOfCharacters - core.characterService.getNumberOfCharacters((int) accountId));
session.write(new HeartBeatMessage().serialize());
session.write(accountFeatureBits.serialize());
session.write(clientPermissionsMessage.serialize());