Skip to content

Commit

Permalink
drop export clauses (#99)
Browse files Browse the repository at this point in the history
* drop export clauses

* rename magzio.Transactor to magzio.TransactorZIO

* test imports

* update imports after merging master
  • Loading branch information
AugustNagro authored Feb 2, 2025
1 parent f7c55e5 commit 192532b
Show file tree
Hide file tree
Showing 23 changed files with 45 additions and 113 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,25 @@ import java.sql.Connection
import javax.sql.DataSource
import scala.util.control.NonFatal

class Transactor private (
class TransactorZIO private (
dataSource: DataSource,
sqlLogger: SqlLogger,
connectionConfig: Connection => Unit,
semaphore: Option[Semaphore]
):

def withSqlLogger(sqlLogger: SqlLogger): Transactor =
new Transactor(
def withSqlLogger(sqlLogger: SqlLogger): TransactorZIO =
new TransactorZIO(
dataSource,
sqlLogger,
connectionConfig,
semaphore
)

def withConnectionConfig(connectionConfig: Connection => Unit): Transactor =
new Transactor(
def withConnectionConfig(
connectionConfig: Connection => Unit
): TransactorZIO =
new TransactorZIO(
dataSource,
sqlLogger,
connectionConfig,
Expand Down Expand Up @@ -73,12 +75,12 @@ class Transactor private (
.orDieWith(t =>
SqlException("Unable to close DB Connection, will die", t)
)
end Transactor
end TransactorZIO

object Transactor:
object TransactorZIO:
private val noOpConnectionConfig: Connection => Unit = _ => ()

/** Construct a Transactor
/** Construct a TransactorZIO
*
* @param sqlLogger
* Logging configuration
Expand All @@ -88,14 +90,12 @@ object Transactor:
* Number of threads in your connection pool. This helps magzio be more
* memory efficient by limiting the number of blocking pool threads used.
* Not needed if using the ZIO virtual-thread based blocking executor
* @return
* Transactor UIO
*/
def layer(
sqlLogger: SqlLogger,
connectionConfig: Connection => Unit,
maxBlockingThreads: Option[Int]
): URLayer[DataSource, Transactor] =
): URLayer[DataSource, TransactorZIO] =
ZLayer.fromZIO {
for {
dataSource <- ZIO.service[DataSource]
Expand All @@ -104,7 +104,7 @@ object Transactor:
.flatMap(threads => Semaphore.make(threads))
.unsome
.map(semaphoreOpt =>
new Transactor(
new TransactorZIO(
dataSource = dataSource,
sqlLogger = sqlLogger,
connectionConfig = connectionConfig,
Expand All @@ -114,63 +114,53 @@ object Transactor:
} yield transactor
}

/** Construct a Transactor
/** Construct a TransactorZIO
*
* @param sqlLogger
* Logging configuration
* @param connectionConfig
* Customize the underlying JDBC Connections
* @return
* Transactor UIO
*/
def layer(
sqlLogger: SqlLogger,
connectionConfig: Connection => Unit
): URLayer[DataSource, Transactor] =
): URLayer[DataSource, TransactorZIO] =
layer(
sqlLogger = sqlLogger,
connectionConfig = connectionConfig,
maxBlockingThreads = None
)

/** Construct a Transactor
/** Construct a TransactorZIO
*
* @param dataSource
* Datasource to be used
* @param sqlLogger
* Logging configuration
* @return
* Transactor UIO
*/
def layer(sqlLogger: SqlLogger): URLayer[DataSource, Transactor] =
def layer(sqlLogger: SqlLogger): URLayer[DataSource, TransactorZIO] =
layer(
sqlLogger = sqlLogger,
connectionConfig = noOpConnectionConfig,
maxBlockingThreads = None
)

/** Construct a Transactor
*
* @return
* Transactor UIO
*/
def layer: URLayer[DataSource, Transactor] =
/** Construct a TransactorZIO */
def layer: URLayer[DataSource, TransactorZIO] =
layer(
sqlLogger = SqlLogger.Default,
connectionConfig = noOpConnectionConfig,
maxBlockingThreads = None
)

/** Construct a Transactor
/** Construct a TransactorZIO
*
* @param connectionConfig
* Customize the underlying JDBC Connections
* @return
* Transactor UIO
*/
def layer(
connectionConfig: Connection => Unit
): URLayer[DataSource, Transactor] =
): URLayer[DataSource, TransactorZIO] =
layer(
sqlLogger = SqlLogger.Default,
connectionConfig = connectionConfig,
Expand All @@ -181,13 +171,12 @@ object Transactor:
* Number of threads in your connection pool. This helps magzio be more
* memory efficient by limiting the number of blocking pool threads used.
* Not needed if using the ZIO virtual-thread based blocking executor
* @return
*/
def layer(maxBlockingThreads: Int): URLayer[DataSource, Transactor] =
def layer(maxBlockingThreads: Int): URLayer[DataSource, TransactorZIO] =
layer(
sqlLogger = SqlLogger.Default,
connectionConfig = noOpConnectionConfig,
maxBlockingThreads = Some(maxBlockingThreads)
)

end Transactor
end TransactorZIO

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.augustnagro.magnum.magzio

import com.augustnagro.magnum.magzio.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}
import zio.*

Expand All @@ -11,7 +11,7 @@ import scala.util.{Success, Using}
def immutableRepoZioTests(
suite: FunSuite,
dbType: DbType,
xa: () => Transactor
xa: () => TransactorZIO
)(using
Location,
DbCodec[OffsetDateTime]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.augustnagro.magnum.magzio

import com.augustnagro.magnum.magzio.*
import com.augustnagro.magnum.*
import com.dimafeng.testcontainers.PostgreSQLContainer
import com.dimafeng.testcontainers.munit.fixtures.TestContainersFixtures
import munit.{AnyFixture, FunSuite, Location}
Expand All @@ -25,7 +25,7 @@ class PgZioTests extends FunSuite, TestContainersFixtures:
override def munitFixtures: Seq[AnyFixture[_]] =
super.munitFixtures :+ pgContainer

def xa(): Transactor =
def xa(): TransactorZIO =
val ds = PGSimpleDataSource()
val pg = pgContainer()
ds.setUrl(pg.jdbcUrl)
Expand All @@ -48,7 +48,7 @@ class PgZioTests extends FunSuite, TestContainersFixtures:
Unsafe.unsafe { implicit unsafe =>
zio.Runtime.default.unsafe
.run(
Transactor.layer
TransactorZIO.layer
.build(Scope.global)
.map(_.get)
.provide(ZLayer.succeed(ds))
Expand Down
29 changes: 0 additions & 29 deletions magnum/src/main/scala/com/augustnagro/magnum/common/exports.scala

This file was deleted.

2 changes: 1 addition & 1 deletion magnum/src/test/scala/ClickHouseTests.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import com.clickhouse.jdbc.ClickHouseDataSource
import com.dimafeng.testcontainers.ClickHouseContainer
import com.dimafeng.testcontainers.munit.fixtures.TestContainersFixtures
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/EffectiveSubsetTests.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.FunSuite

class EffectiveSubsetTests extends FunSuite:
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/H2Tests.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.FunSuite
import org.h2.jdbcx.JdbcDataSource
import shared.*
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/MySqlTests.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import com.augustnagro.magnum.UUIDCodec.VarCharUUIDCodec
import com.dimafeng.testcontainers.MySQLContainer
import com.dimafeng.testcontainers.munit.fixtures.TestContainersFixtures
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/OracleTests.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import com.augustnagro.magnum.UUIDCodec.VarCharUUIDCodec
import com.dimafeng.testcontainers.OracleContainer
import com.dimafeng.testcontainers.munit.fixtures.TestContainersFixtures
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/PgTests.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import com.dimafeng.testcontainers.PostgreSQLContainer
import com.dimafeng.testcontainers.munit.fixtures.TestContainersFixtures
import munit.{AnyFixture, FunSuite, Location}
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/SqliteTests.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import com.augustnagro.magnum.UUIDCodec.VarCharUUIDCodec
import munit.FunSuite
import org.sqlite.SQLiteDataSource
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/opaques.scala
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*

object opaques:
opaque type Age = Int
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/BigDecTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

def bigDecTests(suite: FunSuite, dbType: DbType, xa: () => Transactor)(using
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/EmbeddedFragTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

import java.util.UUID
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/EntityCreatorTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import com.augustnagro.magnum.SqlException
import munit.{FunSuite, Location}

Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/ImmutableRepoTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

import java.sql.Connection
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/MultilineFragTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

def multilineFragTests(suite: FunSuite, dbType: DbType, xa: () => Transactor)(
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/NoIdTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

import java.time.OffsetDateTime
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/OptionalProductTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

import java.time.OffsetDateTime
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/RepoTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import com.augustnagro.magnum.{BatchUpdateResult, SqlException, ColumnNames}
import munit.FunSuite

Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/SharedTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

import java.time.OffsetDateTime
Expand Down
2 changes: 1 addition & 1 deletion magnum/src/test/scala/shared/SpecTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package shared

import com.augustnagro.magnum.common.*
import com.augustnagro.magnum.*
import munit.{FunSuite, Location}

import java.time.{OffsetDateTime, ZoneOffset}
Expand Down

0 comments on commit 192532b

Please sign in to comment.