I will update the bug on GitHub - thanks for posting.
I think my question here was more on the informative side: are connections obtained as get-datasource closed on every use? and is there any difference between the def and the with-opencases? because I see the connection identifiers in Maria go up a lot.
If you pass a DataSource (or db-spec hash map or URI string) to any of next.jdbc's APIs that accept such a thing, then next.jdbc will call .getConnection() (possibly after creating a DataSource from the hash map or string) to get a fresh connection and will close it before returning the result. next.jdbc uses with-open internally to ensure all things that get opened – which includes Connection, PreparedStatement, and a few other things – also get properly closed.
The basic javax.sql.DataSource does not have a .close method (and doesn’t need one). HikariCP, c3p0, etc that provide connection pooled datasources have methods to shutdown the pool and those are usually named .close (but there’s no common base type to use for type hinting – I discuss that in the next.jdbc docs).
For folks reading this thread and not looking at the test results added to the GitHub issue above, it seems that this issue is related to a specific combination of environmental features, related to running MariaDB server on macOS (possibly restricted to specific versions of those).