diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/CommandUsageTableRemovalPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/CommandUsageTableRemovalPatch.java index fb7688156..598bd4800 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/CommandUsageTableRemovalPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/CommandUsageTableRemovalPatch.java @@ -18,6 +18,8 @@ package com.djrapitops.plan.storage.database.transactions.patches; /** * Patch that removes plan_commandusages table. + *
+ * See https://github.com/plan-player-analytics/Plan/issues/1240 for more details * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DeleteIPsPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DeleteIPsPatch.java index 914455227..fb1dba128 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DeleteIPsPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DeleteIPsPatch.java @@ -26,6 +26,8 @@ import static com.djrapitops.plan.storage.database.sql.building.Sql.*; /** * Patch that replaces plan_ips with plan_geolocations table. + *
+ * Prepares Plan to be GDPR compliant through the easiest to make change. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DiskUsagePatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DiskUsagePatch.java index 7136d3594..63220549b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DiskUsagePatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/DiskUsagePatch.java @@ -18,6 +18,11 @@ package com.djrapitops.plan.storage.database.transactions.patches; import com.djrapitops.plan.storage.database.sql.tables.TPSTable; +/** + * Adds disk usage information to tps table. + * + * @author Rsl1122 + */ public class DiskUsagePatch extends Patch { @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java index 20a2053af..589bd8a11 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java @@ -23,6 +23,11 @@ import com.djrapitops.plan.storage.database.sql.building.Sql; import com.djrapitops.plan.storage.database.sql.tables.ExtensionPlayerTableValueTable; import com.djrapitops.plan.storage.database.sql.tables.ExtensionServerTableValueTable; +/** + * Increases the length of Strings in extension tables to 250 to avoid cutoffs and exceptions. + * + * @author Rsl1122 + */ public class ExtensionTableRowValueLengthPatch extends Patch { private final String playerTable; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoLastUsedPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoLastUsedPatch.java index 5e605de1f..9237ea7d2 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoLastUsedPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoLastUsedPatch.java @@ -18,6 +18,11 @@ package com.djrapitops.plan.storage.database.transactions.patches; import com.djrapitops.plan.storage.database.sql.tables.GeoInfoTable; +/** + * Adds last_used field to the geolocation table. + * + * @author Rsl1122 + */ public class GeoInfoLastUsedPatch extends Patch { @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java index 00c2cb0f7..876b3e52e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java @@ -20,6 +20,11 @@ import com.djrapitops.plan.storage.database.sql.tables.GeoInfoTable; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; +/** + * Replaces user_id foreign keys with user_uuid fields in geolocation table. + * + * @author Rsl1122 + */ public class GeoInfoOptimizationPatch extends Patch { private final String tempTableName; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java index e99880f98..8e47a026e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java @@ -21,6 +21,13 @@ import com.djrapitops.plan.storage.database.sql.tables.KillsTable; import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM; +/** + * Replaces killer_id, victim_id and server_id foreign keys with respective uuid fields in kills table. + *
+ * This was to "reduce the amount of joins when querying sessions". + * + * @author Rsl1122 + */ public class KillsOptimizationPatch extends Patch { private final String tempTableName; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsServerIDPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsServerIDPatch.java index 7fd556136..836b4df3f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsServerIDPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsServerIDPatch.java @@ -24,6 +24,14 @@ import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Map; +/** + * Adds server_id field to kills table. + *
+ * The field is populated by querying the session table for server ids. + * + * @author Rsl1122 + * @see KillsOptimizationPatch for removal of this field later + */ public class KillsServerIDPatch extends Patch { @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkUsersToPlayersSecurityTablePatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkUsersToPlayersSecurityTablePatch.java index f6bf20cc5..2ee06df20 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkUsersToPlayersSecurityTablePatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkUsersToPlayersSecurityTablePatch.java @@ -31,6 +31,12 @@ import java.util.Map; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; +/** + * Populates new linked_to_uuid field with the uuid of a username (same as minecraft name) or 'console'. + * + * @author Rsl1122 + * @see LinkedToSecurityTablePatch for addition of the field. + */ public class LinkUsersToPlayersSecurityTablePatch extends Patch { @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkedToSecurityTablePatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkedToSecurityTablePatch.java index 5c32cd9db..b82f37781 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkedToSecurityTablePatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/LinkedToSecurityTablePatch.java @@ -19,6 +19,14 @@ package com.djrapitops.plan.storage.database.transactions.patches; import com.djrapitops.plan.storage.database.sql.building.Sql; import com.djrapitops.plan.storage.database.sql.tables.SecurityTable; +/** + * Adds linked_to_uuid field to plan_security table that stores web users. + *
+ * This patch allows web users to have a username other than the minecraft username. + * + * @author Rsl1122 + * @see LinkUsersToPlayersSecurityTablePatch for the patch that populates the field afterwards. + */ public class LinkedToSecurityTablePatch extends Patch { @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknameLastSeenPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknameLastSeenPatch.java index 9cb0b6e40..727c32004 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknameLastSeenPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknameLastSeenPatch.java @@ -35,6 +35,13 @@ import java.util.UUID; import static com.djrapitops.plan.storage.database.sql.building.Sql.AND; import static com.djrapitops.plan.storage.database.sql.building.Sql.WHERE; +/** + * Adds last_seen to nickname table by populating it with the data in actions table, and removes the actions table. + *
+ * Actions table contained nickname change events and change to "last seen" saved space on the interface. + * + * @author Rsl1122 + */ public class NicknameLastSeenPatch extends Patch { @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java index 7b7694522..576df014c 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java @@ -21,6 +21,13 @@ import com.djrapitops.plan.storage.database.sql.tables.NicknamesTable; import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM; +/** + * Replaces user_id and server_id foreign keys with respective uuid fields in nickname table. + *
+ * This was to "reduce the amount of joins when querying sessions". + * + * @author Rsl1122 + */ public class NicknamesOptimizationPatch extends Patch { private final String tempTableName; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java index d2e0a5051..2bed7af7b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java @@ -21,6 +21,11 @@ import com.djrapitops.plan.storage.database.sql.tables.PingTable; import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM; +/** + * Replaces user_id and server_id foreign keys with respective uuid fields in ping table. + * + * @author Rsl1122 + */ public class PingOptimizationPatch extends Patch { private final String tempTableName; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/RegisterDateMinimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/RegisterDateMinimizationPatch.java index 0e2993437..d2f519696 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/RegisterDateMinimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/RegisterDateMinimizationPatch.java @@ -31,6 +31,15 @@ import java.util.UUID; import static com.djrapitops.plan.storage.database.sql.building.Sql.*; +/** + * Changes register dates on networks to the smallest number found in the database. + *
+ * Proxy servers do not store player register date information, so Game servers can hold earlier
+ * join date than the first session Plan sees. This patch changes the register date in
+ * plan_users if a smaller register date in plan_user_info is found.
+ *
+ * @author Rsl1122
+ */
public class RegisterDateMinimizationPatch extends Patch {
private Map
+ * This was to "reduce the amount of joins when querying sessions".
+ *
+ * @author Rsl1122
+ */
public class SessionsOptimizationPatch extends Patch {
private final String tempTableName;
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/TransferTableRemovalPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/TransferTableRemovalPatch.java
index 8fad3d5f5..df789dee8 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/TransferTableRemovalPatch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/TransferTableRemovalPatch.java
@@ -16,6 +16,13 @@
*/
package com.djrapitops.plan.storage.database.transactions.patches;
+/**
+ * Removes plan_transfer table, used for transferring html in the database.
+ *
+ * The idea turned out to use a lot of disk space and improper use of a database.
+ *
+ * @author Rsl1122
+ */
public class TransferTableRemovalPatch extends Patch {
@Override
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java
index 99da74d4d..985734745 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java
@@ -21,6 +21,11 @@ import com.djrapitops.plan.storage.database.sql.tables.UserInfoTable;
import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM;
+/**
+ * Replaces user_id and server_id foreign keys with respective uuid fields in user info table.
+ *
+ * @author Rsl1122
+ */
public class UserInfoOptimizationPatch extends Patch {
private final String tempTableName;
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/Version10Patch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/Version10Patch.java
index 8f6e5b661..38ee6b47e 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/Version10Patch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/Version10Patch.java
@@ -24,6 +24,18 @@ import java.util.Optional;
import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM;
+/**
+ * Table schema change patch for version 4.0.0 to support BungeeCord servers.
+ *
+ * This patch makes the database compatible with further changes to the schema,
+ * bugs in this patch are possible, as the patch is untested against new schema.
+ *
+ * Version 10 comes from "schema version" that was in use in the database to version changes
+ * before Patch system was implemented.
+ *
+ * @author Rsl1122
+ * @see VersionTableRemovalPatch for Patch that removes the schema versions
+ */
public class Version10Patch extends Patch {
private Integer serverID;
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/VersionTableRemovalPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/VersionTableRemovalPatch.java
index 34d18a32d..d34770e02 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/VersionTableRemovalPatch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/VersionTableRemovalPatch.java
@@ -16,6 +16,11 @@
*/
package com.djrapitops.plan.storage.database.transactions.patches;
+/**
+ * Removes the table schema versioning table.
+ *
+ * @author Rsl1122
+ */
public class VersionTableRemovalPatch extends Patch {
@Override
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java
index 5798ecb8e..288edb47f 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java
@@ -21,6 +21,13 @@ import com.djrapitops.plan.storage.database.sql.tables.WorldTimesTable;
import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM;
+/**
+ * Replaces server_id foreign keys with server_uuid field in world times table.
+ *
+ * This was to "reduce the amount of joins when querying sessions".
+ *
+ * @author Rsl1122
+ */
public class WorldTimesOptimizationPatch extends Patch {
private final String tempTableName;
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesSeverIDPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesSeverIDPatch.java
index 1e32822e8..56fc21332 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesSeverIDPatch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesSeverIDPatch.java
@@ -26,6 +26,12 @@ import java.util.Map;
import static com.djrapitops.plan.storage.database.sql.building.Sql.WHERE;
+/**
+ * Adds server_id field to world times table.
+ *
+ * @author Rsl1122
+ * @see WorldTimesOptimizationPatch for removal of this field later
+ */
public class WorldTimesSeverIDPatch extends Patch {
@Override
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java
index 055dd407d..d6b3c9429 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java
@@ -21,6 +21,13 @@ import com.djrapitops.plan.storage.database.sql.tables.WorldTable;
import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM;
+/**
+ * Replaces server_id foreign keys with server_uuid field in world table.
+ *
+ * This was to "reduce the amount of joins when querying sessions".
+ *
+ * @author Rsl1122
+ */
public class WorldsOptimizationPatch extends Patch {
private final String tempTableName;
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsServerIDPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsServerIDPatch.java
index 7922a9bed..dc1561e0c 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsServerIDPatch.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsServerIDPatch.java
@@ -34,6 +34,12 @@ import java.util.stream.Collectors;
import static com.djrapitops.plan.storage.database.sql.building.Sql.*;
+/**
+ * Adds server_id field to worlds table.
+ *
+ * @author Rsl1122
+ * @see WorldsOptimizationPatch for removal of the field.
+ */
public class WorldsServerIDPatch extends Patch {
@Override