Attempt to get valid connections when doing operations, should help with
reconnecting to the database after an error has occured.
This commit is contained in:
parent
205e7a4e22
commit
3a09144b52
@ -205,13 +205,13 @@ public class JailIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void createTables() {
|
private void createTables() {
|
||||||
if(con == null) {
|
if(getConnection() == null) {
|
||||||
pl.debug("The connection was null when we tried to create a table.");
|
pl.debug("The connection was null when we tried to create a table.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Statement st = con.createStatement();
|
Statement st = getConnection().createStatement();
|
||||||
switch(storage){
|
switch(storage){
|
||||||
case 1:
|
case 1:
|
||||||
String sqlJailCreateCmd = "CREATE TABLE IF NOT EXISTS `" + prefix + "jails` ("
|
String sqlJailCreateCmd = "CREATE TABLE IF NOT EXISTS `" + prefix + "jails` ("
|
||||||
@ -394,8 +394,7 @@ public class JailIO {
|
|||||||
long st = System.currentTimeMillis();
|
long st = System.currentTimeMillis();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(con == null) this.prepareStorage(false);
|
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM " + prefix + "jails");
|
||||||
PreparedStatement ps = con.prepareStatement("SELECT * FROM " + prefix + "jails");
|
|
||||||
ResultSet set = ps.executeQuery();
|
ResultSet set = ps.executeQuery();
|
||||||
|
|
||||||
while(set.next()) {
|
while(set.next()) {
|
||||||
@ -428,8 +427,7 @@ public class JailIO {
|
|||||||
List<Integer> cellsToRemove = new LinkedList<Integer>();
|
List<Integer> cellsToRemove = new LinkedList<Integer>();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(con == null) this.prepareStorage(false);
|
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM " + prefix + "cells");
|
||||||
PreparedStatement ps = con.prepareStatement("SELECT * FROM " + prefix + "cells");
|
|
||||||
ResultSet set = ps.executeQuery();
|
ResultSet set = ps.executeQuery();
|
||||||
|
|
||||||
while(set.next()) {
|
while(set.next()) {
|
||||||
@ -480,7 +478,7 @@ public class JailIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PreparedStatement cds = con.prepareStatement("delete from " + prefix + "cells where cellid in (" + names + ");");
|
PreparedStatement cds = getConnection().prepareStatement("delete from " + prefix + "cells where cellid in (" + names + ");");
|
||||||
|
|
||||||
pl.debug("Deleting old cells: 'delete from " + prefix + "cells where cellid in (" + names + ");'");
|
pl.debug("Deleting old cells: 'delete from " + prefix + "cells where cellid in (" + names + ");'");
|
||||||
|
|
||||||
@ -500,8 +498,7 @@ public class JailIO {
|
|||||||
List<String> prisonersToRemove = new LinkedList<String>();
|
List<String> prisonersToRemove = new LinkedList<String>();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(con == null) this.prepareStorage(false);
|
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM " + prefix + "prisoners");
|
||||||
PreparedStatement ps = con.prepareStatement("SELECT * FROM " + prefix + "prisoners");
|
|
||||||
ResultSet set = ps.executeQuery();
|
ResultSet set = ps.executeQuery();
|
||||||
|
|
||||||
while(set.next()) {
|
while(set.next()) {
|
||||||
@ -553,7 +550,7 @@ public class JailIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PreparedStatement pds = con.prepareStatement("delete from " + prefix + "prisoners where name in (" + names + ");");
|
PreparedStatement pds = getConnection().prepareStatement("delete from " + prefix + "prisoners where name in (" + names + ");");
|
||||||
|
|
||||||
pl.debug("Deleting old prisoners: 'delete from " + prefix + "prisoners where name in (" + names + ");'");
|
pl.debug("Deleting old prisoners: 'delete from " + prefix + "prisoners where name in (" + names + ");'");
|
||||||
|
|
||||||
@ -733,7 +730,7 @@ public class JailIO {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if(con == null) this.prepareStorage(false);
|
if(con == null) this.prepareStorage(false);
|
||||||
PreparedStatement ps = con.prepareStatement("REPLACE INTO "
|
PreparedStatement ps = getConnection().prepareStatement("REPLACE INTO "
|
||||||
+ prefix + "jails (`name`, `world`, `top.x`, `top.y`, `top.z`, `bottom.x`, `bottom.y`,"
|
+ prefix + "jails (`name`, `world`, `top.x`, `top.y`, `top.z`, `bottom.x`, `bottom.y`,"
|
||||||
+ "`bottom.z`, `tps.in.x`, `tps.in.y`, `tps.in.z`, `tps.in.yaw`, `tps.in.pitch`,"
|
+ "`bottom.z`, `tps.in.x`, `tps.in.y`, `tps.in.z`, `tps.in.yaw`, `tps.in.pitch`,"
|
||||||
+ "`tps.free.world`, `tps.free.x`, `tps.free.y`, `tps.free.z`, `tps.free.yaw`, `tps.free.pitch`)"
|
+ "`tps.free.world`, `tps.free.x`, `tps.free.y`, `tps.free.z`, `tps.free.yaw`, `tps.free.pitch`)"
|
||||||
@ -768,12 +765,10 @@ public class JailIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(con == null) this.prepareStorage(false);
|
|
||||||
|
|
||||||
for(Cell c : j.getCells()) {
|
for(Cell c : j.getCells()) {
|
||||||
if(c.hasPrisoner() && c.getPrisoner().wasChanged()) {
|
if(c.hasPrisoner() && c.getPrisoner().wasChanged()) {
|
||||||
Prisoner p = c.getPrisoner();
|
Prisoner p = c.getPrisoner();
|
||||||
PreparedStatement pPS = con.prepareStatement("REPLACE INTO `" + prefix + "prisoners` (`uuid`, `name`, `jail`, `cell`, `muted`, `time`,"
|
PreparedStatement pPS = getConnection().prepareStatement("REPLACE INTO `" + prefix + "prisoners` (`uuid`, `name`, `jail`, `cell`, `muted`, `time`,"
|
||||||
+ "`offlinePending`, `toBeTransferred`, `jailer`, `reason`, `inventory`, `armor`, `previousLocation`, `previousGameMode`)"
|
+ "`offlinePending`, `toBeTransferred`, `jailer`, `reason`, `inventory`, `armor`, `previousLocation`, `previousGameMode`)"
|
||||||
+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
||||||
pPS.setString(1, p.getUUID().toString());
|
pPS.setString(1, p.getUUID().toString());
|
||||||
@ -804,11 +799,9 @@ public class JailIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(con == null) this.prepareStorage(false);
|
|
||||||
|
|
||||||
for(Prisoner p : j.getPrisonersNotInCells().values()) {
|
for(Prisoner p : j.getPrisonersNotInCells().values()) {
|
||||||
if(p.wasChanged()) {
|
if(p.wasChanged()) {
|
||||||
PreparedStatement pPS = con.prepareStatement("REPLACE INTO `" + prefix + "prisoners` (`uuid`, `name`, `jail`, `cell`, `muted`, `time`,"
|
PreparedStatement pPS = getConnection().prepareStatement("REPLACE INTO `" + prefix + "prisoners` (`uuid`, `name`, `jail`, `cell`, `muted`, `time`,"
|
||||||
+ "`offlinePending`, `toBeTransferred`, `jailer`, `reason`, `inventory`, `armor`, `previousLocation`, `previousGameMode`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
+ "`offlinePending`, `toBeTransferred`, `jailer`, `reason`, `inventory`, `armor`, `previousLocation`, `previousGameMode`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
||||||
pPS.setString(1, p.getUUID().toString());
|
pPS.setString(1, p.getUUID().toString());
|
||||||
pPS.setString(2, p.getLastKnownName());
|
pPS.setString(2, p.getLastKnownName());
|
||||||
@ -950,9 +943,7 @@ public class JailIO {
|
|||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
try {
|
try {
|
||||||
if(con == null) this.prepareStorage(false);
|
PreparedStatement cPS = getConnection().prepareStatement("INSERT INTO `" + prefix + "cells` (`name`, `jail`, `tp.x`, `tp.y`, `tp.z`, `tp.yaw`,"
|
||||||
|
|
||||||
PreparedStatement cPS = con.prepareStatement("INSERT INTO `" + prefix + "cells` (`name`, `jail`, `tp.x`, `tp.y`, `tp.z`, `tp.yaw`,"
|
|
||||||
+ "`tp.pitch`, `chest.x`, `chest.y`, `chest.z`, `signs`) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
|
+ "`tp.pitch`, `chest.x`, `chest.y`, `chest.z`, `signs`) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
|
||||||
|
|
||||||
cPS.setString(1, c.getName());
|
cPS.setString(1, c.getName());
|
||||||
@ -980,7 +971,7 @@ public class JailIO {
|
|||||||
|
|
||||||
if(c.hasPrisoner()) {
|
if(c.hasPrisoner()) {
|
||||||
Prisoner p = c.getPrisoner();
|
Prisoner p = c.getPrisoner();
|
||||||
PreparedStatement pPS = con.prepareStatement("REPLACE INTO `" + prefix + "prisoners` (`uuid`, `name`, `jail`, `cell`, `muted`, `time`,"
|
PreparedStatement pPS = getConnection().prepareStatement("REPLACE INTO `" + prefix + "prisoners` (`uuid`, `name`, `jail`, `cell`, `muted`, `time`,"
|
||||||
+ "`offlinePending`, `toBeTransferred`, `jailer`, `reason`, `inventory`, `armor`, `previousLocation`, `previousGameMode`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
+ "`offlinePending`, `toBeTransferred`, `jailer`, `reason`, `inventory`, `armor`, `previousLocation`, `previousGameMode`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
||||||
pPS.setString(1, p.getUUID().toString());
|
pPS.setString(1, p.getUUID().toString());
|
||||||
pPS.setString(2, p.getLastKnownName());
|
pPS.setString(2, p.getLastKnownName());
|
||||||
@ -1035,7 +1026,7 @@ public class JailIO {
|
|||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
try {
|
try {
|
||||||
PreparedStatement pp = con.prepareStatement("delete from `" + prefix + "prisoners` where uuid = ?");
|
PreparedStatement pp = getConnection().prepareStatement("delete from `" + prefix + "prisoners` where uuid = ?");
|
||||||
pp.setString(1, p.getUUID().toString());
|
pp.setString(1, p.getUUID().toString());
|
||||||
|
|
||||||
pl.debug("Removing " + p.getLastKnownName() + " (" + p.getUUID().toString() + ") from MySQL database.");
|
pl.debug("Removing " + p.getLastKnownName() + " (" + p.getUUID().toString() + ") from MySQL database.");
|
||||||
@ -1083,7 +1074,7 @@ public class JailIO {
|
|||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
try {
|
try {
|
||||||
PreparedStatement p = con.prepareStatement("delete from `" + prefix + "cells` where name = ? and jail = ? limit 1;");
|
PreparedStatement p = getConnection().prepareStatement("delete from `" + prefix + "cells` where name = ? and jail = ? limit 1;");
|
||||||
p.setString(1, c.getName());
|
p.setString(1, c.getName());
|
||||||
p.setString(2, j.getName());
|
p.setString(2, j.getName());
|
||||||
|
|
||||||
@ -1127,7 +1118,7 @@ public class JailIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PreparedStatement p = con.prepareStatement("delete from `" + prefix + "jails` where name = ?");
|
PreparedStatement p = getConnection().prepareStatement("delete from `" + prefix + "jails` where name = ?");
|
||||||
p.setString(1, name);
|
p.setString(1, name);
|
||||||
|
|
||||||
p.executeUpdate();
|
p.executeUpdate();
|
||||||
@ -1168,7 +1159,7 @@ public class JailIO {
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
try {
|
try {
|
||||||
PreparedStatement p = con.prepareStatement("insert into `" + prefix + "records` (`uuid`, `username`, `jailer`, `date`, `time`, `reason`) VALUES (?,?,?,?,?,?);");
|
PreparedStatement p = getConnection().prepareStatement("insert into `" + prefix + "records` (`uuid`, `username`, `jailer`, `date`, `time`, `reason`) VALUES (?,?,?,?,?,?);");
|
||||||
p.setString(1, uuid);
|
p.setString(1, uuid);
|
||||||
p.setString(2, username);
|
p.setString(2, username);
|
||||||
p.setString(3, jailer);
|
p.setString(3, jailer);
|
||||||
@ -1219,7 +1210,7 @@ public class JailIO {
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
try {
|
try {
|
||||||
PreparedStatement ps = con.prepareStatement("SELECT * FROM " + prefix + "records where uuid = ?");
|
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM " + prefix + "records where uuid = ?");
|
||||||
ps.setString(1, uuid.toString());
|
ps.setString(1, uuid.toString());
|
||||||
ResultSet set = ps.executeQuery();
|
ResultSet set = ps.executeQuery();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user