Merge pull request #496 from cutedemons/master

resultset proxy
This commit is contained in:
cutedemons
2014-01-13 23:14:45 -08:00
2 changed files with 11 additions and 12 deletions
@@ -58,6 +58,8 @@ import com.alibaba.druid.proxy.jdbc.NClobProxy;
import com.alibaba.druid.proxy.jdbc.NClobProxyImpl;
import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy;
import com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl;
import com.alibaba.druid.proxy.jdbc.ResultSetMetaDataProxy;
import com.alibaba.druid.proxy.jdbc.ResultSetMetaDataProxyImpl;
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
import com.alibaba.druid.proxy.jdbc.ResultSetProxyImpl;
import com.alibaba.druid.proxy.jdbc.StatementProxy;
@@ -965,7 +967,7 @@ public class FilterChainImpl implements FilterChain {
if (this.pos < filterSize) {
return nextFilter().resultSet_getMetaData(this, resultSet);
}
return resultSet.getResultSetRaw().getMetaData();
return wrap(resultSet.getResultSetRaw().getMetaData(), resultSet);
}
@Override
@@ -4474,6 +4476,14 @@ public class FilterChainImpl implements FilterChain {
statement.getLastExecuteSql());
}
public ResultSetMetaDataProxy wrap(ResultSetMetaData metaData, ResultSetProxy resultSet) {
if (metaData == null) {
return null;
}
return new ResultSetMetaDataProxyImpl(metaData, dataSource.createMetaDataId(), resultSet);
}
public ClobProxy wrap(ConnectionProxy conn, Clob clob) {
if (clob == null) {
return null;
@@ -35,7 +35,6 @@ import com.alibaba.druid.proxy.jdbc.CallableStatementProxy;
import com.alibaba.druid.proxy.jdbc.ConnectionProxy;
import com.alibaba.druid.proxy.jdbc.DataSourceProxy;
import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy;
import com.alibaba.druid.proxy.jdbc.ResultSetMetaDataProxyImpl;
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
import com.alibaba.druid.proxy.jdbc.StatementProxy;
import com.alibaba.druid.support.logging.Log;
@@ -780,16 +779,6 @@ public class WallFilter extends FilterAdapter implements WallFilterMBean {
return hasNext;
}
@Override
public ResultSetMetaData resultSet_getMetaData(FilterChain chain, ResultSetProxy resultSet) throws SQLException {
ResultSetMetaData metaData = chain.resultSet_getMetaData(resultSet);
if (metaData == null) {
return null;
}
return new ResultSetMetaDataProxyImpl(metaData, chain.getDataSource().createMetaDataId(), resultSet);
}
public long getViolationCount() {
return this.provider.getViolationCount();
}