You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2009/10/07 05:53:08 UTC
svn commit: r822575 - in /ibatis/java/ibatis-3/trunk:
ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/
ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/impl/
ibatis-3-core/src/main/java/org/apache/ibatis/binding/ ibatis-3-core/src/...
Author: cbegin
Date: Wed Oct 7 03:53:07 2009
New Revision: 822575
URL: http://svn.apache.org/viewvc?rev=822575&view=rev
Log:
Introduced RowLimit parameter instead of loose integers all over the place..
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/FlushCacheInterceptor.java
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/impl/SqlMapSessionImpl.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperMethod.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/keygen/SelectKeyGenerator.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/DefaultResultSetHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/RowLimit.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSession.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/FlushCacheInterceptor.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/FlushCacheInterceptor.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/FlushCacheInterceptor.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/FlushCacheInterceptor.java Wed Oct 7 03:53:07 2009
@@ -2,6 +2,7 @@
import org.apache.ibatis.cache.Cache;
import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.plugin.*;
@@ -10,8 +11,7 @@
@Intercepts({
@Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}),
- @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, int.class, int.class,
- ResultHandler.class})
+ @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowLimit.class, ResultHandler.class})
})
public class FlushCacheInterceptor implements Interceptor {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/impl/SqlMapSessionImpl.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/impl/SqlMapSessionImpl.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/impl/SqlMapSessionImpl.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/impl/SqlMapSessionImpl.java Wed Oct 7 03:53:07 2009
@@ -14,6 +14,7 @@
import org.apache.ibatis.executor.BatchExecutorException;
import org.apache.ibatis.executor.BatchResult;
import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.executor.result.*;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.ResultMap;
@@ -116,7 +117,7 @@
public Object execute(Transaction transaction) throws SQLException {
MappedStatement ms = configuration.getMappedStatement(id);
Executor executor = transaction.getExecutor();
- List list = executor.query(ms, wrapCollection(parameterObject), Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, null);
+ List list = executor.query(ms, wrapCollection(parameterObject), RowLimit.DEFAULT, null);
if (list.size() == 1) {
return list.get(0);
} else if (list.size() > 1) {
@@ -133,13 +134,13 @@
public Object execute(Transaction transaction) throws SQLException {
Executor executor = transaction.getExecutor();
MappedStatement ms = configuration.getMappedStatement(id);
- return executor.query(ms, wrapCollection(parameterObject), skip, max, null);
+ return executor.query(ms, wrapCollection(parameterObject), new RowLimit(skip, max), null);
}
});
}
public List queryForList(String id, Object parameterObject) throws SQLException {
- return queryForList(id, parameterObject, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT);
+ return queryForList(id, parameterObject, RowLimit.NO_ROW_OFFSET, RowLimit.NO_ROW_LIMIT);
}
public List queryForList(String id, int skip, int max) throws SQLException {
@@ -168,7 +169,7 @@
public Object execute(Transaction transaction) throws SQLException {
MappedStatement ms = configuration.getMappedStatement(id);
Executor executor = transaction.getExecutor();
- return executor.query(ms, wrapCollection(parameterObject), Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, new ResultHandler() {
+ return executor.query(ms, wrapCollection(parameterObject), RowLimit.DEFAULT, new ResultHandler() {
public void handleResult(ResultContext context) {
rowHandler.handleRow(context.getResultObject());
}
@@ -291,7 +292,7 @@
public Object execute(Transaction transaction) throws SQLException {
transaction.setCommitRequired(true);
Executor executor = transaction.getExecutor();
- return executor.query(keyStatement, parameterObject, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, null);
+ return executor.query(keyStatement, parameterObject, RowLimit.DEFAULT, null);
}
});
try {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperMethod.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperMethod.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperMethod.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperMethod.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.binding;
import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.session.SqlSession;
@@ -95,16 +96,13 @@
Object result;
if (hasListBounds) {
Object param = getParam(args);
- int offset = Executor.NO_ROW_OFFSET;
- int limit = Executor.NO_ROW_LIMIT;
+ RowLimit rowLimit = RowLimit.DEFAULT;
if (args.length == 3) {
- offset = ((Integer) args[1]);
- limit = ((Integer) args[2]);
+ rowLimit = new RowLimit((Integer) args[1], (Integer) args[2]);
} else if (args.length == 2) {
- offset = ((Integer) args[0]);
- limit = ((Integer) args[1]);
+ rowLimit = new RowLimit((Integer) args[0], (Integer) args[1]);
}
- result = sqlSession.selectList(commandName, param, offset, limit);
+ result = sqlSession.selectList(commandName, param, rowLimit);
} else {
Object param = getParam(args);
result = sqlSession.selectList(commandName, param);
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java Wed Oct 7 03:53:07 2009
@@ -8,6 +8,7 @@
import org.apache.ibatis.transaction.Transaction;
import org.apache.ibatis.type.TypeHandlerRegistry;
import static org.apache.ibatis.executor.ExecutionPlaceholder.*;
+import org.apache.ibatis.executor.resultset.RowLimit;
import java.sql.*;
import java.util.*;
@@ -64,18 +65,18 @@
return batchResults;
}
- public List query(MappedStatement ms, Object parameter, int offset, int limit, ResultHandler resultHandler) throws SQLException {
+ public List query(MappedStatement ms, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) throws SQLException {
ErrorContext.instance().resource(ms.getResource()).activity("executing a query").object(ms.getId());
List list;
try {
queryStack++;
- CacheKey key = createCacheKey(ms, parameter, offset, limit);
+ CacheKey key = createCacheKey(ms, parameter, rowLimit);
if (localCache.hasKey(key)) {
list = (List) localCache.getObject(key);
} else {
localCache.putObject(key, EXECUTION_PLACEHOLDER);
try {
- list = doQuery(ms, parameter, offset, limit, resultHandler);
+ list = doQuery(ms, parameter, rowLimit, resultHandler);
} finally {
localCache.removeObject(key);
}
@@ -96,12 +97,12 @@
deferredLoads.add(new DeferredLoad(ms, resultObject, property, key));
}
- public CacheKey createCacheKey(MappedStatement ms, Object parameterObject, int offset, int limit) {
+ public CacheKey createCacheKey(MappedStatement ms, Object parameterObject, RowLimit rowLimit) {
BoundSql boundSql = ms.getBoundSql(parameterObject);
CacheKey cacheKey = new CacheKey();
cacheKey.update(ms.getId());
- cacheKey.update(offset);
- cacheKey.update(limit);
+ cacheKey.update(rowLimit.getOffset());
+ cacheKey.update(rowLimit.getLimit());
cacheKey.update(boundSql.getSql());
List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
if (parameterMappings.size() > 0 && parameterObject != null) {
@@ -153,7 +154,7 @@
protected abstract List<BatchResult> doFlushStatements()
throws SQLException;
- protected abstract List doQuery(MappedStatement ms, Object parameter, int offset, int limit, ResultHandler resultHandler)
+ protected abstract List doQuery(MappedStatement ms, Object parameter, RowLimit rowLimit, ResultHandler resultHandler)
throws SQLException;
protected void closeStatement(Statement statement) {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java Wed Oct 7 03:53:07 2009
@@ -3,6 +3,7 @@
import org.apache.ibatis.executor.keygen.*;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.executor.statement.StatementHandler;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.transaction.Transaction;
@@ -24,7 +25,7 @@
public int doUpdate(MappedStatement ms, Object parameterObject)
throws SQLException {
Configuration configuration = ms.getConfiguration();
- StatementHandler handler = configuration.newStatementHandler(this, ms, parameterObject, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, null);
+ StatementHandler handler = configuration.newStatementHandler(this, ms, parameterObject, RowLimit.DEFAULT, null);
BoundSql boundSql = handler.getBoundSql();
String sql = boundSql.getSql();
Statement stmt;
@@ -43,11 +44,11 @@
return BATCH_UPDATE_RETURN_VALUE;
}
- public List doQuery(MappedStatement ms, Object parameterObject, int rowOffset, int rowLimit, ResultHandler resultHandler)
+ public List doQuery(MappedStatement ms, Object parameterObject, RowLimit rowLimit, ResultHandler resultHandler)
throws SQLException {
flushStatements();
Configuration configuration = ms.getConfiguration();
- StatementHandler handler = configuration.newStatementHandler(this, ms, parameterObject, rowOffset, rowLimit, resultHandler);
+ StatementHandler handler = configuration.newStatementHandler(this, ms, parameterObject, rowLimit, resultHandler);
Connection connection = transaction.getConnection();
Statement stmt = handler.prepare(connection);
handler.parameterize(stmt);
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java Wed Oct 7 03:53:07 2009
@@ -2,6 +2,7 @@
import org.apache.ibatis.cache.*;
import org.apache.ibatis.executor.result.ResultHandler;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.transaction.Transaction;
@@ -36,7 +37,7 @@
}
- public List query(MappedStatement ms, Object parameterObject, int offset, int limit, ResultHandler resultHandler) throws SQLException {
+ public List query(MappedStatement ms, Object parameterObject, RowLimit rowLimit, ResultHandler resultHandler) throws SQLException {
if (ms != null) {
Cache cache = ms.getCache();
if (cache != null) {
@@ -44,23 +45,23 @@
cache.getReadWriteLock().readLock().lock();
try {
if (ms.isUseCache()) {
- CacheKey key = createCacheKey(ms, parameterObject, offset, limit);
+ CacheKey key = createCacheKey(ms, parameterObject, rowLimit);
if (cache.hasKey(key)) {
return (List) cache.getObject(key);
} else {
- List list = delegate.query(ms, parameterObject, offset, limit, resultHandler);
+ List list = delegate.query(ms, parameterObject, rowLimit, resultHandler);
tcm.putObject(cache, key, list);
return list;
}
} else {
- return delegate.query(ms, parameterObject, offset, limit, resultHandler);
+ return delegate.query(ms, parameterObject, rowLimit, resultHandler);
}
} finally {
cache.getReadWriteLock().readLock().unlock();
}
}
}
- return delegate.query(ms, parameterObject, offset, limit, resultHandler);
+ return delegate.query(ms, parameterObject, rowLimit, resultHandler);
}
public List flushStatements() throws SQLException {
@@ -80,8 +81,8 @@
}
}
- public CacheKey createCacheKey(MappedStatement ms, Object parameterObject, int offset, int limit) {
- return delegate.createCacheKey(ms, parameterObject, offset, limit);
+ public CacheKey createCacheKey(MappedStatement ms, Object parameterObject, RowLimit rowLimit) {
+ return delegate.createCacheKey(ms, parameterObject, rowLimit);
}
public boolean isCached(MappedStatement ms, CacheKey key) {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java Wed Oct 7 03:53:07 2009
@@ -2,6 +2,7 @@
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.result.ResultHandler;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.transaction.Transaction;
@@ -11,13 +12,11 @@
public interface Executor {
- int NO_ROW_OFFSET = 0;
- int NO_ROW_LIMIT = Integer.MAX_VALUE;
ResultHandler NO_RESULT_HANDLER = null;
int update(MappedStatement ms, Object parameter) throws SQLException;
- List query(MappedStatement ms, Object parameter, int offset, int limit, ResultHandler resultHandler) throws SQLException;
+ List query(MappedStatement ms, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) throws SQLException;
List<BatchResult> flushStatements() throws SQLException;
@@ -25,7 +24,7 @@
void rollback(boolean required) throws SQLException;
- CacheKey createCacheKey(MappedStatement ms, Object parameterObject, int offset, int limit);
+ CacheKey createCacheKey(MappedStatement ms, Object parameterObject, RowLimit rowLimit);
boolean isCached(MappedStatement ms, CacheKey key);
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java Wed Oct 7 03:53:07 2009
@@ -2,6 +2,7 @@
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.executor.statement.StatementHandler;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.transaction.Transaction;
@@ -19,14 +20,14 @@
public int doUpdate(MappedStatement ms, Object parameter)
throws SQLException {
Configuration configuration = ms.getConfiguration();
- StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, null);
+ StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, RowLimit.DEFAULT, null);
Statement stmt = prepareStatement(handler);
return handler.update(stmt);
}
- public List doQuery(MappedStatement ms, Object parameter, int rowOffset, int rowLimit, ResultHandler resultHandler) throws SQLException {
+ public List doQuery(MappedStatement ms, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) throws SQLException {
Configuration configuration = ms.getConfiguration();
- StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, rowOffset, rowLimit, resultHandler);
+ StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, rowLimit, resultHandler);
Statement stmt = prepareStatement(handler);
return handler.query(stmt, resultHandler);
}
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java Wed Oct 7 03:53:07 2009
@@ -2,6 +2,7 @@
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.executor.statement.StatementHandler;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.transaction.Transaction;
@@ -19,7 +20,7 @@
Statement stmt = null;
try {
Configuration configuration = ms.getConfiguration();
- StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, null);
+ StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, RowLimit.DEFAULT, null);
stmt = prepareStatement(handler);
return handler.update(stmt);
} finally {
@@ -27,11 +28,11 @@
}
}
- public List doQuery(MappedStatement ms, Object parameter, int rowOffset, int rowLimit, ResultHandler resultHandler) throws SQLException {
+ public List doQuery(MappedStatement ms, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) throws SQLException {
Statement stmt = null;
try {
Configuration configuration = ms.getConfiguration();
- StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, rowOffset, rowLimit, resultHandler);
+ StatementHandler handler = configuration.newStatementHandler(this, ms, parameter, rowLimit, resultHandler);
stmt = prepareStatement(handler);
return handler.query(stmt, resultHandler);
} finally {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/keygen/SelectKeyGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/keygen/SelectKeyGenerator.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/keygen/SelectKeyGenerator.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/keygen/SelectKeyGenerator.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.executor.keygen;
import org.apache.ibatis.executor.*;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.reflection.MetaObject;
@@ -43,7 +44,7 @@
// Do not close keyExecutor.
// The transaction will be closed by parent executor.
Executor keyExecutor = configuration.newExecutor(executor.getTransaction(), ExecutorType.SIMPLE);
- List values = keyExecutor.query(keyStatement, parameter, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List values = keyExecutor.query(keyStatement, parameter, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
if (values.size() > 1) {
throw new ExecutorException("Select statement for SelectKeyGenerator returned more than one value.");
}
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.executor.loader;
import org.apache.ibatis.executor.*;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.Configuration;
import org.apache.ibatis.mapping.Environment;
@@ -63,7 +64,7 @@
localExecutor = newExecutor();
}
try {
- return localExecutor.query(mappedStatement, parameterObject, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ return localExecutor.query(mappedStatement, parameterObject, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
} finally {
if (executor.isClosed()) {
localExecutor.close();
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/DefaultResultSetHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/DefaultResultSetHandler.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/DefaultResultSetHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/DefaultResultSetHandler.java Wed Oct 7 03:53:07 2009
@@ -35,11 +35,11 @@
private final Map<CacheKey,Set<CacheKey>> localRowValueCaches;
private final Map<CacheKey,Object> globalRowValueCache;
- public DefaultResultSetHandler(Executor executor, MappedStatement mappedStatement, ParameterHandler parameterHandler, ResultHandler resultHandler, BoundSql boundSql, int offset, int limit) {
+ public DefaultResultSetHandler(Executor executor, MappedStatement mappedStatement, ParameterHandler parameterHandler, ResultHandler resultHandler, BoundSql boundSql, RowLimit rowLimit) {
this.executor = executor;
this.configuration = mappedStatement.getConfiguration();
this.mappedStatement = mappedStatement;
- this.rowLimit = new RowLimit(offset, limit);
+ this.rowLimit = rowLimit;
this.parameterHandler = parameterHandler;
this.boundSql = boundSql;
this.typeHandlerRegistry = configuration.getTypeHandlerRegistry();
@@ -342,7 +342,7 @@
final Object nestedQueryParameterObject = prepareParameterForNestedQuery(rs, propertyMapping, nestedQueryParameterType);
Object value = null;
if (nestedQueryParameterObject != null) {
- final CacheKey key = executor.createCacheKey(nestedQuery, nestedQueryParameterObject, RowLimit.NO_ROW_OFFSET, RowLimit.NO_ROW_LIMIT);
+ final CacheKey key = executor.createCacheKey(nestedQuery, nestedQueryParameterObject, RowLimit.DEFAULT);
if (executor.isCached(nestedQuery, key)) {
executor.deferLoad(nestedQuery, metaResultObject, property, key);
} else {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/RowLimit.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/RowLimit.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/RowLimit.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/RowLimit.java Wed Oct 7 03:53:07 2009
@@ -4,6 +4,7 @@
public final static int NO_ROW_OFFSET = 0;
public final static int NO_ROW_LIMIT = Integer.MAX_VALUE;
+ public final static RowLimit DEFAULT = new RowLimit();
private int offset;
private int limit;
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java Wed Oct 7 03:53:07 2009
@@ -4,6 +4,7 @@
import org.apache.ibatis.executor.parameter.ParameterHandler;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.executor.resultset.ResultSetHandler;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.reflection.factory.ObjectFactory;
import org.apache.ibatis.type.TypeHandlerRegistry;
@@ -20,16 +21,14 @@
protected final Executor executor;
protected final MappedStatement mappedStatement;
- protected final int rowOffset;
- protected final int rowLimit;
+ protected final RowLimit rowLimit;
protected final BoundSql boundSql;
- protected BaseStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameterObject, int rowOffset, int rowLimit, ResultHandler resultHandler) {
+ protected BaseStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameterObject, RowLimit rowLimit, ResultHandler resultHandler) {
this.configuration = mappedStatement.getConfiguration();
this.executor = executor;
this.mappedStatement = mappedStatement;
- this.rowOffset = rowOffset;
this.rowLimit = rowLimit;
this.typeHandlerRegistry = configuration.getTypeHandlerRegistry();
@@ -38,7 +37,7 @@
this.boundSql = mappedStatement.getBoundSql(parameterObject);
this.parameterHandler = configuration.newParameterHandler(mappedStatement, parameterObject, boundSql);
- this.resultSetHandler = configuration.newResultSetHandler(executor, mappedStatement, rowOffset, rowLimit, parameterHandler, resultHandler, boundSql);
+ this.resultSetHandler = configuration.newResultSetHandler(executor, mappedStatement, rowLimit, parameterHandler, resultHandler, boundSql);
}
public BoundSql getBoundSql() {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.executor.statement;
import org.apache.ibatis.executor.*;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.executor.keygen.KeyGenerator;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.mapping.*;
@@ -11,8 +12,8 @@
public class CallableStatementHandler extends BaseStatementHandler {
- public CallableStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameter, int rowOffset, int rowLimit, ResultHandler resultHandler) {
- super(executor, mappedStatement, parameter, rowOffset, rowLimit, resultHandler);
+ public CallableStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) {
+ super(executor, mappedStatement, parameter, rowLimit, resultHandler);
}
public int update(Statement statement)
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.executor.statement;
import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.executor.keygen.*;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.mapping.MappedStatement;
@@ -10,8 +11,8 @@
public class PreparedStatementHandler extends BaseStatementHandler {
- public PreparedStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameter, int rowOffset, int rowLimit, ResultHandler resultHandler) {
- super(executor, mappedStatement, parameter, rowOffset, rowLimit, resultHandler);
+ public PreparedStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) {
+ super(executor, mappedStatement, parameter, rowLimit, resultHandler);
}
public int update(Statement statement)
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.executor.statement;
import org.apache.ibatis.executor.*;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.executor.parameter.ParameterHandler;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.mapping.*;
@@ -12,17 +13,17 @@
private final StatementHandler delegate;
- public RoutingStatementHandler(Executor executor, MappedStatement ms, Object parameter, int rowOffset, int rowLimit, ResultHandler resultHandler) {
+ public RoutingStatementHandler(Executor executor, MappedStatement ms, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) {
switch (ms.getStatementType()) {
case STATEMENT:
- delegate = new SimpleStatementHandler(executor, ms, parameter, rowOffset, rowLimit, resultHandler);
+ delegate = new SimpleStatementHandler(executor, ms, parameter, rowLimit, resultHandler);
break;
case PREPARED:
- delegate = new PreparedStatementHandler(executor, ms, parameter, rowOffset, rowLimit, resultHandler);
+ delegate = new PreparedStatementHandler(executor, ms, parameter, rowLimit, resultHandler);
break;
case CALLABLE:
- delegate = new CallableStatementHandler(executor, ms, parameter, rowOffset, rowLimit, resultHandler);
+ delegate = new CallableStatementHandler(executor, ms, parameter, rowLimit, resultHandler);
break;
default:
throw new ExecutorException("Unknown statement type: " + ms.getStatementType());
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.executor.statement;
import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.executor.keygen.*;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.mapping.MappedStatement;
@@ -10,8 +11,8 @@
public class SimpleStatementHandler extends BaseStatementHandler {
- public SimpleStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameter, int rowOffset, int rowLimit, ResultHandler resultHandler) {
- super(executor, mappedStatement, parameter, rowOffset, rowLimit, resultHandler);
+ public SimpleStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameter, RowLimit rowLimit, ResultHandler resultHandler) {
+ super(executor, mappedStatement, parameter, rowLimit, resultHandler);
}
public int update(Statement statement)
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java Wed Oct 7 03:53:07 2009
@@ -172,14 +172,14 @@
return parameterHandler;
}
- public ResultSetHandler newResultSetHandler(Executor executor, MappedStatement mappedStatement, int rowOffset, int rowLimit, ParameterHandler parameterHandler, ResultHandler resultHandler, BoundSql boundSql) {
- ResultSetHandler resultSetHandler = new DefaultResultSetHandler(executor, mappedStatement, parameterHandler, resultHandler, boundSql, rowOffset, rowLimit);
+ public ResultSetHandler newResultSetHandler(Executor executor, MappedStatement mappedStatement, RowLimit rowLimit, ParameterHandler parameterHandler, ResultHandler resultHandler, BoundSql boundSql) {
+ ResultSetHandler resultSetHandler = new DefaultResultSetHandler(executor, mappedStatement, parameterHandler, resultHandler, boundSql, rowLimit);
resultSetHandler = (ResultSetHandler) interceptorChain.pluginAll(resultSetHandler);
return resultSetHandler;
}
- public StatementHandler newStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameterObject, int rowOffset, int rowLimit, ResultHandler resultHandler) {
- StatementHandler statementHandler = new RoutingStatementHandler(executor, mappedStatement, parameterObject, rowOffset, rowLimit, resultHandler);
+ public StatementHandler newStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameterObject, RowLimit rowLimit, ResultHandler resultHandler) {
+ StatementHandler statementHandler = new RoutingStatementHandler(executor, mappedStatement, parameterObject, rowLimit, resultHandler);
statementHandler = (StatementHandler) interceptorChain.pluginAll(statementHandler);
return statementHandler;
}
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSession.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSession.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSession.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSession.java Wed Oct 7 03:53:07 2009
@@ -1,6 +1,7 @@
package org.apache.ibatis.session;
import org.apache.ibatis.executor.result.ResultHandler;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.mapping.Configuration;
import java.util.List;
@@ -16,11 +17,11 @@
List selectList(String statement, Object parameter);
- List selectList(String statement, Object parameter, int offset, int limit);
+ List selectList(String statement, Object parameter, RowLimit rowLimit);
void select(String statement, Object parameter, ResultHandler handler);
- void select(String statement, Object parameter, int offset, int limit, ResultHandler handler);
+ void select(String statement, Object parameter, RowLimit rowLimit, ResultHandler handler);
int insert(String statement);
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java Wed Oct 7 03:53:07 2009
@@ -3,6 +3,7 @@
import org.apache.ibatis.exceptions.ExceptionFactory;
import org.apache.ibatis.exceptions.TooManyResultsException;
import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.session.*;
@@ -47,26 +48,26 @@
}
public List selectList(String statement, Object parameter) {
- return selectList(statement, parameter, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT);
+ return selectList(statement, parameter, RowLimit.DEFAULT);
}
- public List selectList(String statement, Object parameter, int offset, int limit) {
+ public List selectList(String statement, Object parameter, RowLimit rowLimit) {
try {
MappedStatement ms = configuration.getMappedStatement(statement);
- return executor.query(ms, wrapCollection(parameter), offset, limit, Executor.NO_RESULT_HANDLER);
+ return executor.query(ms, wrapCollection(parameter), rowLimit, Executor.NO_RESULT_HANDLER);
} catch (Exception e) {
throw ExceptionFactory.wrapException("Error querying database. Cause: " + e, e);
}
}
public void select(String statement, Object parameter, ResultHandler handler) {
- select(statement, parameter, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, handler);
+ select(statement, parameter, RowLimit.DEFAULT, handler);
}
- public void select(String statement, Object parameter, int offset, int limit, ResultHandler handler) {
+ public void select(String statement, Object parameter, RowLimit rowLimit, ResultHandler handler) {
try {
MappedStatement ms = configuration.getMappedStatement(statement);
- executor.query(ms, wrapCollection(parameter), offset, limit, handler);
+ executor.query(ms, wrapCollection(parameter), rowLimit, handler);
} catch (Exception e) {
throw ExceptionFactory.wrapException("Error querying database. Cause: " + e, e);
}
@@ -86,7 +87,6 @@
public int update(String statement, Object parameter) {
try {
- //TODO: Need commitRequired option at the statement level
dirty = true;
MappedStatement ms = configuration.getMappedStatement(statement);
return executor.update(ms, wrapCollection(parameter));
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java?rev=822575&r1=822574&r2=822575&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java Wed Oct 7 03:53:07 2009
@@ -2,6 +2,7 @@
import domain.blog.*;
import org.apache.ibatis.BaseDataTest;
+import org.apache.ibatis.executor.resultset.RowLimit;
import org.apache.ibatis.logging.jdbc.ConnectionLogger;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.transaction.Transaction;
@@ -36,7 +37,7 @@
MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorMappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
int rows = executor.update(insertStatement, author);
- List<Author> authors = executor.query(selectStatement, 99, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, 99, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
executor.rollback(true);
assertEquals(1, authors.size());
@@ -54,7 +55,7 @@
try {
Executor executor = createExecutor(new JdbcTransaction(connection, false));
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectAllAuthorsAutoMappedStatement(config);
- List<Author> authors = executor.query(selectStatement, null, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, null, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
assertEquals(2, authors.size());
Author author = authors.get(0);
// id,username, password, email, bio, favourite_section
@@ -86,7 +87,7 @@
}
assertTrue(-1 != author.getId());
if (author.getId() != BatchExecutor.BATCH_UPDATE_RETURN_VALUE) {
- List<Author> authors = executor.query(selectStatement, author.getId(), Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, author.getId(), RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.rollback(true);
assertEquals(1, authors.size());
assertEquals(author.toString(), authors.get(0).toString());
@@ -108,7 +109,7 @@
MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorProc(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
int rows = executor.update(insertStatement, author);
- List<Author> authors = executor.query(selectStatement, 97, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, 97, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
executor.rollback(true);
assertEquals(1, authors.size());
@@ -129,7 +130,7 @@
MappedStatement insertStatement = ExecutorTestHelper.createInsertAuthorWithIDof99MappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.createSelectAuthorWithIDof99MappedStatement(config);
int rows = executor.update(insertStatement, null);
- List<Author> authors = executor.query(selectStatement, 99, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, 99, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
executor.rollback(true);
assertEquals(1, authors.size());
@@ -151,7 +152,7 @@
MappedStatement updateStatement = ExecutorTestHelper.prepareUpdateAuthorMappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
int rows = executor.update(updateStatement, author);
- List<Author> authors = executor.query(selectStatement, 101, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, 101, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
executor.rollback(true);
assertEquals(1, authors.size());
@@ -173,7 +174,7 @@
MappedStatement deleteStatement = ExecutorTestHelper.prepareDeleteAuthorMappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
int rows = executor.update(deleteStatement, author);
- List<Author> authors = executor.query(selectStatement, 101, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, 101, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
executor.rollback(true);
assertEquals(0, authors.size());
@@ -191,7 +192,7 @@
try {
Executor executor = createExecutor(new JdbcTransaction(connection, false));
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectDiscriminatedProduct(config);
- List<Map> products = executor.query(selectStatement, null, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Map> products = executor.query(selectStatement, null, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
connection.rollback();
assertEquals(16, products.size());
for (Map m : products) {
@@ -214,7 +215,7 @@
try {
Executor executor = createExecutor(new JdbcTransaction(connection, false));
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectDiscriminatedProduct(config);
- List<Map> products = executor.query(selectStatement, null, 4, 10, Executor.NO_RESULT_HANDLER);
+ List<Map> products = executor.query(selectStatement, null, new RowLimit(4, 10), Executor.NO_RESULT_HANDLER);
connection.rollback();
assertEquals(10, products.size());
for (Map m : products) {
@@ -244,7 +245,7 @@
put("id1", 101);
put("id2", 102);
}
- }, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ }, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
connection.rollback();
assertEquals(2, authorSets.size());
for (List authors : authorSets) {
@@ -268,7 +269,7 @@
Executor executor = createExecutor(new JdbcTransaction(connection, false));
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectAuthorViaOutParams(config);
Author author = new Author(102, null, null, null, null, null);
- executor.query(selectStatement, author, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ executor.query(selectStatement, author, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
connection.rollback();
assertEquals("sally", author.getUsername());
@@ -292,7 +293,7 @@
MappedStatement selectPosts = ExecutorTestHelper.prepareSelectPostsForBlogMappedStatement(config);
config.addMappedStatement(selectBlog);
config.addMappedStatement(selectPosts);
- List<Post> posts = executor.query(selectPosts, 1, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Post> posts = executor.query(selectPosts, 1, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
assertEquals(2, posts.size());
assertNotNull(posts.get(1).getBlog());
@@ -314,7 +315,7 @@
MappedStatement selectPost = ExecutorTestHelper.prepareSelectPostMappedStatement(config);
config.addMappedStatement(selectBlog);
config.addMappedStatement(selectPost);
- List<Post> posts = executor.query(selectPost, 5, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Post> posts = executor.query(selectPost, 5, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
executor.rollback(true);
assertEquals(1, posts.size());
@@ -336,7 +337,7 @@
MappedStatement selectPost = ExecutorTestHelper.prepareSelectPostWithBlogByAuthorMappedStatement(config);
config.addMappedStatement(selectBlog);
config.addMappedStatement(selectPost);
- List<Post> posts = executor.query(selectPost, 2, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Post> posts = executor.query(selectPost, 2, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
assertEquals(1, posts.size());
Post post = posts.get(0);
@@ -361,7 +362,7 @@
config.addMappedStatement(selectBlog);
config.addMappedStatement(selectPosts);
config.setLazyLoadingEnabled(true);
- List<Blog> blogs = executor.query(selectBlog, 1, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Blog> blogs = executor.query(selectBlog, 1, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
assertEquals(1, blogs.size());
assertEquals(2, blogs.get(0).getPosts().size());
@@ -381,7 +382,7 @@
try {
Executor executor = createExecutor(new JdbcTransaction(connection, false));
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatementWithConstructorResults(config);
- List<Author> authors = executor.query(selectStatement, 102, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
+ List<Author> authors = executor.query(selectStatement, 102, RowLimit.DEFAULT, Executor.NO_RESULT_HANDLER);
executor.flushStatements();
executor.rollback(true);
assertEquals(1, authors.size());