Add DatabaseConfig DSL with Transactor and HikariCP pooling support - #180
Merged
Conversation
New modules and APIs: - foundations-jdbc-hikari: HikariCP 6.2.1 connection pooling module - DatabaseConfig classes per database (PostgresConfig, MariaDbConfig, DuckDbConfig, OracleConfig, SqlServerConfig, Db2Config) with connect() method - PoolConfig for HikariCP pool settings with builder pattern - PooledDataSource wrapper with transactor() convenience method - DatabaseKind enum for database type detection - SqlSupplier<T> functional interface that can throw SQLException Transactor improvements: - Change Transactor to use SqlSupplier<Connection> for cleaner exception handling - Add Transactor(DatabaseConfig, Strategy) constructor for direct config usage - Add Transactor.testStrategy() for test isolation (always rollback) Other changes: - Fix UpdateBuilder.where() and DeleteBuilder.where() to accept Scala SqlExpr - Update typr.TypoDataSource to use new DatabaseConfig classes - Update all tester WithConnection files to use new Transactor API 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
oyvindberg
force-pushed
the
data-source
branch
from
January 4, 2026 10:50
1a9cf3c to
e71e785
Compare
FREEPDB1 is a pluggable database service name, not a SID. The Oracle
test helpers were generating SID format URLs which caused ORA-12505
errors. Added .serviceName("FREEPDB1") to generate the correct service
name URL format.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
oyvindberg
force-pushed
the
data-source
branch
from
January 4, 2026 12:37
abb4e8a to
431f65d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
foundations-jdbc-hikarimodule with HikariCP 6.2.1 connection poolingDatabaseConfigclasses per database (PostgresConfig, MariaDbConfig, DuckDbConfig, OracleConfig, SqlServerConfig, Db2Config) withconnect()methodPoolConfigfor HikariCP pool settings with builder patternPooledDataSourcewrapper withtransactor()convenience methodDatabaseKindenum for database type detectionSqlSupplier<T>functional interface that can throw SQLExceptionTransactorto useSqlSupplier<Connection>for cleaner exception handlingTransactor(DatabaseConfig, Strategy)constructor for direct config usageTransactor.testStrategy()for test isolation (always rollback)UpdateBuilder.where()andDeleteBuilder.where()to accept ScalaSqlExprtypr.TypoDataSourceto use newDatabaseConfigclassesTest plan
🤖 Generated with Claude Code