完善mock和测试

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@808 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-09-16 07:40:47 +00:00
parent b530efe42a
commit 4f3831f32c
5 changed files with 177 additions and 2 deletions
@@ -70,6 +70,10 @@ public class MockCallableStatement extends MockPreparedStatement implements Call
@Override
public boolean wasNull() throws SQLException {
if (closed) {
throw new SQLException();
}
return wasNull;
}
@@ -60,6 +60,10 @@ public class MockPreparedStatement extends MockStatement implements PreparedStat
@Override
public ResultSet executeQuery() throws SQLException {
if (closed) {
throw new SQLException();
}
if (mockConnection != null && mockConnection.getDriver() != null) {
return mockConnection.getDriver().createResultSet(this);
}
@@ -73,6 +77,10 @@ public class MockPreparedStatement extends MockStatement implements PreparedStat
@Override
public int executeUpdate() throws SQLException {
if (closed) {
throw new SQLException();
}
return 0;
}
@@ -163,6 +171,10 @@ public class MockPreparedStatement extends MockStatement implements PreparedStat
@Override
public void clearParameters() throws SQLException {
if (closed) {
throw new SQLException();
}
parameters.clear();
}
@@ -81,8 +81,12 @@ public class PoolableConnection implements PooledConnection, Connection {
void closePoolableStatement(PoolablePreparedStatement stmt) throws SQLException {
PreparedStatement rawStatement = stmt.getRawPreparedStatement();
rawStatement.clearParameters();
try {
rawStatement.clearParameters();
} catch (SQLException ex) {
LOG.error("clear parameter error", ex);
}
if (holder.isPoolPreparedStatements()) {
this.holder.getStatementPool().put(stmt);
stmt.clearResultSet();