bug fixed for moreResultSets.

This commit is contained in:
wenshao
2016-08-05 22:56:25 +08:00
parent 2619534713
commit 3879c88d90
2 changed files with 18 additions and 11 deletions
@@ -40,7 +40,7 @@ public final class DruidPooledResultSet extends PoolableWrapper implements Resul
private final ResultSet rs;
private final DruidPooledStatement stmt;
private boolean closed = false;
protected boolean closed = false;
protected int cursorIndex = 0;
protected int fetchRowCount = 0;
@@ -15,18 +15,13 @@
*/
package com.alibaba.druid.pool;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.sql.SQLWarning;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.support.logging.Log;
import com.alibaba.druid.support.logging.LogFactory;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
/**
* @author wenshao [szujobs@hotmail.com]
*/
@@ -459,7 +454,19 @@ public class DruidPooledStatement extends PoolableWrapper implements Statement {
checkOpen();
try {
return stmt.getMoreResults();
boolean moreResults = stmt.getMoreResults();
if (moreResults) {
if (resultSetTrace != null) {
ResultSet lastResultSet = resultSetTrace.get(resultSetTrace.size() - 1);
if (lastResultSet instanceof DruidPooledResultSet) {
DruidPooledResultSet pooledResultSet = ((DruidPooledResultSet) lastResultSet);
pooledResultSet.closed = true;
}
}
}
return moreResults;
} catch (Throwable t) {
throw checkException(t);
}