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 2006/11/21 06:49:45 UTC
svn commit: r477515 - in /ibatis/trunk/java/mapper/mapper2:
build/version.properties
src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
src/com/ibatis/sqlmap/engine/scope/SessionScope.java
Author: cbegin
Date: Mon Nov 20 21:49:44 2006
New Revision: 477515
URL: http://svn.apache.org/viewvc?view=rev&rev=477515
Log:
Fixed IBATIS-369
Modified:
ibatis/trunk/java/mapper/mapper2/build/version.properties
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/SessionScope.java
Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?view=diff&rev=477515&r1=477514&r2=477515
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/build/version.properties (original)
+++ ibatis/trunk/java/mapper/mapper2/build/version.properties Mon Nov 20 21:49:44 2006
@@ -1,5 +1,5 @@
#Build version info
-#Fri Nov 03 20:18:15 MST 2006
+#Mon Nov 20 22:45:11 MST 2006
version=2.3.0
-buildDate=2006/11/03 20\:18
-buildNum=666
+buildDate=2006/11/20 22\:45
+buildNum=669
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java?view=diff&rev=477515&r1=477514&r2=477515
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Mon Nov 20 21:49:44 2006
@@ -460,43 +460,45 @@
}
private PreparedStatement prepareStatement(SessionScope session, Connection conn, String sql, Integer rsType) throws SQLException {
+ SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
if (session.hasPreparedStatementFor(sql)) {
return session.getPreparedStatement((sql));
} else {
PreparedStatement ps = conn.prepareStatement(sql, rsType.intValue(), ResultSet.CONCUR_READ_ONLY);
- session.putPreparedStatement(sql, ps);
+ session.putPreparedStatement(delegate, sql, ps);
return ps;
}
}
private CallableStatement prepareCall(SessionScope session, Connection conn, String sql, Integer rsType) throws SQLException {
+ SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
if (session.hasPreparedStatementFor(sql)) {
return (CallableStatement) session.getPreparedStatement((sql));
} else {
CallableStatement cs = conn.prepareCall(sql, rsType.intValue(), ResultSet.CONCUR_READ_ONLY);
- session.putPreparedStatement(sql, cs);
+ session.putPreparedStatement(delegate, sql, cs);
return cs;
}
}
private static PreparedStatement prepareStatement(SessionScope session, Connection conn, String sql) throws SQLException {
SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
- if (delegate.isStatementCacheEnabled() && session.hasPreparedStatementFor(sql)) {
+ if (session.hasPreparedStatementFor(sql)) {
return session.getPreparedStatement((sql));
} else {
PreparedStatement ps = conn.prepareStatement(sql);
- session.putPreparedStatement(sql, ps);
+ session.putPreparedStatement(delegate, sql, ps);
return ps;
}
}
private CallableStatement prepareCall(SessionScope session, Connection conn, String sql) throws SQLException {
SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
- if (delegate.isStatementCacheEnabled() && session.hasPreparedStatementFor(sql)) {
+ if (session.hasPreparedStatementFor(sql)) {
return (CallableStatement) session.getPreparedStatement((sql));
} else {
CallableStatement cs = conn.prepareCall(sql);
- session.putPreparedStatement(sql, cs);
+ session.putPreparedStatement(delegate, sql, cs);
return cs;
}
}
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/SessionScope.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/SessionScope.java?view=diff&rev=477515&r1=477514&r2=477515
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/SessionScope.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/SessionScope.java Mon Nov 20 21:49:44 2006
@@ -21,6 +21,7 @@
import com.ibatis.sqlmap.client.SqlMapTransactionManager;
import com.ibatis.sqlmap.engine.transaction.Transaction;
import com.ibatis.sqlmap.engine.transaction.TransactionState;
+import com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate;
import java.sql.PreparedStatement;
import java.sql.SQLException;
@@ -241,11 +242,13 @@
return ps;
}
- public void putPreparedStatement(String sql, PreparedStatement ps) {
- if (!isInBatch()) {
- if (hasPreparedStatementFor(sql))
- throw new SqlMapException("Duplicate prepared statement found. This is likely a bug.");
- preparedStatements.put(sql, ps);
+ public void putPreparedStatement(SqlMapExecutorDelegate delegate, String sql, PreparedStatement ps) {
+ if (delegate.isStatementCacheEnabled()) {
+ if (!isInBatch()) {
+ if (hasPreparedStatementFor(sql))
+ throw new SqlMapException("Duplicate prepared statement found. This is likely a bug.");
+ preparedStatements.put(sql, ps);
+ }
}
}