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 2008/11/30 08:59:56 UTC
svn commit: r721781 - in /ibatis/trunk/java/ibatis-3:
ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/
ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/
ibatis-3-compat/src/main/java/com/ibatis/sqlmap/...
Author: cbegin
Date: Sat Nov 29 23:59:55 2008
New Revision: 721781
URL: http://svn.apache.org/viewvc?rev=721781&view=rev
Log:
Added support for real autocommit
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlMapper.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlMapper.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/TransactionFactory.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransactionFactory.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransactionFactory.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/SqlMapperBuilderTest.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java Sat Nov 29 23:59:55 2008
@@ -44,7 +44,7 @@
connection.setAutoCommit(defaultAutoCommit);
}
}
- executor = configuration.newExecutor(new JdbcTransaction(connection));
+ executor = configuration.newExecutor(new JdbcTransaction(connection,false));
}
public void commit(boolean required) throws SQLException, TransactionException {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java Sat Nov 29 23:59:55 2008
@@ -36,7 +36,7 @@
if (connection.getAutoCommit()) {
connection.setAutoCommit(false);
}
- executor = configuration.newExecutor(new org.apache.ibatis.transaction.jdbc.JdbcTransaction(connection));
+ executor = configuration.newExecutor(new org.apache.ibatis.transaction.jdbc.JdbcTransaction(connection, false));
}
public void commit(boolean required) throws SQLException, TransactionException {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java Sat Nov 29 23:59:55 2008
@@ -56,7 +56,7 @@
if (connection.getAutoCommit()) {
connection.setAutoCommit(false);
}
- executor = configuration.newExecutor(new JdbcTransaction(connection));
+ executor = configuration.newExecutor(new JdbcTransaction(connection,false));
}
public void commit(boolean required) throws SQLException, TransactionException {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java Sat Nov 29 23:59:55 2008
@@ -12,7 +12,7 @@
private Executor executor;
public UserProvidedTransaction(Configuration configuration, Connection connection) {
- this.executor = configuration.newExecutor(new JdbcTransaction(connection));
+ this.executor = configuration.newExecutor(new JdbcTransaction(connection,false));
}
public void commit(boolean required) throws SQLException, TransactionException {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlMapper.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlMapper.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlMapper.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlMapper.java Sat Nov 29 23:59:55 2008
@@ -8,6 +8,8 @@
SqlSession openSession();
+ SqlSession openSession(boolean autoCommit);
+
SqlSession openSession(Connection connection);
Configuration getConfiguration();
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlMapper.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlMapper.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlMapper.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlMapper.java Sat Nov 29 23:59:55 2008
@@ -28,9 +28,13 @@
}
public SqlSession openSession() {
+ return openSession(false);
+ }
+
+ public SqlSession openSession(boolean autoCommit) {
try {
Connection connection = dataSource.getConnection();
- Transaction tx = transactionFactory.newTransaction(connection);
+ Transaction tx = transactionFactory.newTransaction(connection, autoCommit);
Executor executor = configuration.newExecutor(tx);
return new DefaultSqlSession(configuration, executor);
} catch (SQLException e) {
@@ -39,7 +43,15 @@
}
public SqlSession openSession(Connection connection) {
- Transaction tx = transactionFactory.newTransaction(connection);
+ boolean autoCommit;
+ try {
+ autoCommit = connection.getAutoCommit();
+ } catch (SQLException e) {
+ // Failover to true, as most poor drivers
+ // or databases won't support transactions
+ autoCommit = true;
+ }
+ Transaction tx = transactionFactory.newTransaction(connection, autoCommit);
Executor executor = configuration.newExecutor(tx);
return new DefaultSqlSession(configuration, executor);
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/TransactionFactory.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/TransactionFactory.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/TransactionFactory.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/TransactionFactory.java Sat Nov 29 23:59:55 2008
@@ -7,6 +7,6 @@
void setProperties(Properties props);
- Transaction newTransaction(Connection conn);
+ Transaction newTransaction(Connection conn, boolean autoCommit);
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java Sat Nov 29 23:59:55 2008
@@ -1,17 +1,16 @@
package org.apache.ibatis.transaction.jdbc;
-import org.apache.ibatis.transaction.Transaction;
-import org.apache.ibatis.api.exceptions.ExceptionFactory;
+import org.apache.ibatis.transaction.*;
-import java.sql.Connection;
-import java.sql.SQLException;
+import java.sql.*;
public class JdbcTransaction implements Transaction {
- private Connection connection;
+ protected Connection connection;
- public JdbcTransaction(Connection connection) {
+ public JdbcTransaction(Connection connection, boolean desiredAutoCommit) {
this.connection = connection;
+ setDesiredAutoCommit(desiredAutoCommit);
}
public Connection getConnection() {
@@ -19,14 +18,48 @@
}
public void commit() throws SQLException {
- connection.commit();
+ if (!connection.getAutoCommit()) {
+ connection.commit();
+ }
}
public void rollback() throws SQLException {
- connection.rollback();
+ if (!connection.getAutoCommit()) {
+ connection.rollback();
+ }
}
public void close() throws SQLException {
+ resetAutoCommit();
connection.close();
}
+
+ protected void setDesiredAutoCommit(boolean desiredAutoCommit) {
+ try {
+ if (connection.getAutoCommit() != desiredAutoCommit) {
+ connection.setAutoCommit(desiredAutoCommit);
+ }
+ } catch (SQLException e) {
+ // Only a very poorly implemented driver would fail here,
+ // and there's not much we can do about that.
+ throw new TransactionException("Error configuring AutoCommit. " +
+ "Your driver may not support getAutoCommit() or setAutoCommit(). " +
+ "Requested setting: " + desiredAutoCommit + ". Cause: " + e, e);
+ }
+ }
+
+ protected void resetAutoCommit() {
+ try {
+ if (!connection.getAutoCommit()) {
+ // for compatibility we always use true, as some drivers don't like being left in "false" mode.
+ connection.setAutoCommit(true);
+ }
+ } catch (SQLException e) {
+ // Only a very poorly implemented driver would fail here,
+ // and there's not much we can do about that.
+ throw new TransactionException("Error configuring AutoCommit. " +
+ "Your driver may not support getAutoCommit() or setAutoCommit(). Cause: " + e, e);
+ }
+ }
+
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransactionFactory.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransactionFactory.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransactionFactory.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransactionFactory.java Sat Nov 29 23:59:55 2008
@@ -11,8 +11,8 @@
public void setProperties(Properties props) {
}
- public Transaction newTransaction(Connection conn) {
- return new JdbcTransaction(conn);
+ public Transaction newTransaction(Connection conn, boolean autoCommit) {
+ return new JdbcTransaction(conn, autoCommit);
}
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java Sat Nov 29 23:59:55 2008
@@ -1,6 +1,6 @@
package org.apache.ibatis.transaction.managed;
-import org.apache.ibatis.transaction.Transaction;
+import org.apache.ibatis.transaction.*;
import java.sql.Connection;
import java.sql.SQLException;
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransactionFactory.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransactionFactory.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransactionFactory.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransactionFactory.java Sat Nov 29 23:59:55 2008
@@ -9,12 +9,12 @@
public class ManagedTransactionFactory implements TransactionFactory {
public void setProperties(Properties props) {
-
}
- public Transaction newTransaction(Connection conn) {
-
+ public Transaction newTransaction(Connection conn, boolean autoCommit) {
+ // Silently ignores autocommit, as managed transactions are entirely
+ // controlled by an external manager. It's silently ignored so that
+ // code remains portable between managed and unmanaged configurations.
return new ManagedTransaction(conn);
}
-
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/SqlMapperBuilderTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/SqlMapperBuilderTest.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/SqlMapperBuilderTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/SqlMapperBuilderTest.java Sat Nov 29 23:59:55 2008
@@ -1,7 +1,6 @@
package org.apache.ibatis.builder;
-import org.junit.Test;
-import org.junit.Assert;
+import org.junit.*;
import org.apache.ibatis.BaseDataTest;
import org.apache.ibatis.api.*;
import org.apache.ibatis.io.Resources;
@@ -12,17 +11,23 @@
import domain.blog.Author;
public class SqlMapperBuilderTest extends BaseDataTest {
+ private static SqlMapper sqlMapper;
- @Test
- public void shouldBuildBlogMappers() throws Exception {
+ @BeforeClass
+ public static void setup() throws Exception {
createBlogDataSource();
final String resource = "org/apache/ibatis/builder/MapperConfig.xml";
final Reader reader = Resources.getResourceAsReader(resource);
- SqlMapper sqlMapper = new SqlMapperBuilder().build(reader);
+ sqlMapper = new SqlMapperBuilder().build(reader);
+ }
+
+ @Test
+ public void shouldBuildBlogMappers() throws Exception {
SqlSession session = sqlMapper.openSession();
try {
List<Author> authors = session.selectList("com.domain.AuthorMapper.selectAllAuthors");
Assert.assertEquals(2,authors.size());
+
} finally {
session.close();
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java?rev=721781&r1=721780&r2=721781&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java Sat Nov 29 23:59:55 2008
@@ -28,7 +28,7 @@
public void shouldInsertNewAuthor() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
Author author = new Author(99, "someone", "******", "someone@apache.org", null, Section.NEWS);
MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorMappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -45,7 +45,7 @@
public void shouldSelectAllAuthorsAutoMapped() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ 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);
Assert.assertEquals(2, authors.size());
@@ -65,7 +65,7 @@
Connection connection = ds.getConnection();
config.setGeneratedKeysEnabled(true);
try {
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
Author author = new Author(-1, "someone", "******", "someone@apache.org", null, Section.NEWS);
MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorMappedStatementWithAutoKey(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -88,7 +88,7 @@
public void shouldInsertNewAuthorByProc() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
Author author = new Author(97, "someone", "******", "someone@apache.org", null, null);
MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorProc(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -104,7 +104,7 @@
public void shouldInsertNewAuthorUsingSimpleNonPreparedStatements() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
Author author = new Author(99, "someone", "******", "someone@apache.org", null, null);
MappedStatement insertStatement = ExecutorTestHelper.createInsertAuthorWithIDof99MappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.createSelectAuthorWithIDof99MappedStatement(config);
@@ -121,7 +121,7 @@
public void shouldUpdateAuthor() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
Author author = new Author(101, "someone", "******", "someone@apache.org", null, Section.NEWS);
MappedStatement updateStatement = ExecutorTestHelper.prepareUpdateAuthorMappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -138,7 +138,7 @@
public void shouldDeleteAuthor() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
Author author = new Author(101, null, null, null, null, null);
MappedStatement deleteStatement = ExecutorTestHelper.prepareDeleteAuthorMappedStatement(config);
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -154,7 +154,7 @@
public void shouldSelectDiscriminatedProduct() throws Exception {
DataSource ds = createJPetstoreDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ 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);
connection.rollback();
@@ -172,7 +172,7 @@
public void shouldSelect10DiscriminatedProducts() throws Exception {
DataSource ds = createJPetstoreDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ 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);
connection.rollback();
@@ -191,7 +191,7 @@
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
connection.setAutoCommit(false);
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
MappedStatement selectStatement = ExecutorTestHelper.prepareSelectTwoSetsOfAuthorsProc(config);
List<List> authorSets = executor.query(selectStatement, new HashMap() {
{
@@ -214,7 +214,7 @@
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
connection.setAutoCommit(false);
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ 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);
@@ -230,7 +230,7 @@
public void shouldFetchPostsForBlog() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
MappedStatement selectBlog = ExecutorTestHelper.prepareComplexSelectBlogMappedStatement(config);
MappedStatement selectPosts = ExecutorTestHelper.prepareSelectPostsForBlogMappedStatement(config);
config.addMappedStatement(selectBlog);
@@ -247,7 +247,7 @@
public void shouldFetchOneOrphanedPostWithNoBlog() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
MappedStatement selectBlog = ExecutorTestHelper.prepareComplexSelectBlogMappedStatement(config);
MappedStatement selectPost = ExecutorTestHelper.prepareSelectPostMappedStatement(config);
config.addMappedStatement(selectBlog);
@@ -264,7 +264,7 @@
public void shouldFetchPostWithBlogWithCompositeKey() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
MappedStatement selectBlog = ExecutorTestHelper.prepareSelectBlogByIdAndAuthor(config);
MappedStatement selectPost = ExecutorTestHelper.prepareSelectPostWithBlogByAuthorMappedStatement(config);
config.addMappedStatement(selectBlog);
@@ -284,7 +284,7 @@
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
try {
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ Executor executor = createExecutor(new JdbcTransaction(connection,false));
MappedStatement selectBlog = ExecutorTestHelper.prepareComplexSelectBlogMappedStatement(config);
MappedStatement selectPosts = ExecutorTestHelper.prepareSelectPostsForBlogMappedStatement(config);
config.addMappedStatement(selectBlog);
@@ -305,7 +305,7 @@
public void shouldMapConstructorResults() throws Exception {
DataSource ds = createBlogDataSource();
Connection connection = ds.getConnection();
- Executor executor = createExecutor(new JdbcTransaction(connection));
+ 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);
executor.flushStatements();