improve ResultSetProxyImpl performance

This commit is contained in:
wenshao
2013-01-16 14:22:21 +08:00
parent 5cad17e7ab
commit 048b6afb19
5 changed files with 687 additions and 194 deletions
@@ -18,6 +18,7 @@ package com.alibaba.druid.bvt.filter;
import java.sql.Clob;
import java.sql.SQLException;
import java.util.Collections;
import java.util.Properties;
import junit.framework.TestCase;
@@ -27,7 +28,9 @@ import com.alibaba.druid.filter.FilterChainImpl;
import com.alibaba.druid.mock.MockClob;
import com.alibaba.druid.mock.MockResultSet;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import com.alibaba.druid.proxy.jdbc.ClobProxy;
import com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl;
import com.alibaba.druid.proxy.jdbc.ResultSetProxyImpl;
import com.alibaba.druid.proxy.jdbc.StatementProxy;
import com.alibaba.druid.proxy.jdbc.StatementProxyImpl;
@@ -43,7 +46,9 @@ public class FilterChainTest_Clob extends TestCase {
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
statement = new StatementProxyImpl(null, null, 1);
dataSource.setUrl("jdbc:mock:xxx");
ConnectionProxyImpl conn = new ConnectionProxyImpl(dataSource, null, new Properties(), 0);
statement = new StatementProxyImpl(conn, null, 1);
mockResultSet = new MockResultSet(null) {
@@ -18,6 +18,7 @@ package com.alibaba.druid.bvt.filter;
import java.sql.Clob;
import java.sql.SQLException;
import java.util.Collections;
import java.util.Properties;
import junit.framework.TestCase;
@@ -27,6 +28,7 @@ import com.alibaba.druid.filter.FilterChainImpl;
import com.alibaba.druid.mock.MockNClob;
import com.alibaba.druid.mock.MockResultSet;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl;
import com.alibaba.druid.proxy.jdbc.NClobProxy;
import com.alibaba.druid.proxy.jdbc.ResultSetProxyImpl;
import com.alibaba.druid.proxy.jdbc.StatementProxy;
@@ -43,7 +45,8 @@ public class FilterChainTest_NClob extends TestCase {
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
statement = new StatementProxyImpl(null, null, 1);
ConnectionProxyImpl conn = new ConnectionProxyImpl(dataSource, null, new Properties(), 0);
statement = new StatementProxyImpl(conn, null, 1);
mockResultSet = new MockResultSet(null) {
@@ -18,6 +18,7 @@ package com.alibaba.druid.bvt.filter;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collections;
import java.util.Properties;
import junit.framework.TestCase;
@@ -29,6 +30,7 @@ import com.alibaba.druid.mock.MockResultSet;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.proxy.jdbc.CallableStatementProxy;
import com.alibaba.druid.proxy.jdbc.CallableStatementProxyImpl;
import com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl;
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
import com.alibaba.druid.util.JdbcUtils;
@@ -41,7 +43,7 @@ public class FilterChainTest_ResultSet_2 extends TestCase {
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
ConnectionProxyImpl conn = new ConnectionProxyImpl(dataSource, null, new Properties(), 0);
MockCallableStatement mockStmt = new MockCallableStatement(null, "") {
@Override
@@ -51,7 +53,7 @@ public class FilterChainTest_ResultSet_2 extends TestCase {
}
};
statement = new CallableStatementProxyImpl(null, mockStmt, "", 1);
statement = new CallableStatementProxyImpl(conn, mockStmt, "", 1);
}