Merge pull request #316 from zreed/sqltableprefix

This commit is contained in:
sk89q 2014-07-06 15:36:59 -07:00
parent d827e01760
commit 894a42ea13
2 changed files with 41 additions and 39 deletions

View File

@ -111,6 +111,7 @@ public class ConfigurationManager {
public String sqlDsn;
public String sqlUsername;
public String sqlPassword;
public String sqlTablePrefix;
/**
* Construct the object.
@ -168,6 +169,7 @@ public void load() {
sqlDsn = config.getString("regions.sql.dsn", "jdbc:mysql://localhost/worldguard");
sqlUsername = config.getString("regions.sql.username", "worldguard");
sqlPassword = config.getString("regions.sql.password", "worldguard");
sqlTablePrefix = config.getString("regions.sql.table-prefix", "");
// Load configurations for each world
for (World world : plugin.getServer().getWorlds()) {

View File

@ -76,7 +76,7 @@ public MySQLDatabase(ConfigurationManager config, String world, Logger logger) t
try {
// Test if the database is up to date, if not throw a critical error
verTest = this.conn.prepareStatement(
"SELECT `world_id` FROM `region_cuboid` LIMIT 0,1;"
"SELECT `world_id` FROM `" + config.sqlTablePrefix + "region_cuboid` LIMIT 0,1;"
);
verTest.execute();
} catch (SQLException ex) {
@ -89,7 +89,7 @@ public MySQLDatabase(ConfigurationManager config, String world, Logger logger) t
worldStmt = conn.prepareStatement(
"SELECT `id` FROM " +
"`world` " +
"`" + config.sqlTablePrefix + "world` " +
"WHERE `name` = ? LIMIT 0,1"
);
@ -101,7 +101,7 @@ public MySQLDatabase(ConfigurationManager config, String world, Logger logger) t
} else {
insertWorldStatement = this.conn.prepareStatement(
"INSERT INTO " +
"`world` " +
"`" + config.sqlTablePrefix + "world` " +
"(`id`, `name`) VALUES (null, ?)",
Statement.RETURN_GENERATED_KEYS
);
@ -170,9 +170,9 @@ private void loadFlags(ProtectedRegion region) {
"SELECT " +
"`region_flag`.`flag`, " +
"`region_flag`.`value` " +
"FROM `region_flag` " +
"WHERE `region_flag`.`region_id` = ? " +
"AND `region_flag`.`world_id` = " + this.worldDbId
"FROM `" + config.sqlTablePrefix + "region_flag` AS `region_flag` " +
"WHERE `region_id` = ? " +
"AND `world_id` = " + this.worldDbId
);
flagsStatement.setString(1, region.getId().toLowerCase());
@ -225,8 +225,8 @@ private void loadOwnersAndMembers(ProtectedRegion region) {
"SELECT " +
"`user`.`name`, " +
"`region_players`.`owner` " +
"FROM `region_players` " +
"LEFT JOIN `user` ON ( " +
"FROM `" + config.sqlTablePrefix + "region_players` AS `region_players` " +
"LEFT JOIN `" + config.sqlTablePrefix + "user` AS `user` ON ( " +
"`region_players`.`user_id` = " +
"`user`.`id`) " +
"WHERE `region_players`.`region_id` = ? " +
@ -256,8 +256,8 @@ private void loadOwnersAndMembers(ProtectedRegion region) {
"SELECT " +
"`group`.`name`, " +
"`region_groups`.`owner` " +
"FROM `region_groups` " +
"LEFT JOIN `group` ON ( " +
"FROM `" + config.sqlTablePrefix + "region_groups` AS `region_groups` " +
"LEFT JOIN `" + config.sqlTablePrefix + "group` AS `group` ON ( " +
"`region_groups`.`group_id` = " +
"`group`.`id`) " +
"WHERE `region_groups`.`region_id` = ? " +
@ -296,8 +296,8 @@ private void loadGlobal() {
"`region`.`id`, " +
"`region`.`priority`, " +
"`parent`.`id` AS `parent` " +
"FROM `region` " +
"LEFT JOIN `region` AS `parent` " +
"FROM `" + config.sqlTablePrefix + "region` AS `region` " +
"LEFT JOIN `" + config.sqlTablePrefix + "region` AS `parent` " +
"ON (`region`.`parent` = `parent`.`id` " +
"AND `region`.`world_id` = `parent`.`world_id`) " +
"WHERE `region`.`type` = 'global' " +
@ -356,11 +356,11 @@ private void loadCuboid() {
"`region`.`id`, " +
"`region`.`priority`, " +
"`parent`.`id` AS `parent` " +
"FROM `region_cuboid` " +
"LEFT JOIN `region` " +
"FROM `" + config.sqlTablePrefix + "region_cuboid` AS `region_cuboid` " +
"LEFT JOIN `" + config.sqlTablePrefix + "region` AS `region` " +
"ON (`region_cuboid`.`region_id` = `region`.`id` " +
"AND `region_cuboid`.`world_id` = `region`.`world_id`) " +
"LEFT JOIN `region` AS `parent` " +
"LEFT JOIN `" + config.sqlTablePrefix + "region` AS `parent` " +
"ON (`region`.`parent` = `parent`.`id` " +
"AND `region`.`world_id` = `parent`.`world_id`) " +
"WHERE `region`.`world_id` = ? "
@ -433,11 +433,11 @@ private void loadPoly2d() {
"`region`.`id`, " +
"`region`.`priority`, " +
"`parent`.`id` AS `parent` " +
"FROM `region_poly2d` " +
"LEFT JOIN `region` " +
"FROM `" + config.sqlTablePrefix + "region_poly2d` AS `region_poly2d` " +
"LEFT JOIN `" + config.sqlTablePrefix + "region` AS `region` " +
"ON (`region_poly2d`.`region_id` = `region`.`id` " +
"AND `region_poly2d`.`world_id` = `region`.`world_id`) " +
"LEFT JOIN `region` AS `parent` " +
"LEFT JOIN `" + config.sqlTablePrefix + "region` AS `parent` " +
"ON (`region`.`parent` = `parent`.`id` " +
"AND `region`.`world_id` = `parent`.`world_id`) " +
"WHERE `region`.`world_id` = ? "
@ -450,7 +450,7 @@ private void loadPoly2d() {
"SELECT " +
"`region_poly2d_point`.`x`, " +
"`region_poly2d_point`.`z` " +
"FROM `region_poly2d_point` " +
"FROM `" + config.sqlTablePrefix + "region_poly2d_point` AS `region_poly2d_point` " +
"WHERE `region_poly2d_point`.`region_id` = ? " +
"AND `region_poly2d_point`.`world_id` = " + this.worldDbId
);
@ -571,7 +571,7 @@ private Map<String,Integer> getUserIds(String... usernames) {
"SELECT " +
"`user`.`id`, " +
"`user`.`name` " +
"FROM `user` " +
"FROM `" + config.sqlTablePrefix + "user` AS `user` " +
"WHERE `name` IN (%s)",
RegionDBUtil.preparePlaceHolders(usernames.length)
)
@ -587,7 +587,7 @@ private Map<String,Integer> getUserIds(String... usernames) {
insertUserStatement = this.conn.prepareStatement(
"INSERT INTO " +
"`user` ( " +
"`" + config.sqlTablePrefix + "user` ( " +
"`id`, " +
"`name`" +
") VALUES (null, ?)",
@ -642,7 +642,7 @@ private Map<String,Integer> getGroupIds(String... groupnames) {
"SELECT " +
"`group`.`id`, " +
"`group`.`name` " +
"FROM `group` " +
"FROM `" + config.sqlTablePrefix + "group` AS `group` " +
"WHERE `name` IN (%s)",
RegionDBUtil.preparePlaceHolders(groupnames.length)
)
@ -658,7 +658,7 @@ private Map<String,Integer> getGroupIds(String... groupnames) {
insertGroupStatement = this.conn.prepareStatement(
"INSERT INTO " +
"`group` ( " +
"`" + config.sqlTablePrefix + "group` ( " +
"`id`, " +
"`name`" +
") VALUES (null, ?)",
@ -718,7 +718,7 @@ public void save() throws ProtectionDatabaseException {
try {
getAllRegionsStatement = this.conn.prepareStatement(
"SELECT `region`.`id` FROM " +
"`region` " +
"`" + config.sqlTablePrefix + "region` AS `region` " +
"WHERE `world_id` = ? "
);
@ -775,7 +775,7 @@ public void save() throws ProtectionDatabaseException {
if (entry.getValue().getParent() == null) continue;
setParentStatement = this.conn.prepareStatement(
"UPDATE `region` SET " +
"UPDATE `" + config.sqlTablePrefix + "region` SET " +
"`parent` = ? " +
"WHERE `id` = ? AND `world_id` = " + this.worldDbId
);
@ -796,7 +796,7 @@ public void save() throws ProtectionDatabaseException {
PreparedStatement removeRegion = null;
try {
removeRegion = this.conn.prepareStatement(
"DELETE FROM `region` WHERE `id` = ? "
"DELETE FROM `" + config.sqlTablePrefix + "region` WHERE `id` = ? "
);
removeRegion.setString(1, name);
@ -814,7 +814,7 @@ private void updateFlags(ProtectedRegion region) throws SQLException {
PreparedStatement clearCurrentFlagStatement = null;
try {
clearCurrentFlagStatement = this.conn.prepareStatement(
"DELETE FROM `region_flag` " +
"DELETE FROM `" + config.sqlTablePrefix + "region_flag` " +
"WHERE `region_id` = ? " +
"AND `world_id` = " + this.worldDbId
);
@ -830,7 +830,7 @@ private void updateFlags(ProtectedRegion region) throws SQLException {
PreparedStatement insertFlagStatement = null;
try {
insertFlagStatement = this.conn.prepareStatement(
"INSERT INTO `region_flag` ( " +
"INSERT INTO `" + config.sqlTablePrefix + "region_flag` ( " +
"`id`, " +
"`region_id`, " +
"`world_id`, " +
@ -869,7 +869,7 @@ private void updatePlayerAndGroups(ProtectedRegion region, Boolean owners) throw
try {
deleteUsersForRegion = this.conn.prepareStatement(
"DELETE FROM `region_players` " +
"DELETE FROM `" + config.sqlTablePrefix + "region_players` " +
"WHERE `region_id` = ? " +
"AND `world_id` = " + this.worldDbId + " " +
"AND `owner` = ?"
@ -880,7 +880,7 @@ private void updatePlayerAndGroups(ProtectedRegion region, Boolean owners) throw
deleteUsersForRegion.execute();
insertUsersForRegion = this.conn.prepareStatement(
"INSERT INTO `region_players` " +
"INSERT INTO `" + config.sqlTablePrefix + "region_players` " +
"(`region_id`, `world_id`, `user_id`, `owner`) " +
"VALUES (?, " + this.worldDbId + ", ?, ?)"
);
@ -896,7 +896,7 @@ private void updatePlayerAndGroups(ProtectedRegion region, Boolean owners) throw
}
deleteGroupsForRegion = this.conn.prepareStatement(
"DELETE FROM `region_groups` " +
"DELETE FROM `" + config.sqlTablePrefix + "region_groups` " +
"WHERE `region_id` = ? " +
"AND `world_id` = " + this.worldDbId + " " +
"AND `owner` = ?"
@ -907,7 +907,7 @@ private void updatePlayerAndGroups(ProtectedRegion region, Boolean owners) throw
deleteGroupsForRegion.execute();
insertGroupsForRegion = this.conn.prepareStatement(
"INSERT INTO `region_groups` " +
"INSERT INTO `" + config.sqlTablePrefix + "region_groups` " +
"(`region_id`, `world_id`, `group_id`, `owner`) " +
"VALUES (?, " + this.worldDbId + ", ?, ?)"
);
@ -937,7 +937,7 @@ private void insertRegion(ProtectedRegion region, String type) throws SQLExcepti
PreparedStatement insertRegionStatement = null;
try {
insertRegionStatement = this.conn.prepareStatement(
"INSERT INTO `region` (" +
"INSERT INTO `" + config.sqlTablePrefix + "region` (" +
"`id`, " +
"`world_id`, " +
"`type`, " +
@ -968,7 +968,7 @@ private void insertRegionCuboid(ProtectedCuboidRegion region) throws SQLExceptio
PreparedStatement insertCuboidRegionStatement = null;
try {
insertCuboidRegionStatement = this.conn.prepareStatement(
"INSERT INTO `region_cuboid` (" +
"INSERT INTO `" + config.sqlTablePrefix + "region_cuboid` (" +
"`region_id`, " +
"`world_id`, " +
"`min_z`, " +
@ -1003,7 +1003,7 @@ private void insertRegionPoly2D(ProtectedPolygonalRegion region) throws SQLExcep
PreparedStatement insertPoly2dRegionStatement = null;
try {
insertPoly2dRegionStatement = this.conn.prepareStatement(
"INSERT INTO `region_poly2d` (" +
"INSERT INTO `" + config.sqlTablePrefix + "region_poly2d` (" +
"`region_id`, " +
"`world_id`, " +
"`max_y`, " +
@ -1039,7 +1039,7 @@ private void updatePoly2dPoints(ProtectedPolygonalRegion region) throws SQLExcep
clearPoly2dPointsForRegionStatement.execute();
insertPoly2dPointStatement = this.conn.prepareStatement(
"INSERT INTO `region_poly2d_point` (" +
"INSERT INTO `" + config.sqlTablePrefix + "region_poly2d_point` (" +
"`id`, " +
"`region_id`, " +
"`world_id`, " +
@ -1070,7 +1070,7 @@ private void updateRegion(ProtectedRegion region, String type) throws SQLExcepti
PreparedStatement updateRegionStatement = null;
try {
updateRegionStatement = this.conn.prepareStatement(
"UPDATE `region` SET " +
"UPDATE `" + config.sqlTablePrefix + "region` SET " +
"`priority` = ? WHERE `id` = ? AND `world_id` = " + this.worldDbId
);
@ -1094,7 +1094,7 @@ private void updateRegionCuboid(ProtectedCuboidRegion region) throws SQLExceptio
PreparedStatement updateCuboidRegionStatement = null;
try {
updateCuboidRegionStatement = this.conn.prepareStatement(
"UPDATE `region_cuboid` SET " +
"UPDATE `" + config.sqlTablePrefix + "region_cuboid` SET " +
"`min_z` = ?, " +
"`min_y` = ?, " +
"`min_x` = ?, " +
@ -1128,7 +1128,7 @@ private void updateRegionPoly2D(ProtectedPolygonalRegion region) throws SQLExcep
PreparedStatement updatePoly2dRegionStatement = null;
try {
updatePoly2dRegionStatement = this.conn.prepareStatement(
"UPDATE `region_poly2d` SET " +
"UPDATE `" + config.sqlTablePrefix + "region_poly2d` SET " +
"`max_y` = ?, " +
"`min_y` = ? " +
"WHERE `region_id` = ? " +