Skip to content

Async Transaction

Jose V. Trigueros requested to merge async-transaction into master

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.

Merge request reports