PGPoolingDataSource 不接受默认的自动提交
PGPoolingDataSource does not honor default autocommit
记录了将数据源与 getConnection 函数一起使用
https://jdbc.postgresql.org/documentation/94/ds-ds.html
当数据源禁用自动提交时,我们有
ds.isDefaultAutoCommit
res0: 布尔值 = false
正在连接:
val conn = ds.getConnection
自动提交已启用:
conn.getAutoCommit
res1: 布尔值 = true
查看代码,我们看到 getConnection 使用父 class 函数而不更改提交模式
https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/ds/PGConnectionPoolDataSource.java
这只是实施 anomaly/limitation 还是背后有其他原因?
它看起来像一个错误。 class PGPooledConnection
(池中连接的句柄)在其构造函数中采用布尔参数 autoCommit
,但它不对其执行任何操作(如重置自动提交状态在分发逻辑连接之前)。
你应该在他们的 github 上创建一个问题。
记录了将数据源与 getConnection 函数一起使用 https://jdbc.postgresql.org/documentation/94/ds-ds.html
当数据源禁用自动提交时,我们有
ds.isDefaultAutoCommit
res0: 布尔值 = false
正在连接:
val conn = ds.getConnection
自动提交已启用:
conn.getAutoCommit
res1: 布尔值 = true
查看代码,我们看到 getConnection 使用父 class 函数而不更改提交模式 https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/ds/PGConnectionPoolDataSource.java
这只是实施 anomaly/limitation 还是背后有其他原因?
它看起来像一个错误。 class PGPooledConnection
(池中连接的句柄)在其构造函数中采用布尔参数 autoCommit
,但它不对其执行任何操作(如重置自动提交状态在分发逻辑连接之前)。
你应该在他们的 github 上创建一个问题。