I have written a wrapper function that I do all of...
# exposed
a
I have written a wrapper function that I do all of my queries with:
Copy code
@OptIn(ExperimentalCoroutinesApi::class)
@PublishedApi
internal val sqlDispatcher = Dispatchers.IO.limitedParallelism(100)

suspend inline fun <T> suspendTransaction(
    crossinline statement: suspend Transaction.() -> T
) = newSuspendedTransaction(sqlDispatcher) {
    statement()
}

suspend inline fun <T> suspendTransaction(
    transaction: Transaction,
    crossinline statement: suspend Transaction.() -> T
) = transaction.suspendedTransaction(sqlDispatcher) {
    statement()
}