diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java index 77037feee..c5c42ed23 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java @@ -206,7 +206,7 @@ public class UserInfoQueries { FROM + UserInfoTable.TABLE_NAME + ") q1" + GROUP_BY + "address" + - ORDER_BY + "address DESC"; + ORDER_BY + "address ASC"; return new QueryStatement>(sql, 100) { @Override @@ -232,7 +232,7 @@ public class UserInfoQueries { FROM + UserInfoTable.TABLE_NAME + WHERE + UserInfoTable.SERVER_UUID + "=?" + GROUP_BY + "address" + - ORDER_BY + "address DESC"; + ORDER_BY + "address ASC"; return new QueryStatement>(sql, 100) { @Override @@ -255,7 +255,7 @@ public class UserInfoQueries { public static Query> uniqueJoinAddresses() { String sql = SELECT + DISTINCT + "LOWER(COALESCE(" + UserInfoTable.JOIN_ADDRESS + ", ?)) as address" + FROM + UserInfoTable.TABLE_NAME + - ORDER_BY + UserInfoTable.JOIN_ADDRESS + " DESC"; + ORDER_BY + "address ASC"; return new QueryStatement>(sql, 100) { @Override public void prepare(PreparedStatement statement) throws SQLException { diff --git a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/queries/UserInfoQueriesTest.java b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/queries/UserInfoQueriesTest.java index f9e9395fa..0e42a5fb6 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/storage/database/queries/UserInfoQueriesTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/storage/database/queries/UserInfoQueriesTest.java @@ -310,6 +310,31 @@ public interface UserInfoQueriesTest extends DatabaseTestPreparer { assertEquals(expected, result); } + @Test + default void joinAddressFilterOptionsAreFetched() { + joinAddressIsUpdatedUponSecondLogin(); + + List expected = Collections.singletonList(TestConstants.GET_PLAYER_HOSTNAME.get().toLowerCase()); + List result = db().query(UserInfoQueries.uniqueJoinAddresses()); + assertEquals(expected, result); + } + + @Test + default void joinAddressFilterOptionsAreFetchedWhenThereAreMultiple() { + joinAddressIsUpdatedUponSecondLogin(); + + db().executeTransaction(new PlayerServerRegisterTransaction(playerUUID, () -> TestConstants.REGISTER_TIME, TestConstants.PLAYER_ONE_NAME, serverUUID(), () -> TestConstants.GET_PLAYER_HOSTNAME.get() + "_b")); + db().executeTransaction(new PlayerServerRegisterTransaction(player2UUID, () -> TestConstants.REGISTER_TIME, TestConstants.PLAYER_ONE_NAME, TestConstants.SERVER_TWO_UUID, () -> TestConstants.GET_PLAYER_HOSTNAME.get() + "_a")); + + List expected = Arrays.asList( + TestConstants.GET_PLAYER_HOSTNAME.get().toLowerCase() + "_a", + TestConstants.GET_PLAYER_HOSTNAME.get().toLowerCase() + "_b" + ); + List result = db().query(UserInfoQueries.uniqueJoinAddresses()); + + assertEquals(expected, result); + } + @Test default void joinAddressFilterUUIDsAreFetched() { joinAddressIsUpdatedUponSecondLogin();