See previously commits for context
tl;dr
The database migration introduced a lot of changed behaviour and breaking changes.
The plugin essentially could never have worked and nobody reported the issue (or tested it).
I've completely redone the code migration, keeping changes for the plugin internals to a minimum.
Hopefully I didn't overlook anything...
The new database API introduced a lot of breaking changes and changed behaviour sadly.
When migrating this plugin to the new API these were not taken into account properly and
essentially broke the whole database/storage layer of the plugin.
* SQL statements that were valid in SQLite but are not in H2, which is now the default
* H2 jdbc driver not being shaded into the final jar
* catching exceptions, logging a message, and then continuing code execution (in the core)
* introducing race conditions
* ...
These fixes sometimes rely on the non-multi-threaded APIs provided now which will most certaintly
come with a performance hit on larger servers.
But at least it works again... tbh I do not really want to spend too much time fixing this stuff...
A potential issue that still exists in the use of `DataManager#getNextId` in `AnchorManagerImpl`.
Right now it returns a value based on the largest ID currently in the database – Completely circumventing
the whole auto_increment characteristic of the table schema...
This is another changed behaviour that gets introduced opening the possibility for conflicting IDs
*outside* of the database table itself. The ID can be used as a reference in other places