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 2010/02/12 15:08:11 UTC
svn commit: r909414 - in /ibatis/java/ibatis-3/trunk: doc/en/
ibatis-3-core/src/main/java/org/apache/ibatis/builder/
ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/
ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ ibatis-3-core/...
Author: cbegin
Date: Fri Feb 12 14:08:10 2010
New Revision: 909414
URL: http://svn.apache.org/viewvc?rev=909414&view=rev
Log:
Fixed IBATIS-741 STRUCT is not supported and callable statements does not support structured sql types as out parameters.
Modified:
ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.doc
ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.pdf
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/SqlSourceBuilder.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/mapping/ParameterMapping.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/JdbcType.java
Modified: ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.doc
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.doc?rev=909414&r1=909413&r2=909414&view=diff
==============================================================================
Binary files - no diff available.
Modified: ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.pdf
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.pdf?rev=909414&r1=909413&r2=909414&view=diff
==============================================================================
Binary files - no diff available.
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/SqlSourceBuilder.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/SqlSourceBuilder.java?rev=909414&r1=909413&r2=909414&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/SqlSourceBuilder.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/SqlSourceBuilder.java Fri Feb 12 14:08:10 2010
@@ -79,6 +79,8 @@
builder.resultMapId(value);
} else if ("typeHandler".equals(name)) {
builder.typeHandler((TypeHandler) resolveInstance(value));
+ } else if ("jdbcTypeName".equals(name)) {
+ builder.jdbcTypeName(value);
}
} else {
throw new BuilderException("Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}");
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=909414&r1=909413&r2=909414&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 Fri Feb 12 14:08:10 2010
@@ -74,7 +74,11 @@
if (parameterMapping.getNumericScale() != null && (parameterMapping.getJdbcType() == JdbcType.NUMERIC || parameterMapping.getJdbcType() == JdbcType.DECIMAL)) {
cs.registerOutParameter(i + 1, parameterMapping.getJdbcType().TYPE_CODE, parameterMapping.getNumericScale());
} else {
- cs.registerOutParameter(i + 1, parameterMapping.getJdbcType().TYPE_CODE);
+ if (parameterMapping.getJdbcTypeName() == null) {
+ cs.registerOutParameter(i + 1, parameterMapping.getJdbcType().TYPE_CODE);
+ } else {
+ cs.registerOutParameter(i + 1, parameterMapping.getJdbcType().TYPE_CODE, parameterMapping.getJdbcTypeName());
+ }
}
}
}
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ParameterMapping.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ParameterMapping.java?rev=909414&r1=909413&r2=909414&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ParameterMapping.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ParameterMapping.java Fri Feb 12 14:08:10 2010
@@ -16,6 +16,7 @@
private Integer numericScale;
private TypeHandler typeHandler;
private String resultMapId;
+ private String jdbcTypeName;
private ParameterMapping() {
}
@@ -67,6 +68,11 @@
return this;
}
+ public Builder jdbcTypeName(String jdbcTypeName) {
+ parameterMapping.jdbcTypeName = jdbcTypeName;
+ return this;
+ }
+
public ParameterMapping build() {
resolveTypeHandler();
return parameterMapping;
@@ -113,4 +119,8 @@
return resultMapId;
}
+ public String getJdbcTypeName() {
+ return jdbcTypeName;
+ }
+
}
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/JdbcType.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/JdbcType.java?rev=909414&r1=909413&r2=909414&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/JdbcType.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/JdbcType.java Fri Feb 12 14:08:10 2010
@@ -31,9 +31,10 @@
BOOLEAN(Types.BOOLEAN),
CURSOR(-10), // Oracle
UNDEFINED(Integer.MIN_VALUE + 1000),
- NVARCHAR(-9),
- NCHAR(-15),
- NCLOB(2011);
+ NVARCHAR(-9), // JDK6
+ NCHAR(-15), // JDK6
+ NCLOB(2011), // JDK6
+ STRUCT(Types.STRUCT);
public final int TYPE_CODE;
private static Map<Integer,JdbcType> codeLookup = new HashMap<Integer,JdbcType>();