forked from LogBlock/LogBlock
Add players: Try a less odd query if the first one failed
This commit is contained in:
@ -620,19 +620,27 @@ public class Consumer extends Thread {
|
||||
String name = actor.getName();
|
||||
String uuid = actor.getUUID();
|
||||
Statement state = conn.createStatement();
|
||||
String q1 = "INSERT IGNORE INTO `lb-players` (playername,UUID) SELECT '" + mysqlTextEscape(name) + "','" + mysqlTextEscape(uuid) + "' FROM `lb-players` WHERE NOT EXISTS (SELECT NULL FROM `lb-players` WHERE UUID = '" + mysqlTextEscape(uuid) + "') LIMIT 1;";
|
||||
String q1 = "INSERT IGNORE INTO `lb-players` (playername,UUID) SELECT '" + mysqlTextEscape(name) + "','" + mysqlTextEscape(uuid) + "' FROM `lb-players` WHERE NOT EXISTS (SELECT NULL FROM `lb-players` WHERE UUID = '" + mysqlTextEscape(uuid) + "') LIMIT 1";
|
||||
String q2 = "SELECT playerid FROM `lb-players` WHERE UUID = '" + mysqlTextEscape(uuid) + "'";
|
||||
int q1Result = state.executeUpdate(q1);
|
||||
final ResultSet rs = state.executeQuery(q2);
|
||||
ResultSet rs = state.executeQuery(q2);
|
||||
if (rs.next()) {
|
||||
uncommitedPlayerIds.put(actor, rs.getInt(1));
|
||||
} else {
|
||||
logblock.getLogger().warning("[Consumer] Failed to add player " + actor.getName());
|
||||
logblock.getLogger().warning("[Consumer-Debug] Query 1: " + q1);
|
||||
logblock.getLogger().warning("[Consumer-Debug] Query 1 - Result: " + q1Result);
|
||||
logblock.getLogger().warning("[Consumer-Debug] Query 2: " + q2);
|
||||
}
|
||||
rs.close();
|
||||
if (!uncommitedPlayerIds.containsKey(actor)) {
|
||||
state.executeUpdate("INSERT IGNORE INTO `lb-players` (playername,UUID) VALUES ('" + mysqlTextEscape(name) + "','" + mysqlTextEscape(uuid) + "')");
|
||||
rs = state.executeQuery(q2);
|
||||
if (rs.next()) {
|
||||
uncommitedPlayerIds.put(actor, rs.getInt(1));
|
||||
} else {
|
||||
logblock.getLogger().warning("[Consumer] Failed to add player " + actor.getName());
|
||||
logblock.getLogger().warning("[Consumer-Debug] Query 1: " + q1);
|
||||
logblock.getLogger().warning("[Consumer-Debug] Query 1 - Result: " + q1Result);
|
||||
logblock.getLogger().warning("[Consumer-Debug] Query 2: " + q2);
|
||||
}
|
||||
rs.close();
|
||||
}
|
||||
state.close();
|
||||
return uncommitedPlayerIds.containsKey(actor);
|
||||
}
|
||||
|
Reference in New Issue
Block a user