Skip to content

Commit

Permalink
add: (#1) suspend transaction funtion
Browse files Browse the repository at this point in the history
  • Loading branch information
khcho0125 committed Mar 21, 2023
1 parent 07b8bd7 commit 0560620
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/main/kotlin/com/dsm_delivery/plugins/DataBaseFactory.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ import com.dsm_delivery.persistence.entity.StudentTable
import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource
import io.ktor.server.config.*
import kotlinx.coroutines.Dispatchers
import org.jetbrains.exposed.sql.Database
import org.jetbrains.exposed.sql.SchemaUtils
import org.jetbrains.exposed.sql.StdOutSqlLogger
import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.addLogger
import org.jetbrains.exposed.sql.transactions.experimental.newSuspendedTransaction
import org.jetbrains.exposed.sql.transactions.transaction

/**
Expand Down Expand Up @@ -47,4 +49,11 @@ object DataBaseFactory {
}
}

suspend fun <T> dbQuery(database: Database? = null, block: () -> T) : T = newSuspendedTransaction(
db = database, context = Dispatchers.IO
) {
addLogger(StdOutSqlLogger)
block()
}

}

0 comments on commit 0560620

Please sign in to comment.