From 2c5a97d0b1b7c2ccb95e89551b0b57e22c2f82a5 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sat, 8 Sep 2018 17:15:50 +0300 Subject: [PATCH] Fixed MySQL with multiple plan databases returns wrong table count #724 --- .../plan/system/database/databases/sql/patches/Patch.java | 6 +++++- .../databases/sql/patches/VersionTableRemovalPatch.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java index e832d00f3..39ed66ed7 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java @@ -4,6 +4,7 @@ import com.djrapitops.plan.system.database.databases.sql.SQLDB; import com.djrapitops.plan.system.database.databases.sql.processing.QueryAllStatement; import com.djrapitops.plan.system.database.databases.sql.processing.QueryStatement; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; +import com.djrapitops.plan.system.settings.Settings; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -29,13 +30,16 @@ public abstract class Patch { public boolean hasTable(String tableName) { String sql = usingMySQL ? - "SELECT * FROM information_schema.TABLES WHERE table_name=? LIMIT 1" : + "SELECT * FROM information_schema.TABLES WHERE table_name=? AND TABLE_SCHEMA=? LIMIT 1" : "SELECT tbl_name FROM sqlite_master WHERE tbl_name=?"; return query(new QueryStatement(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, tableName); + if (usingMySQL) { + statement.setString(2, Settings.DB_DATABASE.toString()); + } } @Override diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/VersionTableRemovalPatch.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/VersionTableRemovalPatch.java index c205cbded..b4252bfa0 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/VersionTableRemovalPatch.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/VersionTableRemovalPatch.java @@ -10,7 +10,7 @@ public class VersionTableRemovalPatch extends Patch { @Override public boolean hasBeenApplied() { - return hasTable("plan_version"); + return !hasTable("plan_version"); } @Override