Async Transaction
Most database transactions that need to write are non-essential, yet when they fail because of database locking, it fails the entire operation. I've added an asyncTransaction
that wraps Exposed's transaction
in a CompletableFuture
and does the work there without stopping the show.
Since we're using SQLite, only one future can run at a time so I've also made this operation locking. Will test this out to make sure that we don't get deadlocks because of it.
There's a lot of changes because I also updated dependencies and formatted the entire codebase.