- Removed SaveOperations#session
- Removed DBSystem dependency from SessionCache, so SessionCache does
not need to be called from async thread. (SessionCache does not save,
responsibility now with the caller)
- Refactored UsersTable#getSavedUUIDs to a query
- Removed #getRegisterDates, #updateName, #getAllTimesKicked,
#getUUIDsAndNamesByID - not used
- Refactored UserInfoTable#getSavedUUIDs to a query
- Removed UserInfoTable#getServerUserInfo - not used
- Refactored ServerInfo classes a bit in this commit, made them use
Optional<Server> instead of Optional<Integer> (server id)
- Removed all uses of FetchOperations#getServerId
- Function<String, String> in GeoInfoStoreTransaction
- Unused throws clause in Version10Patch
- Bad variable name in UsersTable
- Fixed WorldTimesQueries again
- Fixed accidental breakage of a WorldTimes query
Fixed Smells, Level Major (SonarCloud):
- Use of keySet instead of entrySet in LargeStoreQueries
- Unused variable in NicknameQueries now used
- Unused fields removed from UsersTable
- Unused fields removed from PlayerProcessors
- Same variable name as field in WorldMap
- Sorted out SessionQueries ORDER BY usefulness with a TreeMap
Level Critical (SonarCloud):
- Smell: Duplicated String literals in the Queries: " FROM ", " WHERE ",
" AND ", etc
- Smell: GeoInfoStoreTransaction static value assignment
- Smell: Patch - Duplicate switch case
- Smell: DataCache - Empty constructor without comment
- Removed SessionsTable#getLastSeenForAllPlayers
- Made a test to ensure that the clean transaction does not delete all
players
- Fixed Peak player count fetch statement
- Sessions of a Server
- Sessions of a Player
- Flat sessions with kills and world data
Removed:
- KillsTable#addKillsToSessions(UUID uuid, Map<Integer, Session>)
- KillsTable#addDeathsToSessions(UUID uuid, Map<Integer, Session>)
- WorldTimesTable#addWorldTimesToSessions(UUID uuid, Map<Integer, Session> sessions)
- SessionsTable#getSessionInformation, #getSessions, #getSessionInfoOfServer
- RawDataContainer using getUnsafe in getValue which threw error where
no error should be thrown
- BaseUserQueries#fetchServerBaseUsers had ambiguous registered column
- WorldTimesQueries#fetchPlayerWorldTimesOnServers had ambiguous
server_uuid column
- Sorted out BaseUser, UserInfo debacle
- GeoInfo query no longer fetches GeoInfo of all servers
- Nickname query no longer fetches Nicknames of all servers
- Ping query no longer fetches Ping of all servers
- Left some comments with what still needs work
This is done because I had forgotten where a lot of the queries
resided, meaning that the location of each query was not intuitive.
New ordering attempts to have objects that can be filtered by different
variables (Server UUID, Player UUID for example) near each other.
- RawDataContainer, stores all values as the objects instead of
using any Suppliers
- DynamicDataContainer, stores all values in either RawDataContainer or
SupplierDataContainer based on which methods are called