From d1d27534222f3a358ac8208caf0b15aa5d529c8b Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sun, 23 Sep 2018 17:51:36 +0300 Subject: [PATCH] [Fix] Fix MySQL query for "Has Column" MySQL query for has column did not take database name into account. This means that a database with multiple Plan databases would provide wrong results for the Patch system, leading to patch failiure Affected issues: Fixes #732 --- .../plan/system/database/databases/sql/patches/Patch.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 39ed66ed7..cb4fcbb28 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 @@ -52,11 +52,12 @@ public abstract class Patch { protected boolean hasColumn(String tableName, String columnName) { return usingMySQL ? query(new QueryStatement("SELECT * FROM information_schema.COLUMNS" + - " WHERE TABLE_NAME=? AND COLUMN_NAME=?") { + " WHERE TABLE_NAME=? AND COLUMN_NAME=? AND TABLE_SCHEMA=?") { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, tableName); statement.setString(2, columnName); + statement.setString(3, Settings.DB_DATABASE.toString()); } @Override