Author: rgrabowski
Date: Sun Nov 20 10:46:27 2005
New Revision: 345772
URL: http://svn.apache.org/viewcvs?rev=345772&view=rev
Log:
Allow results from statements without resultMap or resultClass attributes to be
processed. Applied type handler logic to IDataReader fields when elements
should be returned as an IDictionary or IList.
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Other.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/ResultClassTest.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -1,83 +1,116 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<sqlMap namespace="Order" xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibatis.apache.org
-http://ibatis.apache.org/xsd/SqlMap.xsd">
+<sqlMap namespace="ResultClass"
+xmlns="http://ibatis.apache.org/mapping"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<statements>
- <!--
- System.InvalidCastException
- No cast function in Access SQL syntax
- -->
+
<statement id="GetBoolean"
parameterClass="Int"
resultClass="bool" >
select CBool('True') from Orders where Order_ID =
#dummy#
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
</statement>
- <!--
- System.InvalidCastException
- No cast function in Access SQL syntax
- -->
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select CByte(155) from Orders where Order_ID = #value#
- </statement>
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
+ </statement>
<statement id="GetChar"
parameterClass="Int"
resultClass="char" >
select 'a' from Orders where Order_ID = #value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select Order_Date from Orders where Order_ID = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select 1.56 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select CDbl(99.5) from Orders where Order_ID= #value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<statement id="GetGuid" parameterClass="Int" resultClass="guid"
>
select {CD5ABF17-4BBC-4C86-92F1-257735414CF4} from
Orders where Order_ID = #value#
+ </statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
</statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select 32111 from Orders where Order_ID = #value#
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
</statement>
-
+
<statement id="GetInt32"
parameterClass="Int"
resultClass="int" >
select 999999 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select 9223372036854775800 from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
- <!--
- System.InvalidCastException
- -->
<statement id="GetSingle"
parameterClass="Int"
- resultClass="float" >
+ resultClass="double" >
select CSng(92233.5) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -85,6 +118,11 @@
select 'VISA'
from Orders where Order_ID = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" ?>
+<?xml version="1.0" encoding="UTF-8" ?>
<sqlMap namespace="ResultClass" xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
@@ -8,12 +8,20 @@
parameterClass="Int"
resultClass="bool" >
select cast(1 as bit) from Orders where Order_ID =
#dummy#
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
</statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select cast(155 as tinyint) from Orders where Order_ID
= #value#
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
</statement>
<statement id="GetChar"
@@ -21,35 +29,57 @@
resultClass="char" >
select cast('a' as char) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select cast('2003-02-15 8:15:00' as datetime) from
Orders where Order_ID = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select cast(1.56 as decimal(9,2)) from Orders where
Order_ID = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select cast(99.5 as float) from Orders where Order_ID=
#value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<statement id="GetGuid"
parameterClass="Int"
resultClass="guid" >
select cast('CD5ABF17-4BBC-4C86-92F1-257735414CF4' as
UniqueIdentifier) from Orders where Order_ID = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select cast(32111 as SmallInt) from Orders where
Order_ID = #value#
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
</statement>
<statement id="GetInt32"
@@ -57,18 +87,30 @@
resultClass="int" >
select cast(999999 as int) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select cast(9223372036854775800 as bigint) from Orders
where Order_ID = #value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
<statement id="GetSingle"
parameterClass="Int"
resultClass="float" >
select cast(92233.5 as real) from Orders where Order_ID
= #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -76,6 +118,11 @@
select 'VISA'
from Orders where Order_ID = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Other.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Other.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Other.xml
(original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Other.xml
Sun Nov 20 10:46:27 2005
@@ -160,7 +160,10 @@
( Other_Int, Other_Long, Other_Bit,
Other_String )
values
( #Int#, #Long#, #Bool#, #Bool2,handler=OuiNonBool#)
- </statement>
+ </statement>
+
+
+
</statements>
<parameterMaps>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -1,19 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<sqlMap namespace="ResultClass" xmlns="http://ibatis.apache.org/mapping"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
+<sqlMap namespace="ResultClass"
+xmlns="http://ibatis.apache.org/mapping"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<statements>
<statement id="GetBoolean"
parameterClass="Int"
resultClass="bool" >
select cast(1 as bit) from Orders where Order_ID =
#dummy#
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
</statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select cast(155 as tinyint) from Orders where Order_ID
= #value#
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
</statement>
<statement id="GetChar"
@@ -21,35 +30,57 @@
resultClass="char" >
select cast('a' as char) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select cast('2003-02-15 8:15:00' as datetime) from
Orders where Order_ID = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select cast(1.56 as decimal(9,2)) from Orders where
Order_ID = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select cast(99.5 as float) from Orders where Order_ID=
#value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<statement id="GetGuid"
parameterClass="Int"
resultClass="guid" >
select cast('CD5ABF17-4BBC-4C86-92F1-257735414CF4' as
UniqueIdentifier) from Orders where Order_ID = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select cast(32111 as SmallInt) from Orders where
Order_ID = #value#
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
</statement>
<statement id="GetInt32"
@@ -57,18 +88,30 @@
resultClass="int" >
select cast(999999 as int) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select cast(9223372036854775800 as bigint) from Orders
where Order_ID = #value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
<statement id="GetSingle"
parameterClass="Int"
resultClass="float" >
select cast(92233.5 as real) from Orders where Order_ID
= #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -76,6 +119,11 @@
select 'VISA'
from Orders where Order_ID = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -9,12 +9,20 @@
parameterClass="Int"
resultClass="bool" >
select cast(1 as bit) from Orders where Order_ID =
#dummy#
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
</statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select cast(155 as tinyint) from Orders where Order_ID
= #value#
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
</statement>
<statement id="GetChar"
@@ -22,35 +30,57 @@
resultClass="char" >
select cast('a' as char) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select cast('2003-02-15 8:15:00' as datetime) from
Orders where Order_ID = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select cast(1.56 as decimal(9,2)) from Orders where
Order_ID = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select cast(99.5 as float) from Orders where Order_ID=
#value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<statement id="GetGuid"
parameterClass="Int"
resultClass="guid" >
select cast('CD5ABF17-4BBC-4C86-92F1-257735414CF4' as
UniqueIdentifier) from Orders where Order_ID = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select cast(32111 as SmallInt) from Orders where
Order_ID = #value#
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
</statement>
<statement id="GetInt32"
@@ -58,18 +88,30 @@
resultClass="int" >
select cast(999999 as int) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select cast(9223372036854775800 as bigint) from Orders
where Order_ID = #value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
<statement id="GetSingle"
parameterClass="Int"
resultClass="float" >
select cast(92233.5 as real) from Orders where Order_ID
= #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -77,6 +119,11 @@
select 'VISA'
from Orders where Order_ID = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -8,14 +8,22 @@
parameterClass="Int"
resultClass="bool" >
select 1 from Orders where Order_ID = #dummy#
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
</statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select 155 from Orders where Order_ID = #value#
- </statement>
-
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
+ </statement>
+
<!--
NOTE: Use MySql 4.0.2 or higher for "cast"
-->
@@ -24,24 +32,40 @@
resultClass="char" >
select cast('a' as char) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select cast('2003-02-15 8:15:00' as datetime) from
Orders where Order_ID = #value#
</statement>
-
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
+
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select 1.56 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select 99.5 from Orders where Order_ID= #value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<!--
Use binary for cast for MySql
@@ -51,11 +75,17 @@
resultClass="guid" >
select cast('CD5ABF17-4BBC-4C86-92F1-257735414CF4' as
binary) from Orders where Order_ID = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select 32111 from Orders where Order_ID = #value#
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
</statement>
<statement id="GetInt32"
@@ -63,18 +93,30 @@
resultClass="int" >
select 999999 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select 9223372036854775800 from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
<statement id="GetSingle"
parameterClass="Int"
resultClass="float" >
select 92233.5 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -82,6 +124,11 @@
select 'VISA'
from Orders where Order_ID = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -8,12 +8,20 @@
parameterClass="Int"
resultClass="bool" >
select 1 from Orders where Order_ID = #dummy#
- </statement>
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
+ </statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select 155 from Orders where Order_ID = #value#
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
</statement>
<!--
@@ -24,24 +32,40 @@
resultClass="char" >
select cast('a' as char) from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select cast('2003-02-15 8:15:00' as datetime) from
Orders where Order_ID = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select 1.56 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select 99.5 from Orders where Order_ID= #value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<!--
Use binary for cast for MySql
@@ -51,30 +75,48 @@
resultClass="guid" >
select cast('CD5ABF17-4BBC-4C86-92F1-257735414CF4' as
binary) from Orders where Order_ID = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select 32111 from Orders where Order_ID = #value#
- </statement>
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
+ </statement>
<statement id="GetInt32"
parameterClass="Int"
resultClass="int" >
select 999999 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select 9223372036854775800 from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
<statement id="GetSingle"
parameterClass="Int"
resultClass="float" >
select 92233.5 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -82,6 +124,11 @@
select 'VISA'
from Orders where Order_ID = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -9,12 +9,20 @@
parameterClass="Int"
resultClass="bool" >
select 1 from dual where 1 = #dummy#
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
</statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select 155 from dual where 1 = #value#
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
</statement>
<statement id="GetChar"
@@ -22,18 +30,30 @@
resultClass="char" >
select cast('a' as char) from dual where 1 = #value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select TO_DATE('2003-02-15 8:15:00', 'YYYY-MM-DD
HH:MI:SS') from dual where 1 = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select 1.56 from dual where 1 = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<!--
Using ODP.NET 10.1
@@ -54,17 +74,27 @@
resultClass="double" >
select trunc(99.5,1) from dual where 1 = #value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<statement id="GetGuid"
parameterClass="Int"
resultClass="guid" >
select 'CD5ABF17-4BBC-4C86-92F1-257735414CF4' from dual
where 1 = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select 32111 from dual where 1 = #value#
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
</statement>
<statement id="GetInt32"
@@ -72,12 +102,20 @@
resultClass="int" >
select 999999 from dual where 1 = #value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select 9223372036854775800 from dual where 1 = #value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
<!--
Using ODP.NET 10.1
@@ -98,6 +136,10 @@
resultClass="float" >
select trunc(92233.5,1) from dual where 1 = #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -105,6 +147,11 @@
select 'VISA'
from dual where 1 = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -8,48 +8,78 @@
parameterClass="Int"
resultClass="bool" >
select 1 from dual where 1 = #dummy#
- </statement>
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
+ </statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select 155 from dual where 1 = #value#
- </statement>
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
+ </statement>
<statement id="GetChar"
parameterClass="Int"
resultClass="char" >
select cast('a' as char) from dual where 1 = #value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select TO_DATE('2003-02-15 8:15:00', 'YYYY-MM-DD
HH:MI:SS') from dual where 1 = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select 1.56 from dual where 1 = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select 99.5 from dual where 1 = #value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<statement id="GetGuid"
parameterClass="Int"
resultClass="guid" >
select 'CD5ABF17-4BBC-4C86-92F1-257735414CF4' from dual
where 1 = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select 32111 from dual where 1 = #value#
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
</statement>
<statement id="GetInt32"
@@ -57,6 +87,10 @@
resultClass="int" >
select 999999 from dual where 1 = #value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
@@ -69,6 +103,10 @@
resultClass="float" >
select 92233.5 from dual where 1 = #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -76,6 +114,11 @@
select 'VISA'
from dual where 1 = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml
Sun Nov 20 10:46:27 2005
@@ -8,12 +8,20 @@
parameterClass="Int"
resultClass="bool" >
select 1 from Orders where Order_ID = #dummy#
- </statement>
+ </statement>
+ <statement id="GetBooleanWithoutResultClass"
+ parameterClass="Int"
+ extends="GetBoolean">
+ </statement>
<statement id="GetByte"
parameterClass="Int"
resultClass="byte" >
select 155 from Orders where Order_ID = #value#
+ </statement>
+ <statement id="GetByteWithoutResultClass"
+ parameterClass="Int"
+ extends="GetByte">
</statement>
<statement id="GetChar"
@@ -21,54 +29,88 @@
resultClass="char" >
select 'a' from Orders where Order_ID = #value#
</statement>
+ <statement id="GetCharWithoutResultClass"
+ parameterClass="Int"
+ extends="GetChar">
+ </statement>
<statement id="GetDate"
parameterClass="Int"
resultClass="date" >
select '2003-02-15 8:15:00'::timestamp from Orders
where Order_ID = #value#
</statement>
+ <statement id="GetDateWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDate">
+ </statement>
<statement id="GetDecimal"
parameterClass="Int"
resultClass="decimal" >
select 1.56 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetDecimalWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDecimal">
+ </statement>
<statement id="GetDouble"
parameterClass="Int"
resultClass="double" >
select CAST(99.5 as float8) from Orders where Order_ID=
#value#
</statement>
+ <statement id="GetDoubleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetDouble">
+ </statement>
<statement id="GetGuid"
parameterClass="Int"
resultClass="guid" >
select 'CD5ABF17-4BBC-4C86-92F1-257735414CF4' from
Orders where Order_ID = #value#
</statement>
+ <statement id="GetGuidWithoutResultClass" parameterClass="Int"
extends="GetGuid">
+ </statement>
<statement id="GetInt16"
parameterClass="Int"
resultClass="short" >
select 32111 from Orders where Order_ID = #value#
- </statement>
+ </statement>
+ <statement id="GetInt16WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt16">
+ </statement>
<statement id="GetInt32"
parameterClass="Int"
resultClass="int" >
select 999999 from Orders where Order_ID = #value#
</statement>
+ <statement id="GetInt32WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt32">
+ </statement>
<statement id="GetInt64"
parameterClass="Int"
resultClass="long" >
select 9223372036854775800 from Orders where Order_ID =
#value#
</statement>
+ <statement id="GetInt64WithoutResultClass"
+ parameterClass="Int"
+ extends="GetInt64">
+ </statement>
<statement id="GetSingle"
parameterClass="Int"
resultClass="float" >
select CAST(92233.5as float4) from Orders where
Order_ID = #value#
</statement>
+ <statement id="GetSingleWithoutResultClass"
+ parameterClass="Int"
+ extends="GetSingle">
+ </statement>
<statement id="GetString"
parameterClass="Int"
@@ -76,6 +118,11 @@
select 'VISA'
from Orders where Order_ID = #value#
</statement>
+ <statement id="GetStringWithoutResultClass"
+ parameterClass="Int"
+ extends="GetString">
+ </statement>
+
</statements>
</sqlMap>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/ResultClassTest.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/ResultClassTest.cs?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/ResultClassTest.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/ResultClassTest.cs
Sun Nov 20 10:46:27 2005
@@ -1,9 +1,7 @@
using System;
-using System.Collections;
using NUnit.Framework;
-using IBatisNet.DataMapper.Test.NUnit;
using IBatisNet.DataMapper.Test.Domain;
namespace IBatisNet.DataMapper.Test.NUnit.SqlMapTests
@@ -47,6 +45,17 @@
}
/// <summary>
+ /// Test a boolean implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestBooleanWithoutResultClass()
+ {
+ bool bit =
Convert.ToBoolean(sqlMap.QueryForObject("GetBooleanWithoutResultClass", 1));
+
+ Assert.AreEqual(true, bit);
+ }
+
+ /// <summary>
/// Test a byte resultClass
/// </summary>
[Test]
@@ -57,6 +66,16 @@
Assert.AreEqual(155, letter);
}
+ /// <summary>
+ /// Test a byte implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestByteWithoutResultClass()
+ {
+ byte letter =
Convert.ToByte(sqlMap.QueryForObject("GetByteWithoutResultClass", 1));
+
+ Assert.AreEqual(155, letter);
+ }
/// <summary>
/// Test a char resultClass
@@ -69,6 +88,16 @@
Assert.AreEqual('a', letter);
}
+ /// <summary>
+ /// Test a char implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestCharWithoutResultClass()
+ {
+ char letter =
Convert.ToChar(sqlMap.QueryForObject("GetCharWithoutResultClass", 1));
+
+ Assert.AreEqual('a', letter);
+ }
/// <summary>
/// Test a DateTime resultClass
@@ -84,6 +113,19 @@
}
/// <summary>
+ /// Test a DateTime implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestDateTimeWithoutResultClass()
+ {
+ DateTime orderDate =
Convert.ToDateTime(sqlMap.QueryForObject("GetDateWithoutResultClass", 1));
+
+ System.DateTime date = new DateTime(2003, 2, 15, 8, 15,
00);
+
+ Assert.AreEqual(date.ToString(), orderDate.ToString());
+ }
+
+ /// <summary>
/// Test a decimal resultClass
/// </summary>
[Test]
@@ -95,6 +137,17 @@
}
/// <summary>
+ /// Test a decimal implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestDecimalWithoutResultClass()
+ {
+ decimal price =
Convert.ToDecimal(sqlMap.QueryForObject("GetDecimalWithoutResultClass", 1));
+
+ Assert.AreEqual((decimal)1.56, price);
+ }
+
+ /// <summary>
/// Test a double resultClass
/// </summary>
[Test]
@@ -106,6 +159,17 @@
}
/// <summary>
+ /// Test a double implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestDoubleWithoutResultClass()
+ {
+ double price =
Convert.ToDouble(sqlMap.QueryForObject("GetDoubleWithoutResultClass", 1));
+
+ Assert.AreEqual(99.5f, price);
+ }
+
+ /// <summary>
/// IBATISNET-25 Error applying ResultMap when using 'Guid' in
resultClass
/// </summary>
[Test]
@@ -119,6 +183,21 @@
}
/// <summary>
+ /// Test a Guid implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestGuidWithoutResultClass()
+ {
+ Guid newGuid = new
Guid("CD5ABF17-4BBC-4C86-92F1-257735414CF4");
+
+ string guidString =
Convert.ToString(sqlMap.QueryForObject("GetGuidWithoutResultClass", 1));
+
+ Guid guid = new Guid(guidString);
+
+ Assert.AreEqual(newGuid, guid);
+ }
+
+ /// <summary>
/// Test a int16 resultClass
/// </summary>
[Test]
@@ -130,6 +209,17 @@
}
/// <summary>
+ /// Test a int16 implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestInt16WithoutResultClass()
+ {
+ short integer =
Convert.ToInt16(sqlMap.QueryForObject("GetInt16WithoutResultClass", 1));
+
+ Assert.AreEqual(32111, integer);
+ }
+
+ /// <summary>
/// Test a int 32 resultClass
/// </summary>
[Test]
@@ -142,6 +232,18 @@
}
/// <summary>
+ /// Test a int 32 implicit resultClass
+ /// </summary>
+ [Test]
+
+ public void TestInt32WithoutResultClass()
+ {
+ int integer =
Convert.ToInt32(sqlMap.QueryForObject("GetInt32WithoutResultClass", 1));
+
+ Assert.AreEqual(999999, integer);
+ }
+
+ /// <summary>
/// Test a int64 resultClass
/// </summary>
[Test]
@@ -153,12 +255,34 @@
}
/// <summary>
+ /// Test a int64 implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestInt64WithoutResultClass()
+ {
+ long bigInt =
Convert.ToInt64(sqlMap.QueryForObject("GetInt64WithoutResultClass", 1));
+
+ Assert.AreEqual(9223372036854775800, bigInt);
+ }
+
+ /// <summary>
/// Test a single/float resultClass
/// </summary>
[Test]
public void TestSingle()
{
- float price = (float)
sqlMap.QueryForObject("GetSingle", 1);
+ float price = (float)sqlMap.QueryForObject("GetSingle",
1);
+
+ Assert.AreEqual(92233.5, price);
+ }
+
+ /// <summary>
+ /// Test a single/float implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestSingleWithoutResultClass()
+ {
+ double price =
Convert.ToDouble(sqlMap.QueryForObject("GetSingleWithoutResultClass", 1));
Assert.AreEqual(92233.5, price);
}
@@ -175,6 +299,17 @@
}
/// <summary>
+ /// Test a string implicit resultClass
+ /// </summary>
+ [Test]
+ public void TestStringWithoutResultClass()
+ {
+ string cardType =
Convert.ToString(sqlMap.QueryForObject("GetStringWithoutResultClass", 1));
+
+ Assert.AreEqual("VISA", cardType);
+ }
+
+ /// <summary>
/// Test a TimeSpan resultClass
/// </summary>
[Test]
@@ -191,6 +326,16 @@
Guid guid = (Guid)sqlMap.QueryForObject("GetGuid", key);
Assert.AreEqual(newGuid, guid);
+ }
+
+ /// <summary>
+ /// Test a TimeSpan implicit resultClass
+ /// </summary>
+ [Test]
+ [Ignore("To do")]
+ public void TestTimeSpanWithoutResultClass()
+ {
+
}
#endregion
}
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs?rev=345772&r1=345771&r2=345772&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs
Sun Nov 20 10:46:27 2005
@@ -33,6 +33,7 @@
using System.Text;
using IBatisNet.Common;
using IBatisNet.Common.Logging;
+using IBatisNet.Common.Utilities;
using IBatisNet.Common.Utilities.Objects;
using IBatisNet.DataMapper.Commands;
using IBatisNet.DataMapper.Configuration.ParameterMapping;
@@ -278,7 +279,7 @@
property.PropertyName = "value";
property.ColumnIndex = 0;
property.TypeHandler =
_sqlMap.TypeHandlerFactory.GetTypeHandler(outObject.GetType());
-
+
resultMap.AddResultPropery(property);
SetObjectProperty(request,
request.ResultMap, property, ref outObject, reader);
@@ -287,20 +288,59 @@
{
for (int i = 0; i <
reader.FieldCount; i++)
{
- string columnName =
reader.GetName(i);
- ((IDictionary)
outObject).Add(columnName, reader.GetValue(i));
+ ResultProperty property
= new ResultProperty();
+ property.PropertyName =
"value";
+ property.ColumnIndex =
i;
+ property.TypeHandler =
_sqlMap.TypeHandlerFactory.GetTypeHandler(reader.GetFieldType(i));
+ ((IDictionary)
outObject).Add(
+
reader.GetName(i),
+
property.GetDataBaseValue(reader));
}
}
else if (outObject is IList)
{
for (int i = 0; i <
reader.FieldCount; i++)
{
- ((IList)
outObject).Add(reader.GetValue(i));
+ ResultProperty property
= new ResultProperty();
+ property.PropertyName =
"value";
+ property.ColumnIndex =
i;
+ property.TypeHandler =
_sqlMap.TypeHandlerFactory.GetTypeHandler(reader.GetFieldType(i));
+ ((IList)
outObject).Add(property.GetDataBaseValue(reader));
}
}
else
{
AutoMapReader( reader, ref
outObject);
+ }
+ }
+ else
+ {
+ if (reader.FieldCount == 1)
+ {
+ ResultProperty property = new
ResultProperty();
+ property.PropertyName = "value";
+ property.ColumnIndex = 0;
+ property.TypeHandler =
_sqlMap.TypeHandlerFactory.GetTypeHandler(reader.GetFieldType(0));
+ outObject =
property.GetDataBaseValue(reader);
+ }
+ else if (reader.FieldCount > 1)
+ {
+ object[] newOutObject = new
object[reader.FieldCount];
+
+ for (int i = 0; i <
reader.FieldCount; i++)
+ {
+ ResultProperty property
= new ResultProperty();
+ property.PropertyName =
"value";
+ property.ColumnIndex =
i;
+ property.TypeHandler =
_sqlMap.TypeHandlerFactory.GetTypeHandler(reader.GetFieldType(i));
+ newOutObject[i] =
property.GetDataBaseValue(reader);
+ }
+
+ outObject = newOutObject;
+ }
+ else
+ {
+ // do nothing if 0 fields
}
}
}