Re: java.sql.Statement.isClosed() throws an SQLException if the statement is closed - Mailing list pgsql-jdbc

From Christian Schlichtherle
Subject Re: java.sql.Statement.isClosed() throws an SQLException if the statement is closed
Date
Msg-id 723F4A88-3914-4E66-A428-0B336BE095D6@schlichtherle.de
Whole thread Raw
In response to java.sql.Statement.isClosed() throws an SQLException if the statement is closed  (Christian Schlichtherle <christian@schlichtherle.de>)
Responses Re: java.sql.Statement.isClosed() throws an SQLException if the statement is closed
List pgsql-jdbc
The bug likewise applies to PreparedStatement, not just Statement.

Am 15.08.2014 um 13:43 schrieb Christian Schlichtherle <christian@schlichtherle.de>:

> Hi,
>
> this bug applies to the JDBC driver version 9.3-1102-jdbc41. It only happens when using a PGPoolingDataSource. The
bugis in 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


Attachment

pgsql-jdbc by date:

Previous
From: "Lussier, Denis"
Date:
Subject: Re: [ODBC] BIRT report opening multiple connections
Next
From: javadesigner
Date:
Subject: Re: PreparedStatement error upon trying to set a '?' after interval keyword