Q: How to use with ZIO?
A: For use with ZIO, use ldbc-zio-interop.
libraryDependencies += "io.github.takapi327" %% "ldbc-zio-interop" % "latest"
The following is sample code for using ldbc with ZIO.
import zio.*
import ldbc.zio.interop.*
import ldbc.connector.*
import ldbc.dsl.*
object Main extends ZIOAppDefault:
private val datasource =
MySQLDataSource
.build[Task]("127.0.0.1", 3306, "ldbc")
.setPassword("password")
.setDatabase("world")
.setSSL(SSL.Trusted)
private val connector = Connector.fromDataSource(datasource)
override def run =
sql"SELECT Name FROM city"
.query[String]
.to[List]
.readOnly(connector)
.flatMap { cities =>
Console.printLine(cities)
}
Performance
Performance results from the Cats Effect to ZIO conversion are shown below.