I hate databases! 🙂
Or, to be more accurate, I hate database drivers. For a long time, the next.jdbc tests for HikariCP and c3p0 and savepoints have skipped the MS SQL Server driver because it attempted new connections with TLS/SSL even when the original connection wasn't. I just updated a bunch of driver library deps, including MariaDB (to 4.0.0) and hit an exception on the connection pool tests. After a few experiments, I figured out that it too was now creating new connections with TLS/SSL (but not on the original connection). After some more experiments, I figured I could pass a jdbcUrl property (with the query param to disable SSL) into both HikariCP and c3p0 for MariaDB and that worked. So, I tried the same thing for MS SQL Server and, yup, that worked too. Argh!
Database network drivers are a pain. Probably one of the nicer things with switching to embedded databases. Function calls are simpler to reason about. Obviously a trade off. 😅
Heh, those all have their quirks too! The test stuff in next.jdbc has all sorts of conditional logic to allow me to write somewhat portable tests, even across the embedded and/or local databases (Derby, SQLite, H2, etc).