From 8928ded103a6784bca514c5dd9ee90cbc3a7ea43 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Tue, 2 Apr 2019 17:29:13 +0300 Subject: [PATCH] Removed redundant left join --- .../init}/RemoveDuplicateUserInfoTransaction.java | 12 ++++-------- .../com/djrapitops/plan/db/tasks/DBCleanTask.java | 2 +- .../java/com/djrapitops/plan/db/CommonDBTest.java | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) rename Plan/common/src/main/java/com/djrapitops/plan/db/{patches => access/transactions/init}/RemoveDuplicateUserInfoTransaction.java (65%) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/patches/RemoveDuplicateUserInfoTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/db/access/transactions/init/RemoveDuplicateUserInfoTransaction.java similarity index 65% rename from Plan/common/src/main/java/com/djrapitops/plan/db/patches/RemoveDuplicateUserInfoTransaction.java rename to Plan/common/src/main/java/com/djrapitops/plan/db/access/transactions/init/RemoveDuplicateUserInfoTransaction.java index d01cf1cd7..5b0730153 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/patches/RemoveDuplicateUserInfoTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/access/transactions/init/RemoveDuplicateUserInfoTransaction.java @@ -1,4 +1,4 @@ -package com.djrapitops.plan.db.patches; +package com.djrapitops.plan.db.access.transactions.init; import com.djrapitops.plan.db.access.transactions.Transaction; import com.djrapitops.plan.db.sql.tables.UserInfoTable; @@ -17,19 +17,15 @@ public class RemoveDuplicateUserInfoTransaction extends Transaction { private static final String COLUMN_ID = UserInfoTable.TABLE_NAME + '.' + UserInfoTable.ID; private static final String STATEMENT_SELECT_DUPLICATE_IDS = - '(' + SELECT + "MIN(" + COLUMN_ID + ") as id" + FROM + UserInfoTable.TABLE_NAME + - GROUP_BY + UserInfoTable.USER_UUID + ", " + UserInfoTable.SERVER_UUID + ')'; + SELECT + "MIN(" + COLUMN_ID + ") as id" + FROM + UserInfoTable.TABLE_NAME + + GROUP_BY + UserInfoTable.USER_UUID + ", " + UserInfoTable.SERVER_UUID; @Override protected void performOperations() { execute( "DELETE" + FROM + UserInfoTable.TABLE_NAME + WHERE + COLUMN_ID + - " IN (" + - SELECT + COLUMN_ID + FROM + UserInfoTable.TABLE_NAME + - LEFT_JOIN + STATEMENT_SELECT_DUPLICATE_IDS + " q2 on q2.id=" + COLUMN_ID + - WHERE + "q2.id" + IS_NULL + - ')' + " NOT IN (" + STATEMENT_SELECT_DUPLICATE_IDS + ')' ); } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/tasks/DBCleanTask.java b/Plan/common/src/main/java/com/djrapitops/plan/db/tasks/DBCleanTask.java index 33e553378..d2253d13f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/tasks/DBCleanTask.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/tasks/DBCleanTask.java @@ -21,8 +21,8 @@ import com.djrapitops.plan.db.Database; import com.djrapitops.plan.db.access.Query; import com.djrapitops.plan.db.access.QueryStatement; import com.djrapitops.plan.db.access.transactions.commands.RemovePlayerTransaction; +import com.djrapitops.plan.db.access.transactions.init.RemoveDuplicateUserInfoTransaction; import com.djrapitops.plan.db.access.transactions.init.RemoveOldSampledDataTransaction; -import com.djrapitops.plan.db.patches.RemoveDuplicateUserInfoTransaction; import com.djrapitops.plan.db.sql.tables.SessionsTable; import com.djrapitops.plan.extension.implementation.storage.transactions.results.RemoveUnsatisfiedConditionalResultsTransaction; import com.djrapitops.plan.system.database.DBSystem; diff --git a/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java b/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java index 5da4662da..d22bf0850 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/db/CommonDBTest.java @@ -44,8 +44,8 @@ import com.djrapitops.plan.db.access.transactions.commands.*; import com.djrapitops.plan.db.access.transactions.events.*; import com.djrapitops.plan.db.access.transactions.init.CreateIndexTransaction; import com.djrapitops.plan.db.access.transactions.init.CreateTablesTransaction; +import com.djrapitops.plan.db.access.transactions.init.RemoveDuplicateUserInfoTransaction; import com.djrapitops.plan.db.patches.Patch; -import com.djrapitops.plan.db.patches.RemoveDuplicateUserInfoTransaction; import com.djrapitops.plan.db.tasks.DBCleanTask; import com.djrapitops.plan.extension.CallEvents; import com.djrapitops.plan.extension.DataExtension;