Re: java.sql.Statement.isClosed() throws an SQLException if the statement is closed

From: Christian Schlichtherle <christian(at)schlichtherle(dot)de>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: java.sql.Statement.isClosed() throws an SQLException if the statement is closed
Date: 2014-08-15 15:36:48
Message-ID: 723F4A88-3914-4E66-A428-0B336BE095D6@schlichtherle.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

The bug likewise applies to PreparedStatement, not just Statement.

Am 15.08.2014 um 13:43 schrieb Christian Schlichtherle <christian(at)schlichtherle(dot)de>:

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

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message javadesigner 2014-08-15 15:46:59 Re: PreparedStatement error upon trying to set a '?' after interval keyword
Previous Message Lussier, Denis 2014-08-15 13:56:20 Re: [ODBC] BIRT report opening multiple connections