diff --git a/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java b/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java index aec04e77..07377781 100644 --- a/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java +++ b/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java @@ -199,16 +199,13 @@ public class ConnectionProxy extends HikariProxyBase implements IHikariConnectio _leakTask = null; } - if (getAutoCommit()) - { - commit(); - } - try { - for (Statement statement : _openStatements) + + // Faster than an iterator + for (int i = _openStatements.size() - 1; i >= 0; i--) { - statement.close(); + _openStatements.get(i).close(); } } catch (SQLException e) diff --git a/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java b/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java index d5024a88..beb6a37d 100644 --- a/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java +++ b/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java @@ -49,6 +49,7 @@ public class StubResultSet implements ResultSet /** {@inheritDoc} */ public T unwrap(Class iface) throws SQLException { + return null; } @@ -61,7 +62,7 @@ public class StubResultSet implements ResultSet /** {@inheritDoc} */ public boolean next() throws SQLException { - return false; + return (counter < 10); } /** {@inheritDoc} */