Hi,
this bug applies to the JDBC driver version 9.3-1102-jdbc41. It only happens when using a PGPoolingDataSource. The bug
isin the proxy class for the Statement. Here’s some test code to provide evidence:
<pre><code>
package cpssd.postgresql;
import org.junit.Test;
import org.postgresql.ds.PGPoolingDataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class IsClosedIT {
@Test(expected = SQLException.class)
public void testIsClosed() throws SQLException {
final PGPoolingDataSource ds = new PGPoolingDataSource();
ds.setDatabaseName("postgres");
try (Connection c = ds.getConnection()) {
Statement s = c.createStatement();
s.close();
// Throws SQLException: Statement has been closed.
assert s.isClosed();
}
}
}
</code></pre>
Regards,
Christian Schlichtherle