diff --git a/src/main/java/com/alibaba/druid/pool/PoolableResultSet.java b/src/main/java/com/alibaba/druid/pool/PoolableResultSet.java index 08e945ccdb..41ae576272 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableResultSet.java +++ b/src/main/java/com/alibaba/druid/pool/PoolableResultSet.java @@ -21,7 +21,6 @@ import java.math.BigDecimal; import java.sql.Array; import java.sql.Blob; import java.sql.Clob; -import java.sql.Driver; import java.sql.NClob; import java.sql.Ref; import java.sql.ResultSet; @@ -1362,35 +1361,7 @@ public final class PoolableResultSet extends PoolableWrapper implements ResultSe @Override public boolean isClosed() throws SQLException { - if (this.closed) { - return true; - } - - Driver driver = null; - { - PoolableConnection conn = stmt.getPoolableConnection(); - ConnectionHolder holder = conn.getConnectionHolder(); - if (holder != null) { - DruidAbstractDataSource dataSource = holder.getDataSource(); - if (dataSource != null) { - driver = dataSource.getDriver(); - } - } - } - // Oracle Driver 10.x is JDBC 3.0 - if (driver != null) { - if ("oracle.jdbc.driver.OracleDriver".equals(driver.getClass().getName())) { - if (driver.getMajorVersion() <= 10) { - return closed; - } - } - } - - try { - return rs.isClosed(); - } catch (Throwable t) { - throw checkException(t); - } + return this.closed; } @Override diff --git a/src/main/java/com/alibaba/druid/pool/PoolableStatement.java b/src/main/java/com/alibaba/druid/pool/PoolableStatement.java index dc24bddd14..c69de5925e 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableStatement.java +++ b/src/main/java/com/alibaba/druid/pool/PoolableStatement.java @@ -16,7 +16,6 @@ package com.alibaba.druid.pool; import java.sql.Connection; -import java.sql.Driver; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.SQLWarning; @@ -420,34 +419,7 @@ public class PoolableStatement extends PoolableWrapper implements Statement { @Override public final boolean isClosed() throws SQLException { - if (this.closed) { - return true; - } - - Driver driver = null; - { - ConnectionHolder holder = conn.getConnectionHolder(); - if (holder != null) { - DruidAbstractDataSource dataSource = holder.getDataSource(); - if (dataSource != null) { - driver = dataSource.getDriver(); - } - } - } - // Oracle Driver 10.x is JDBC 3.0 - if (driver != null) { - if ("oracle.jdbc.driver.OracleDriver".equals(driver.getClass().getName())) { - if (driver.getMajorVersion() <= 10) { - return closed; - } - } - } - - try { - return stmt.isClosed(); - } catch (Throwable t) { - throw checkException(t); - } + return closed; } @Override diff --git a/src/test/java/com/alibaba/druid/pool/Case3.java b/src/test/java/com/alibaba/druid/pool/Case3.java new file mode 100644 index 0000000000..ec12617c8a --- /dev/null +++ b/src/test/java/com/alibaba/druid/pool/Case3.java @@ -0,0 +1,36 @@ +package com.alibaba.druid.pool; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import com.alibaba.druid.pool.DruidDataSource; + +public class Case3 extends TestCase { + + + public void test_1() throws Exception { + DruidDataSource dataSource = new DruidDataSource(); + dataSource.setUrl("jdbc:mysql://10.20.153.104:3306/druid2"); + dataSource.setUsername("root"); + dataSource.setPassword("root"); + + Connection conn = dataSource.getConnection(); + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT 1"); + rs.next(); + + conn.close(); + + Assert.assertEquals(true, stmt.isClosed()); + Assert.assertEquals(true, rs.isClosed()); + + rs.close(); + stmt.close(); + + dataSource.close(); + } +}