diff --git a/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java index f0224e4a73..ec7bf594a3 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java +++ b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java @@ -590,7 +590,17 @@ public class DruidPooledStatement extends PoolableWrapper implements Statement { checkOpen(); try { - return stmt.getMoreResults(current); + boolean results = stmt.getMoreResults(current); + + if (resultSetTrace != null && resultSetTrace.size() > 0) { + ResultSet lastResultSet = resultSetTrace.get(resultSetTrace.size() - 1); + if (lastResultSet instanceof DruidPooledResultSet) { + DruidPooledResultSet pooledResultSet = ((DruidPooledResultSet) lastResultSet); + pooledResultSet.closed = true; + } + } + + return results; } catch (Throwable t) { throw checkException(t); }