- Hopefully fix user_id relation error once and for all.
- Set timezone to 00:00 properly when MySQL initializes connection
Affects issues:
- Close#1239
There was one error code for MySQL that used wrong message context to detect the missing user_id properly.
Wrote tests for all the extra functionality ensuring no exceptions occur.
Affects issues:
- Fixed#2361
- Fixed#2343
* Optimized network ping table query
* Removed icon id selection subqueries
- Take the icon ID into memory when the icons are stored
* Fix typos in the optimized ping table query
* Optimize server ping table query
* Attempt to optimize /v1/servers tps data query
* Optimize ping and geolocations tables uuid -> user_id foreign key
* Prevent Plan from crashing if patching takes too long
- HikariCP auto commit was true for some reason even though all transactions have commit mechanism built-in.
- The setting was reset during connection recreation and that could cause an index out of bounds error.
* Reduce try-nesting in ExecStatement
* Use user_id and server_id instead of uuid for plan_world_times table
* Use user_id and server_id instead of uuid for plan_sessions and plan_user_info table
* Fix more issues and test queries used by Query Filters
* Use deferRender for data tables to load data into the table faster
* Swap uuids to user ids for query page filters
Fixes an issue where SQL is too big to execute
Affects issues:
- #2196
Applied some thought to how this stuff should work.
- nulls now possible in the column when value is not available
- Called "Join addresses" instead of hostnames
- Remove bogus data with a patch
- Proper hostname method for spigot
- Removed method calls from nukkit since there was nothing that sounded
proper
Affects:
- Close#1798 (Copied all code over)
- Split Session into ActiveSession and FinishedSession, replaced their usage
- Replaced UUID with ServerUUID when the data type
Affects issues:
- Close#1746
Replaced Abstract Plugin Framework with Platform Abstraction Layer
Large amount of changes due to removal of features from the library,
and change of the way the abstraction is achieved.
Removes features from Plan:
Removed debug logging (Considered useless when debugging issues)
Removed /debug page (Considered useless when debugging issues)
Removed enable timing (Benchmarking utility was removed from the library)
- Subquery was not returning rows for active playtime of 0, fix: COALESCE
- Union was removing duplicate 0s, replaced with UNION ALL
- Query did not use floating point for calculation
Affects issues:
- Fixed#1388
- Backup tests
- Nickname tests
- Ping tests (new tests)
- Server tests
- TPS tests
- World name tests
- UserInfo & BaseUser tests
- RemoveEverythingTransaction tests to each query test
- Added a lot of new utility methods to RandomData
- Fixed a bug where duplicate PlayerKills were queried
This bug was discovered by accident when PlayerKill saving was randomized
for the tests.
- Testing constant REGISTER_TIME extracted
- String truncation constant extracted for KillsTable
This was causing some Session equals issues due to truncated weapon names
- Session now sorts PlayerKill list as this was assumed in some places.