Author: cbegin
Date: Sun Apr 5 21:31:51 2009
New Revision: 762164
URL: http://svn.apache.org/viewvc?rev=762164&view=rev
Log:
eliminated some duplicate state in the statement handlers
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
Sun Apr 5 21:31:51 2009
@@ -2,8 +2,7 @@
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.Configuration;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
import org.apache.ibatis.transaction.Transaction;
import java.sql.BatchUpdateException;
@@ -29,7 +28,8 @@
throws SQLException {
Configuration configuration = ms.getConfiguration();
StatementHandler handler = configuration.newStatementHandler(this, ms,
parameterObject, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, null);
- String sql = handler.getSql();
+ BoundSql boundSql = handler.getBoundSql();
+ String sql = boundSql.getSql();
Statement stmt;
if (currentSql != null && sql.hashCode() == currentSql.hashCode() &&
sql.length() == currentSql.length()) {
int last = statementList.size() - 1;
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
Sun Apr 5 21:31:51 2009
@@ -2,8 +2,7 @@
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.Configuration;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
import org.apache.ibatis.transaction.Transaction;
import java.sql.Connection;
@@ -48,7 +47,8 @@
private Statement prepareStatement(StatementHandler handler)
throws SQLException {
Statement stmt;
- String sql = handler.getSql();
+ BoundSql boundSql = handler.getBoundSql();
+ String sql = boundSql.getSql();
if (hasStatementFor(sql)) {
stmt = getStatement(sql);
} else {
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
Sun Apr 5 21:31:51 2009
@@ -17,7 +17,6 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import java.util.List;
public abstract class BaseStatementHandler implements StatementHandler {
@@ -28,18 +27,14 @@
protected final Executor executor;
protected final MappedStatement mappedStatement;
- protected final Object parameterObject;
protected final int rowOffset;
protected final int rowLimit;
- protected final List<ParameterMapping> parameterMappings;
- protected final String sql;
protected final BoundSql boundSql;
protected BaseStatementHandler(Executor executor, MappedStatement
mappedStatement, Object parameterObject, int rowOffset, int rowLimit,
ResultHandler resultHandler) {
this.executor = executor;
this.mappedStatement = mappedStatement;
- this.parameterObject = parameterObject;
this.rowOffset = rowOffset;
this.rowLimit = rowLimit;
@@ -48,15 +43,13 @@
this.objectFactory = configuration.getObjectFactory();
this.boundSql = mappedStatement.getBoundSql(parameterObject);
- this.sql = boundSql.getSql();
- this.parameterMappings = boundSql.getParameterMappings();
this.parameterHandler = configuration.newParameterHandler(mappedStatement,
parameterObject, boundSql);
this.resultSetHandler = configuration.newResultSetHandler(executor,
mappedStatement, rowOffset, rowLimit, parameterHandler, resultHandler,
boundSql);
}
- public String getSql() {
- return sql;
+ public BoundSql getBoundSql() {
+ return boundSql;
}
public ParameterHandler getParameterHandler() {
@@ -65,7 +58,7 @@
public Statement prepare(Connection connection)
throws SQLException {
- ErrorContext.instance().sql(sql);
+ ErrorContext.instance().sql(boundSql.getSql());
Statement statement = null;
try {
statement = instantiateStatement(connection);
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
Sun Apr 5 21:31:51 2009
@@ -41,6 +41,7 @@
}
protected Statement instantiateStatement(Connection connection) throws
SQLException {
+ String sql = boundSql.getSql();
if (mappedStatement.getResultSetType() != null) {
return connection.prepareCall(sql,
mappedStatement.getResultSetType().getValue(), ResultSet.CONCUR_READ_ONLY);
} else {
@@ -49,11 +50,12 @@
}
public void parameterize(Statement statement) throws SQLException {
- registerOutputParameters((CallableStatement) statement, mappedStatement);
+ registerOutputParameters((CallableStatement) statement);
parameterHandler.setParameters((CallableStatement) statement);
}
- private void registerOutputParameters(CallableStatement cs, MappedStatement
ms) throws SQLException {
+ private void registerOutputParameters(CallableStatement cs) throws
SQLException {
+ List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
for (int i = 0, n = parameterMappings.size(); i < n; i++) {
ParameterMapping parameterMapping = parameterMappings.get(i);
if (parameterMapping.getMode() == ParameterMode.OUT ||
parameterMapping.getMode() == ParameterMode.INOUT) {
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
Sun Apr 5 21:31:51 2009
@@ -19,6 +19,7 @@
ps.execute();
int result = ps.getUpdateCount();
if (mappedStatement.getConfiguration().isGeneratedKeysEnabled()) {
+ Object parameterObject = boundSql.getParameterObject();
result = processGeneratedKeys(mappedStatement, ps, parameterObject);
}
return result;
@@ -38,6 +39,7 @@
}
protected Statement instantiateStatement(Connection connection) throws
SQLException {
+ String sql = boundSql.getSql();
if (mappedStatement.getConfiguration().isGeneratedKeysEnabled()) {
return connection.prepareStatement(sql,
PreparedStatement.RETURN_GENERATED_KEYS);
} else if (mappedStatement.getResultSetType() != null) {
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
Sun Apr 5 21:31:51 2009
@@ -4,7 +4,7 @@
import org.apache.ibatis.executor.ExecutorException;
import org.apache.ibatis.executor.parameter.ParameterHandler;
import org.apache.ibatis.executor.result.ResultHandler;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
import java.sql.Connection;
import java.sql.SQLException;
@@ -53,8 +53,8 @@
return delegate.query(statement, resultHandler);
}
- public String getSql() {
- return delegate.getSql();
+ public BoundSql getBoundSql() {
+ return delegate.getBoundSql();
}
public ParameterHandler getParameterHandler() {
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
Sun Apr 5 21:31:51 2009
@@ -2,7 +2,7 @@
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.executor.result.ResultHandler;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -18,6 +18,8 @@
public int update(Statement statement)
throws SQLException {
+ String sql = boundSql.getSql();
+ Object parameterObject = boundSql.getParameterObject();
if (mappedStatement.getConfiguration().isGeneratedKeysEnabled()) {
statement.execute(sql, Statement.RETURN_GENERATED_KEYS);
} else {
@@ -32,11 +34,13 @@
public void batch(Statement statement)
throws SQLException {
+ String sql = boundSql.getSql();
statement.addBatch(sql);
}
public List query(Statement statement, ResultHandler resultHandler)
throws SQLException {
+ String sql = boundSql.getSql();
statement.execute(sql);
return resultSetHandler.handleResultSets(statement);
}
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java
Sun Apr 5 21:31:51 2009
@@ -2,6 +2,7 @@
import org.apache.ibatis.executor.parameter.ParameterHandler;
import org.apache.ibatis.executor.result.ResultHandler;
+import org.apache.ibatis.mapping.BoundSql;
import java.sql.Connection;
import java.sql.SQLException;
@@ -25,7 +26,7 @@
List query(Statement statement, ResultHandler resultHandler)
throws SQLException;
- String getSql();
+ BoundSql getBoundSql();
ParameterHandler getParameterHandler();