关于 postgresql:PGoolingDataSource 不遵守默认自动提交

PGPoolingDataSource does not honor default autocommit

记录了使用带有 getConnection 函数的数据源
https://jdbc.postgresql.org/documentation/94/ds-ds.html

当数据源禁用自动提交时,我们有

1
ds.isDefaultAutoCommit

res0: Boolean = false

获取连接:

1
val conn = ds.getConnection

启用自动提交:

1
conn.getAutoCommit

res1: Boolean = true

看代码我们看到getConnection使用父类函数没有改变提交模式
https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/ds/PGConnectionPoolDataSource.java

这只是实施异常/限制还是背后有其他原因?


它看起来像一个错误。 PGPooledConnection 类(池中连接的句柄)在其构造函数中采用布尔参数 autoCommit,但它不做任何事情(例如在分发逻辑连接之前重置自动提交状态) .

你应该在他们的 github 上创建一个问题。