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 name = actor.getName();
|
||||||
String uuid = actor.getUUID();
|
String uuid = actor.getUUID();
|
||||||
Statement state = conn.createStatement();
|
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) + "'";
|
String q2 = "SELECT playerid FROM `lb-players` WHERE UUID = '" + mysqlTextEscape(uuid) + "'";
|
||||||
int q1Result = state.executeUpdate(q1);
|
int q1Result = state.executeUpdate(q1);
|
||||||
final ResultSet rs = state.executeQuery(q2);
|
ResultSet rs = state.executeQuery(q2);
|
||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
uncommitedPlayerIds.put(actor, rs.getInt(1));
|
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();
|
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();
|
state.close();
|
||||||
return uncommitedPlayerIds.containsKey(actor);
|
return uncommitedPlayerIds.containsKey(actor);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user