aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-27 14:24:43 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-27 17:07:07 +0700
commita8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3 (patch)
tree2a6bb203f9823925ab3abd4f5890305c0c99c26d /src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala
parentd9440a727edd25f2472754dc51b0206d6abbeba4 (diff)
downloadrest-query-a8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3.tar.gz
rest-query-a8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3.tar.bz2
rest-query-a8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3.zip
Fixed bug
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala b/src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala
new file mode 100644
index 0000000..44f177c
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala
@@ -0,0 +1,28 @@
+package xyz.driver.pdsuicommon.db
+
+import xyz.driver.pdsuicommon.logging._
+
+import scala.concurrent.Future
+import scala.util.{Failure, Success, Try}
+
+class JdbcDbIo(sqlContext: TransactionalContext) extends DbIo with PhiLogging {
+
+ override def runAsync[T](f: => T): Future[T] = {
+ Future(f)(sqlContext.executionContext)
+ }
+
+ override def runAsyncTx[T](f: => T): Future[T] = {
+ import sqlContext.executionContext
+
+ Future(sqlContext.transaction(f)).andThen {
+ case Failure(e) => logger.error(phi"Can't run a transaction: $e")
+ }
+ }
+
+ override def runSyncTx[T](f: => T): Unit = {
+ Try(sqlContext.transaction(f)) match {
+ case Success(_) =>
+ case Failure(e) => logger.error(phi"Can't run a transaction: $e")
+ }
+ }
+}