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 registerDates; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionAFKTimePatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionAFKTimePatch.java index d46280a3f..a2bdeeab9 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionAFKTimePatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionAFKTimePatch.java @@ -18,6 +18,11 @@ package com.djrapitops.plan.storage.database.transactions.patches; import com.djrapitops.plan.storage.database.sql.tables.SessionsTable; +/** + * Adds afk_time field to sessions table. + * + * @author Rsl1122 + */ public class SessionAFKTimePatch extends Patch { @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java index 5ac9d857a..b621c8153 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java @@ -21,6 +21,13 @@ import com.djrapitops.plan.storage.database.sql.tables.SessionsTable; import static com.djrapitops.plan.storage.database.sql.building.Sql.FROM; +/** + * Replaces user_id and server_id foreign keys with respective uuid fields in sessions table. + *

+ * 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