Author: cbegin
Date: Sun Apr 20 15:35:17 2008
New Revision: 649990
URL: http://svn.apache.org/viewvc?rev=649990&view=rev
Log:
updated final few things for 2.3.2
Modified:
ibatis/trunk/java/mapper/mapper2/build/version.properties
ibatis/trunk/java/mapper/mapper2/doc/release.txt
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java
Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=649990&r1=649989&r2=649990&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/build/version.properties (original)
+++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Apr 20
15:35:17 2008
@@ -1,5 +1,5 @@
#Build version info
-#Sun Mar 23 21:43:59 MDT 2008
-version=2.3.1
-buildDate=2008/03/23 21\:43
-buildNum=710
+#Sun Apr 20 16:20:34 MDT 2008
+version=2.3.2
+buildDate=2008/04/20 16\:20
+buildNum=715
Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=649990&r1=649989&r2=649990&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original)
+++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sun Apr 20 15:35:17 2008
@@ -2,7 +2,15 @@
Build Number: @buildNum@
------------------------------
- 2.x
+ 2.3.2
+------------------------------
+ o Updated this release.txt file for 2.3.1
+ o Made DTD backward compatible again.
+ o Applied consistent lazy loading Set fix to all lazy loader implementations
+ o Note that version 2.3.1 and beyond will throws exception for java bean
specification violations
+
+------------------------------
+ 2.3.1
------------------------------
o Removed maxTransactions, maxRequests, maxSessions from configuration, all
are now controlled by the resource providers
o Fixed BATIS-391 - Cannot access Lists within custom objects.
@@ -11,7 +19,28 @@
o Fixed IBATIS-490 - Improper use of getColumnLabel()
o Fixed IBATIS-494 - Improper NULL handling in Blob and Clob Type Handlers
o Fixed IBATIS-497 - Improper use of hashCode in SqlExecuter
-
+ o Fixed IBATIS-406 Bug in Ibatis sqlMap when one resultMap has multiple
results that are resultMaps... then the groupby attribute only seems to work
for the first embedded resultMap.
+ o Fixed IBATIS-456 ClassCastException when mapping primitive arrays due to
attempts to cast to object arrays made by iBatis
+ o Fixed IBATIS-441 Multiple result sets support broken
+ o Fixed IBATIS-497 Bug when add two same length and hashCode SQLs to a batch
executor
+ o Fixed IBATIS-484 oracle's user-defined objects not fully supported
+ o Fixed IBATIS-391 Can not access Lists within custom objects.
+ o Fixed IBATIS-359 Performance Improvement when No SecurityManager installed
+ o Fixed IBATIS-439 Batching of statements does not work for stored procedures
+ o Fixed IBATIS-435 Bug Using iBATIS 2.3.0 And Spring Framework
+ o Fixed IBATIS-489 CacheModel.NULL_OBJECT should be Serializable to be used
with non-in-memory caches
+ o Fixed IBATIS-494 ClobTypeHandlerCallback handles NULLs incorrectly
+ o Fixed IBATIS-419 LazyLoad object is not serializable.
+ o Fixed IBATIS-490 When using implicit resultmap, the code fails throwing
exception "Undefined Column Name"
+ o Fixed IBATIS-487 lazy loading support java.util.Set interface
+ o Fixed IBATIS-491 resultMap support java 5 enum to jdbcType VARCHAR
+ o Fixed IBATIS-388 Add methods to unwrap all Proxied Objects
+ o Fixed IBATIS-433 ResultSetLogProxy doesn't log null value incorrectly
+ o Fixed IBATIS-445 SqlText setText function and tab (\t) character in text
definition
+ o Fixed IBATIS-479 Typo on com.ibatis.sqlmap.engine.conifg package
+ o Fixed IBATIS-387 bug in Jdk14LoggingImpl
+ o Fixed IBATIS-458 maxWait in Throttle can fail.
+ o Fixed IBATIS-467 flushInterval is limited to hours
------------------------------
2.3.0 - Dec 01, 2006
Modified:
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java?rev=649990&r1=649989&r2=649990&view=diff
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java
(original)
+++
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java
Sun Apr 20 15:35:17 2008
@@ -23,16 +23,19 @@
import net.sf.cglib.proxy.InvocationHandler;
import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
+import java.util.Set;
/**
* Class to lazily load results into objects (uses CGLib to improve
performance)
*/
public class EnhancedLazyResultLoader {
- private static final Class[] INTERFACES = new Class[]{List.class};
+ private static final Class[] SET_INTERFACES = new Class[]{Set.class};
+ private static final Class[] LIST_INTERFACES = new Class[]{List.class};
private Object loader;
@@ -52,7 +55,7 @@
* Loads the result
*
* @return the results - a list or object
- *
+ *
* @throws SQLException if there is a problem
*/
public Object loadResult() throws SQLException {
@@ -90,14 +93,18 @@
* Loads the result
*
* @return the results - a list or object
- *
+ *
* @throws SQLException if there is a problem
*/
public Object loadResult() throws SQLException {
if (DomTypeMarker.class.isAssignableFrom(targetType)) {
return ResultLoader.getResult(client, statementName, parameterObject,
targetType);
} else if (Collection.class.isAssignableFrom(targetType)) {
- return Enhancer.create(Object.class, INTERFACES, this);
+ if (Set.class.isAssignableFrom(targetType)) {
+ return Enhancer.create(Object.class, SET_INTERFACES, this);
+ } else {
+ return Enhancer.create(Object.class, LIST_INTERFACES, this);
+ }
} else if (targetType.isArray() || ClassInfo.isKnownType(targetType)) {
return ResultLoader.getResult(client, statementName, parameterObject,
targetType);
} else {